일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 배경 그림
- Unity #Indie Game
- pdlc
- 유니티
- STCF
- Rr
- Race condition
- linear difference equation
- 언리얼엔진
- Double free
- sampling theory
- ret2libc
- 운영체제
- stride
- 메카님
- frequency-domain spectrum analysis
- MAC
- Security
- 유스케이스
- DP
- AINCAA
- dirty cow
- TSet
- RBAC
- dtft
- 게임 개발
- DSP
- CTF
- MLFQ
- 게임개발
- Today
- Total
다양한 기록
가상화, 병행성, 영속성 본문
https://pages.cs.wisc.edu/~remzi/OSTEP/
운영체제 - 쓰기 편한 방식으로 정확하고 효율적으로, 메모리 공유, 장치 상호작용, 등등을 해줌
Virtualizing the CPU
viretualization: 물리적인 리소스(프로세서, 메모리 --)를 가상화해서 쓰기 편하게 해줌
그래서 간혹 운영 체제를 버츄얼 머신이라고 부름
버츄얼 머신으로서의 특징을 나타내려면 인터페이스가 필요: 시스템 콜
=> OS는 표준 라이브러리를 제공
리소스 매니저: 운영체제는 리소스 할당도 함
시스템 콜 Spin(1) -> 1초 세고 리턴
스핀 1개씩 넣고 같은 함수 여러 개로 출력 실험 -> 싱글 프로세서에서 동시에 출력됨
=> virtualizing CPU, 프로세서가 하나여도 무한히 있는 것처럼 프로그램들을 작동시킴
특정 시간에 두 프로그램이 있으면 뭘 먼저 처리하지? < OS 정책에 따라
정책은 다양한 상황에서 사용됨. 기법에 대해 배우면서 알아볼 것.
이러한 역할을 하기에 리소스 매니저이다.
Virtualizing memory
프로세스는 유니크한 PID를 가지고 있으며, 프로세스는 독립적으로 실행된다.
동시에 여러 프로세스가 포인터가 가리키는 게 같은 곳인 것 같아도 가상화 되어 있어서 실제로는 독립적임
Concurrency
OS는 여러 프로그램 저글링 중..
멀티스레딩 하고 있을 때, 레지스터에서 로드하고 더하고 저장하고 하는 작업이 한번에 실행되는 게 아님
멀티스레딩으로 인해 값이 이상하게 바뀌는 경우가 있을 수 있음
Persistence
데이터를 잃어버리면 안됨.
애플리케이션을 위해서 추상화를 하는 건 아니고, 대신 파일의 정보를 공유함
파일 시스템은 크래시 방지를 위해 바로바로 쓰지 않고 쓰기 프로토콜을 모아두고 조심히 처리함
목표: OS 부하 최소화, 애플리케이션 간 protection, reliability, 에너지 효율성, 보안, mobility
시스템 콜 - 하드웨어 권한 레벨 - 커널 모드
프로시저 콜 - 유저 모드
'운영체제' 카테고리의 다른 글
스케줄링 과정 그려보기, ART, ATT (0) | 2024.03.26 |
---|---|
MLFQ (Multi-Level Feedback Queue) (0) | 2024.03.25 |
스케줄링과 그 방법: FIFO, SJF, STCF, RR / Busy Waiting, Sleeping (0) | 2024.03.24 |
제한된 직접 수행: restrict operation / context switching (0) | 2024.03.18 |
프로세스와 프로세스의 상태 (0) | 2024.03.17 |