본문 바로가기

운영체제 (이화여대 반효경)

운영체제 강의 13

1. CPU와 I/O bursts

 

 

✓ CPU burst : 한번에 CPU를 연속적으로 쓰는 시간

✓ CPU bound job : CPU를 많이 쓰는 프로그램

✓ I/O bound job : I/O를 많이 쓰고, CPU를 적게 쓰는 프로그램; 주로 사람과의 interaction하는 프로그램이 속함

                              CPU를 빠르게 주는게 좋음

 

⌾ 여러 종류의 job(=process)이 섞여 있기 때문에 CPU 스케줄링이 필요하다

 

2. 프로세스의 특성 분류

I/O-bound process : CPU를 잡고 계산하는 시간보다 I/O에 많은 시간이 필요한 job

                                         (many short CPU bursts)

 

CPU-bound process : 계산 위주의 job

                                          (few very long CPU bursts)

 

3. CPU Scheduler & Dispatcher

📌 CPU Scheduler : Ready 상태의 프로세스 중에서 이번에 CPU를 줄 프로세스를 고른다

📌 Dispatcher : CPU의 제어권을 CPU scheduler에 의해 선택된 프로세스에게 넘긴다

                           이 과정을 context switch(문맥 교환)라고 한다

 

📌 CPU 스케줄링이 필요한 경우는 프로세스에게 다음과 같은 상태 변화가 있는 경우이다

         1. Running → Blocked (예: I/O 요청하는 시스템 콜)

         2. Terminate

         3. Running→ Ready (예: 할당시간만료로 timer interrupt)

         4. Blocked → Ready (예: I/O 완료후 언터럽트)

 

• 1,2에서의 스케줄링은 nonpreemptive (=강제로 빼앗지 않고 자진 반납)

• 다른 모든 스케줄링은 preemptive (=강제로 빼앗음)

 

4. Scheduling Criteria

• CPU utilization (이용률)

• Throughput (처리량)

Turnaround time (소요시간, 반환시간) : CPU를 사용한 시간 + CPU를 기다린 시간

Waiting time (대기 시간) : 기다린 전체 시간

Response time (응답 시간) : CPU를 사용하러 들어와서 최초로 CPU를 얻기까지 걸린 시간

'운영체제 (이화여대 반효경)' 카테고리의 다른 글

운영체제 강의 15  (0) 2021.07.14
운영체제 강의 14  (0) 2021.07.14
운영체제 강의 12  (0) 2021.07.13
운영체제 강의 11  (0) 2021.07.13
운영체제 강의 10  (0) 2021.07.13