Step-by-Step

[OS] 운영체제 스케줄러 본문

카테고리 없음

[OS] 운영체제 스케줄러

희주(KHJ) 2023. 11. 16. 17:43

운영체제 스케줄러

  • 여러 개의 프로그램을 동시에 실행되는 것처럼 보이게 하기 위해 규칙을 부여하는 것

 

 

프로세스 상태

  • New : 프로세스 생성
  • Running : CPU에서 명령이 실행되는 중
  • Waiting : 프로세스가 어떤 이벤트(입출력, Signal 등)가 발생하길 기다리는 중
  • Ready : 프로세스가 CPU에 할당되어 실행되기를 기다리는 중
  • Terminated : 프로세스 실행 종료

  • 운영체제 스케줄링 기법에 따라 단 1개만 Running 상태로 바뀔 수 있음
  • Running 상태가 되면 실제 CPU로 프로세스 수행
  • 외부 입출력(I/O)이나 이벤트가 발생했을 때, Running 상태에 있는 프로세스가 Waiting으로 이동함
  • Waiting에서 Ready로 이동한 것은 입출력이나 이벤트가 완료됨을 의미
  • exit은 Running 상태에 있던 프로세스 종료
  • Running <-> Ready : 운영체제는 멀티 태스킹, 멀티 프로세싱을 달성하게 됨

 

프로세스 제어 블록(Process Control Block, PCB)

  • 프로세스에 대한 모든 정보가 모여있는 곳
  • Task Control Block(TCB) 라고도 함
  • 프로세스 상태, 프로세스 번호(PID), 프로그램 카운터(PC), register 값, MMU 정보, CPU 점유 시간 등 포함

 

Comments