출처: https://3months.tistory.com/307 [Deep Play]

3-2/운영체제

Process

코딩하는 랄뚜기 2021. 9. 3. 19:40

CPU virtualizing 

운영체제가 여러가지 가상 CPU들이 존재하는 것 처럼 보이게 하는 것을 말한다.

 

Process 구성요소

Memory( address space )

- Instructions

- Data section

Registers

- Program counter

- Stack pointer

 

Process API

Create - 새로운 process를 만든다.

Destroy - process를 중단한다.

Wait - 돌아가는 것을 멈추기 위해 다른 process를 기다림

Miscellaneous Control - process를 중단했다가 재개하는 기능

Status - process 상태를 가져옴.

 

Loading:From Program To Process

 

디스크에서 파일을 읽어 Loaing하는 과정

Process State Transition

Example

운영체제가 p1,p2를 읽고 Instruction들을 DRAM에 저장하고 time scheduler가 우선순위를 p1을 먼저 실행하는 것으로 판단 하였을 때 위의 그림과 같이 나오게 된다. 

Point counter가 Instruction을 읽다가 I/O request를 만나게 되면 I/O는 시간이 오래 걸리므로 time scheduler가 interrupt를 걸어 p1을 blocked해준다. 

 

time scheduler는 p2를 앞당기고 실행시킨다. SSD카드에서는 filepointer에 주소를 할당해주기 위해 DMA(Direct Memory Access)가 주소를 찾고 있는 중이다.

 

SSD카드가 주소를 filepointer에 할당 했으면 interrupt를 걸고 p1,p2 모두 ready 상태가 된다. 

time scheduler는 p1을 우선으로 실행할 것으로 결정하고 다시 p1이 running된다.

'3-2 > 운영체제' 카테고리의 다른 글

Multiprocessor Scheduling  (0) 2021.09.24
Scheduling:The Multi-Level Feedback Queue  (0) 2021.09.17
Scheduling:Introduction  (0) 2021.09.17
Mechanism:Limited Direct Execution  (0) 2021.09.10
Process API  (0) 2021.09.09