[운영체제] Chapter6. 교착 상태와 기아 상태

DongHyeon·2022년 8월 1일
0

운영체제

목록 보기
6/8

Chapter6. 교착 상태와 기아 상태


1 스케줄링의 이해


1-1 스케줄링의 개념

  • 스케줄링은 여러 프로세스가 번갈아 사용하는 자원을 어떤 시점에 어떤 프로세스에 할당할지 결정하는 것

1-2 스케줄링의 목적

  • 자원 할당의 공정성 보장
  • 단위시간당 처리량 최대화
  • 적절한 반환시간 보장
  • 예측 가능성 보장
  • 오버헤드 최소화
  • 자원 사용의 균형 유지
  • 반환시간과 자원의 활용 간에 균형 유지
  • 실행 대기 방지
  • 우선순위
  • 서비스 사용 기회 확대
  • 서비스 수 감소 방지

1-3 스케줄링의 단계

  • 1단계 작업 스케줄링 : 작업 선택
    • 실제로 시스템 자원을 사용할 작업을 결정하는 작업 스케줄링
    • 디스크에 있는 작업 중 프로세스화할 작업과 시스템에 들어갈 작업을 결정하므로 승인 스케줄링이라고도 한다.
  • 2단계 작업 승인과 프로세서 결정 스케줄링 : 사용 권한 부여
    • 프로세서를 사용할 권한을 부여할 프로세스를 결정하는 작업 승인과 프로세서 할당 스케줄링
    • 1단계 작업 스케줄링과 3단계 프로세서 할당 스케줄링의 완충 역할
    • 메모리 사용과 작업의 효율성을 향상시키는 스와핑 기능의 일부로 이해
  • 3단계 프로세서 할당 스케줄링 : 준비 상태의 프로세스에 프로세서 할당(디스패칭)
    • 디스패처가 준비 상태에 있는 프로세스 중에서 프로세서를 할당할 프로세스를 결정하는 프로세스 할당 스케줄링

1-4 스케줄링 큐


1-5 스케줄링과 스케줄러

  • 큐잉 도표


    1. 프로세스가 입출력 요청을 보내고 입출력 큐에 들어간다.
    2. 프로세스가 새로운 프로세스를 생성하고 생성한 프로세스의 종료를 기다린다.
    3. 프로세스가 시간 할당량을 초과하면 준비 큐에 들어간다.
    4. 인터럽트로 프로세서에서 제거된 프로세스는 다시 준비 큐에 들어간다.

  • 스케줄러의 종류와 역할
    • 장기 스케줄러(작업 스케줄러)
      • 스케줄링에 따라 디스크에서 메모리로 작업을 가져와 처리 순서를 결정
      • 작업 스케줄링에 필요한 정보로 제출 시간, 작업 이름, 작업 길이 등이 있음
    • 단기 스케줄러
      • 장기 스케줄러가 실행할 작업을 준비 큐에서 꺼내 메모리에 적재하면, 단기 스케줄러가 메모리의 준비 상태에 있는 프로세스 중에서 실행할 프로세스를 선택하여 프로세서를 할당
      • 디스패처를 포함할 수 있음

1-6 선점 스케줄링과 비선점 스케줄링

  • 한 프로세스가 자원을 선택했을 때 다르느 프로세스가 해당 자원을 빼앗을 수 없을 때 비선점 스케줄링.
  • 현재 실행중인 프로세스를 인터럽트할 수 있거나 준비 상태로 이동할 수 있다면 선점 스케줄링
  • 선점 스케줄링
    • 모든 프로세스에 프로세서를 서비스할 기회를 늘릴 수 있음
    • 우선순위가 높은 프로세스들이 긴급 처리를 요청할 때 유용
  • 비선점 스케줄링
    • 실행 시간이 짧은 프로세스가 실행 시간이 긴 프로세스를 기다리는 ㅐㄷ신 모든 프로세서를 공정하게 관리

1-7 스케줄링 알고리즘의 선택 기준

  • 프로세서 사용률
  • 처리율
  • 반환시간
  • 대기시간
  • 반응시간

2 스케줄링 알고리즘

  • 선입선처리 스케줄링
  • 최소작업 스케줄링
  • 우선순위 스케줄링
  • 라운드 로빈 스케줄링
  • 다단계 큐 스케줄링
  • 다단계 피드백 큐 스케줄링
  • HRN 스케줄링
  • 다중프로세서 스케줄링
  • 스레드 스케줄링

0개의 댓글