process scheduling - 1

Jeong seulho·2023년 1월 22일
0

운영체제

목록 보기
7/35

📌다중 프로그래밍

  • 스케줄링 : 하나의 시스템에 여러개의 프로세스 중 자원을 할당 할 프로세스를 선택 하는 것
  • 자원관리
    1. 시간분할 관리 : 하나의 자원을 여러 스레드들이 번갈아 가며 사용
      • ex) 프로세스 스케줄링을 사용한 프로세서
      • 프로세스 스케줄링 : 프로세서 사용시간을 프로세스들에게 분배
    2. 공간분할 관리 : 하나의 자원을 분할하며 동시에 사용
      • ex) 메모리

📌스케줄링의 목적

  • 시스템의 성능 향상에 목적이 있다.
  • 시스템의 성능 지표
    1. 응답시간 : 작업요청으로부터 응답까지의 시간
    2. 작업처리량 : 단위 시간동안 완료된 작업 수
    3. 자원 활용도(resource utilization) : 주어진시간(Tc)동안 자원이 활용된시간(Tr)의 비율 Tr/Tc

💻용어 정의

📌스케줄링 기법 선택 기준

  • 프로세스의 특성 : I/O bounded / compute-bounded
  • 시스템 특성 : batch system / interactive sysmtem
  • 프로세스의 긴급성 : real-time / non-real-time
  • 프로세스 우선순위

❓I/O bounded 와 compute-bounded란?

  • 프로세스 수행은 CPU burst와 I/O burst의 반복
  • I/O bounded : I/O burst가 더 긴 경우
    • I/O burst : I/O 대기시간(또는 사용시간)
  • compute-bounded : CPU burst가 더 긴 경우
    • CPU burst : CPU 사용시간

📌스케줄 단계(빈도에 따라 구분)

📖 Long-term scheduling

  • job scheduling(시스템에 제출 할 job 결정)
  • 시스템내의 프로세스 수 조절
  • I/O bounded와 computed bounded의 비율을 적절히 선택해야함
  • 시분할 시스템에서는 모든 작업을 시스템에 등록하므로 덜 중요

📖 mid-term scheduling

  • 메모리 할당 결정(suspend ready => ready로 가는 swapping)

📖 short-term scheduling

  • process scheduling(프로세서를 할당할 프로세스를 결정)
  • 가장 빈번하게 발생하므로 가장 중요하고 빨라야함

📌스케줄 방법

📖 선점 스케줄링

  • preemptive scheduling
  • 타의에 의해 자원을 빼앗길 수 있다.
    • ex) 할당 시간 종료, 우선순위가 높은 프로세스 등장
  • 응답성이 높아짐
    • 시분할 시스템, real-time system에 적합
  • context switch overhead가 크다

📖 비선점 스케줄링

  • non-preemptive scheduling
  • 할당받을 자원을 스스로 반납할 때까지 사용
  • 응답성 낮음, context switch overhead 작음

📖 정적 우선순위

  • static priority
  • 프로세스 생성시 결정된 priority가 유지
  • 구현이 쉽고, over head가 적음
  • 환경 변화에 대응 어려움

📖 동적 우선순위

  • dynamic priorty
  • 프로세스의 상태 변화에 따라 priorty가 변경
  • 구현 복잡, priorty 재계산으로 overhead가 큼
  • 시스템 환경 변화에 대응

📮출처 : https://www.youtube.com/watch?v=hzXVQIlSSos&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN

0개의 댓글