Scientia Conditorium

[혼공단] 혼자 공부하는 컴퓨터 구조+운영체제 / 혼공단 9기 - 4주차 본문

서평/IT-책

[혼공단] 혼자 공부하는 컴퓨터 구조+운영체제 / 혼공단 9기 - 4주차

크썸 2023. 2. 4. 20:48

[기본 미션] p.304의 확인 문제 1번 풀고 인증하기

프로세스 상태 5단계

  1. 생성 상태
    프로세스를 생성 중인 상태. 메모리에 적재되어 PCB를 할당받은 상태.
    생성 상태를 거쳐 실행할 준비가 완료된 프로세스 는곧바로 실행되지 않고 준비 상태가 되어 CPU의 할당을 기다림
  2. 준비 상태
    당장이라도 CPU를 할당받아 실행할 수 있지만, 아직 자신의 차례가 아니기에 기다리고 있는 상태
  3. 실행 상태
    CPU를 할당받아 실행 중인 상태. 실행 상태인 프로세스는 할당된 일정 시간 동안만 CPU를 사용할 수 있음.
    프로세스가 할당된 시간을 모두 사용하거나, 타이머 인터럽트가 발생하거나,
    실행 도중 입출력장치를 사용하여 입출력 장치의 작업이 끝날 때까지 기다려야 한다면 다시 준비 상태가 됨.
  4. 대기 상태
    입출력장치의 작업을 기다리는 상태(blocked)
  5. 종료 상태
    프로세스가 종료된 상태.
    프로세스가 종료되면 운영체제는 PCB와 프로세스가 사용한 메모리를 정리

 

 

[선택 미션] Ch.11(11-2) 준비 큐에 A, B, C, D 순으로 삽입될 때 선입 선처리, 최단 작업 우선, 라운드 로빈, 우선순위 스케줄링에서 어떤 프로세스로 CPU를 할당 받는지 정리해보기

  1. 선입 선처리 스케줄링 - First Come First Served Scheduling(FCFS)
    준비된 큐에 삽입된 순서대로 프로세스들을 처리하는 비선점형 스케줄링 방식
    CPU를 먼저 요청한 프로세스부터 CPU를 할당
    A, B, C, D 순으로 삽입된다면, A, B, C, D 순서대로 CPU를 할당받는다

  2. 최단 작업 우선 스케줄링 - Shortest Job First Scheduling(SJFS)
     준비된 큐에 삽입된 프로세스들 중 CPU 이용 시간의 길이가 가장 짧은 프로세스부터 실행하는 스케줄링 방식
    가령 A는 17ms, B는 5ms, C는 2ms, D는 10ms 정도의 실행시간이 걸린다고 가정했을 때,
    C, B, D, A 순서대로 CPU를 할당받아 작업을 실행한다

  3. 라운드 로빈 스케줄링 - Round Robin Scheduling(RRS)
    각 프로세스가 CPU를 사용할 수 있는 정해진 시간만큼을 돌아가며 사용하는 선점형 스케줄링 방식
    선입 선처리 스케줄링에 타임 슬라이스라는 개념이 더해진 방식
    정해진 시간을 모두 사용하였음에도 불구하고 아직 프로세스가 완료되지 않았다면 다시 큐의 맨 뒤에 삽입됨
    이 때, 문맥 교환(Context Switching)이 발생
    A는 17ms, B는 5ms, C는 2ms, D는 10ms 정도의 실행시간이 걸린다고 가정하고, 타임슬라이스가 4ms라고 했을 때,
    A, B, C, D, A, B, D, A, D, A 순서대로 CPU를 할당받게 된다

  4. 우선순위 스케줄링 - Priority Scheduling
    프로세스들에 우선순위를 부여하고, 가장 높은 우선순위를 가진 프로세스부터 실행하는 스케줄링 방식
    우선순위가 높은 프로세스를 우선하여 처리하는 방식이기에 우선순위가 낮은 프로세스는 먼저 준비 큐에 삽입되었음에도 불구하고 실행이 계속해서 연기될 수 있음 - 기아 현상(starvation)
    A, B, C, D의 우선순위가 각각 4, 3, 2, 1이라고 가정한다면, 준비 큐에 A, B, C, D 순서대로 입력되었더라도
    D, C, B, A 순서대로 CPU를 할당받아 실행된다.