[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
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

  • 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 + /
⇧ + /

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