본문 바로가기

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

운영체제 강의 9

1. 스케줄러 (Scheduler)

📌 Long-term scheduler (장기 스케줄러 or job scheduler)

         ✓ 시작 프로세스 중 어떤 것들을 ready queue로 보낼지 결정

         ✓ 프로세스에 memory(및 각종 자원)을 주는 문제

         ✓ degree of Multiprogramming을 제어

         ✓ time sharing system에는 보통 장기 스케줄러가 없음(무조건 ready)

 

📌 Short-term scheduler (단기 스케줄러 or CPU scheduler)

         ✓ 어떤 프로세스를 다음번에 running시킬지 결정

         ✓ 프로세스에 CPU를 주는 문제

         ✓ 충분히 빨라야 함 (millisecond 단위)

 

📌 Medium-Term Scheduler (중기 스케줄러 or Swapper)

         ✓ 여유 공간 마련을 위해 프로세스를 통째로 메모리에서 디스크로 쫓아냄

         ✓ 프로세스에게서 memory를 뺏는 문제

         ✓ degree of Multiprogramming을 제어

 

(메모리에 올라가 있는 프로그램의 수 : degree of Multiprogramming)

 

2. 프로세스의 상태 (Process State)

📌 프로세스의 상태

      ✓ Running : CPU를 잡고 instruction을 수행중인 상태

      ✓ Ready : CPU를 기다리는 상태(메모리 등 다른 조건을 모두 만족하고)

      ✓ Blocked (wait, sleep) : I/O 등의 event를 (스스로) 기다리는 상태

                                                 예) 디스크에서 file을 읽어와야 하는 경우

      ✓ Suspended (stopped) : 외부적인 이유로 프로세스의 수행이 정지된 상태

                                                   프로세스는 통째로 디스크에 swap out 된다

                                                   예) 사용자가 프로그램을 일시 정지시킨 경우 (break key)

                                                        시스템이 여러 이유로 프로세스를 잠시 중단시킴

                                                        (메모리에 너무 많은 프로세스가 올라와 있을 때)

 

• Blocked : 자신이 요청한 event가 만족되면 Ready

• Suspended : 외부에서 resume해 주어야 Active

 


 

❗️ suspended는 중기 스케줄러 때문에 생김

 

🔍 suspended와 blocked의 차이

suspended 외 3가지는 정지된 것이 아니라 프로세스가 계속 실행 중이다

suspended는 정지된 상태를 의미한다

 

 

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

운영체제 강의 11  (0) 2021.07.13
운영체제 강의 10  (0) 2021.07.13
운영체제 강의 8  (0) 2021.07.12
운영체제 강의 7  (0) 2021.07.12
운영체제 강의 6  (0) 2021.07.12