[OS] Lecture 5. Process Scheduling (1/4)

2022. 2. 5. 13:59·OS

다중 프로그래밍(multi-prgramming) 

- 여러 프로세스가 시스템에 존재

- 자원을 할당 할 프로세스 선택= 스케줄링

- 자원 관리

 

자원 관리

1. 시간 분할(time sharing) 관리

- 하나의 자원을 여러 스레드들이 번갈아 가며 사용. 예) 프로세서(CPU). CPU에는 한번에 하나의 프로세스

- ex) process scheduling 

 

2. 공간 분할(space sharing) 관리

- 하나의 자원을 분할하여 동시 사용

- ex) memory

 

스케줄링의 목적

- 성능 향상

- 목적에 맞는 지표를 고려하여 스케줄링 기법 선택

 

성능의 지표

- reponse time: 작업 요청으로부터 응답을 받을 때까지의 시간

- throughput(작업 처리량): 단위 시간 동안 완료된 작업의 수

- resource utilization(자원 활용도): 주어진 시간 동안 자원이 활용된 시간

 

스케줄링 기준(Criteria)

- 기준= 스케줄링 기법이 고려하는 항목(지표?) 

- 프로세스의 특성: I/O-bounded or compute-bounded

- 시스템 특성: Batch or Interactive system

- 프로세스 긴급성(urgency)

- 프로세스 우선순위(priority) 

 

CPU burst vs I/O burst

- burst time은 스케줄링의 중요 기준 중 하나

- CPU burst= CPU 사용 시간

- I/O burst= I/O 대기 시간

- 프로세스 수행=CPU 사용+ I/O 대기

- I/O-bounded= I/O burst > CPU burst. I/O burst가 프로세스 성능 결정

- compute-bounded= CPU burst > I/O burst. CPU burst가 프로세스 성능 결정

 


스케줄링 레벨(스케줄링 빈도로 구분)

1. Long-term scheduling

ex) Job-> created(프로그램-> 프로세스 생성)

2. Mid-term scheduling

ex) swap-in, swap-out(메모리 할당)

3. Short-term scheduling

ex) created->ready(CPU 할당) 

 


Scheduling Policy(정책)

1. 선점 vs 비선점

preemptive scheduling, Non-preemptive scheduling 

2. 우선순위 

priority

 

 

Non-preemptive scheduling(= 자원을 뺏을 수 X)

- 할당 받을 자원을 스스로 반납할 때까지 사용. 

- 장점: context-switching이 적음

- 단점: 평균 응답 시간 증가, 우선순위 역전 현상(우선순위가 높아도 앞에서 끝날 때까지 대기) 

 

Preemptive scheduling(= 자원을 뺏을 수 O)

- 장점: 응답성 높다. 

- ex) time-sharing system, real-time system 등에 적합

- 단점: 빈번한 context-switching-> overhead가 큼

 

Priority

프로세스의 중요도

1. static priority(정적 우선순위)

- 프로세스 생성시 우선순위 결정되고 불변

- 구현 쉽고, overhead 적음

- 시스템 환경 변화 대응 어려움

 

2. dynamic priority(동적 우선순위) 

- 프로세스 상태 변화에 따라 우선순위 변경

- 구현이 복잡. 우선순위 재계산-> overhead가 큼

- 시스템 환경 변화 유연 대응

 

 

'OS' 카테고리의 다른 글

[OS] Lecture 5. Process Scheduling (3/4) - SPN, SRTN, HRRN  (0) 2022.02.05
[OS] Lecture 5. Process Scheduling (2/4) - FCFS, RR  (0) 2022.02.05
[OS] Lecture 4. Thread management  (0) 2022.02.05
CPU, Main Memory(Primary Memory), Disk(Secondary Memory)  (0) 2022.02.02
[OS] Lecture 3. OS Process Management (2/2)  (0) 2022.01.31
'OS' 카테고리의 다른 글
  • [OS] Lecture 5. Process Scheduling (3/4) - SPN, SRTN, HRRN
  • [OS] Lecture 5. Process Scheduling (2/4) - FCFS, RR
  • [OS] Lecture 4. Thread management
  • CPU, Main Memory(Primary Memory), Disk(Secondary Memory)
사랑우주인
사랑우주인
  • 사랑우주인
    lovelyAlien
    사랑우주인
  • 전체
    오늘
    어제
  • 글쓰기
    관리
    • 분류 전체보기 (207)
      • Programming (4)
        • Spring (28)
        • Java (46)
        • JPA (2)
        • 디자인 패턴 (5)
        • 개발&아키텍처 (0)
      • Network (12)
      • OS (19)
      • Database (1)
      • Kubernetes (0)
      • Kafka (2)
      • Algorithm (49)
        • BaekJoon (1)
        • Programmers (19)
        • Algorithm (5)
        • Socar (2)
        • LeetCode (19)
      • Interview (2)
      • Issues (2)
      • DotJoin (1)
      • Git (4)
      • 독서 (3)
      • 끄적끄적 (1)
      • 외부활동 (26)
        • 항해플러스 (2)
        • JSCODE 네트워크 (19)
        • JSCODE 자바 (5)
      • SQL (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • GitHub
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    AuthenticationSuccessHandler
    algorithm
    clone graph
    @JsonProperty
    LinkedList
    socar
    Oauth2
    Reorder List
    Process
    운영체제
    wildcards
    추상화 클래스
    트랜잭션
    BFS
    RR
    runner 기법
    디자인 패턴
    제네릭
    OS
    rotting oranges
    JSCode
    Generic
    pacific atlantic water flow
    @JsonNaming
    Thread
    fcfs
    Climbing Stairs
    준영속 엔티티
    minimum number of arrows to burst balloons
    lower bounded wildcards
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.1
사랑우주인
[OS] Lecture 5. Process Scheduling (1/4)

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.