프로세스란?
- 실행중인 프로그램
CPU 가상화란?
- 믈리적으로 하나 존재하는 CPU를 다양한 프로세스와 공유함으로써 마치 하나의 프로세스가 하나의 CPU를 할당 받은 것과 같은 illusion을 만들어내는 것
- Low Level에서의 Mechanism과 Higher Level에서의 Policy(프로세스 스케줄링 등)가 결합하여 OS 단에서 CPU virtualizing을 실현
4.1 The Abstraction : A Process
- 프로세스 구성 : 메모리, 레지스터
4.2 Process API
- Create : 프로세스 생성
- Destroy : 프로세스 종료
- Wait : 프로세스 중지
- etc
4.3 Process Creation : A Little More Detail
- 프로세스는 실행 중인 프로그램. 그렇다면 프로그램 --> 프로세스 ..how?
- 디스크에 존재하는 프로그램 상에 있는 정적 변수(static), 코드 등을 메모리에 로드
- 코드와 static 변수 로드 후에는 스택 할당(for 지역변수, 함수 파라미터, 함수 반환값 등을 저장)
- 즉, OS는 이런 메모리를 할당하고 프로세스에게 던져주는 역할을 함
- heap 영역과 I/O 작업을 위한 setup
--> 이런 일련의 과정 후에 프로그램은 executable한 상태가 되고, CPU를 할당받아 실행을 시작하게 된다.
4.4 Process States
- Running / Ready / Blocked
-출처-
<OPERATING SYSTEMS three easy pieces>
REMZI H. ARPACI-DUSSEAU
ANDREA C. ARPACI-DUSSEAU
UNIVERSITY OF WISCONSIN-MADISON
'CS > 운영체제' 카테고리의 다른 글
8. Scheduling : The Multi-Level Feedback Queue (0) | 2019.11.04 |
---|---|
7. Scheduling : Introduction (0) | 2019.11.04 |
6. Mechanism : Limited Direct Execution (0) | 2019.11.02 |
5. Interlude : Process API (0) | 2019.10.31 |
2. Introduction to Operating Systems (0) | 2019.10.31 |
댓글