Post

프로세스 관리, 스케쥴링, 유휴 상태


컴퓨터 구조

컴퓨터 구조를 공부하면서 알게된 내용을 요약해서 작성해보자.

프로세스 관리와 스케쥴링

  • 프로그램이 메모리에서 실행되면 프로세스 형태로 존재하고, 프로세스가 생성되면 운영 체제가 관리하고 스케쥴링 한다.
  • 은행의 업무 공간은 운영 체제의 가장 핵심적인 부분인 프로세스 관리와 스케쥴링을 반영하고 있다.
    • 누구나 은행에 가면 줄을 서야 한다.
    • 대부분 일반 고객이지만, 은행에 큰 금액을 저축하면 VIP 고객이 될 것이다.
    • VIP 고객이 되면 줄을 설 필요 없이 별도 공간에서 최우선적으로 업무를 처리할 수 있다.
  • 프로세스는 운영 체제의 대기열로 관리된다.

유휴 상태와 CPU의 저전력

  • 스케줄링 가능한 프로세스가 더 이상 존재하지 않으면 스케쥴러가 유휴 프로세스를 실행한다.

인터럽트

  • 컴퓨터 운영 체제는 일정 시간마다 타이머 인터럽트를 생성하고, CPU는 인터럽트 신호를 감지하고, 운영 체제 내부의 인터럽트 처리 프로그램을 실행한다. 상응하는 인터럽트 처리 함수에서는 프로세스가 실행될 준비가 되었는지 판단하고, 준비가 되었다면 중단되었던 프로세스를 계속 실행한다. 준비되어 있지 않았다면 프로세스를 일시 중지시키고, 스케쥴러는 준비 완료 상태인 다른 프로세스를 스케줄링한다.
  • 유휴 프로세스가 타이머 인터럽트로 일시 중지되면 인터럽트 처리 함수는 시스템에 준비 완료된 프로세스가 있는지 확인하고, 없다면 유휴 프로세서를 계속 실행한다.
  • 프로그램에 무한 순환이 있더라도 운영 체제는 여전히 타이머 인터럽트를 통해 프로세스의 스케줄링을 제어할 수 있다.