일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- core data
- scrollview
- 동기화
- struct
- @state
- 데드락
- UserDefaults
- decode
- IOS
- 비동기
- Linked List
- 인프런
- deadlock
- 알고리즘
- 프로세스 스케줄링
- Apple Developer Academy
- Swift
- 오브젝트
- SwiftUI
- COLOR
- 동시성
- async
- Codable
- Algorithm
- 100 days of SwiftUI
- 운영체제
- 앨런
- forEach
- 가상 메모리
- 상호배제
Archives
- Today
- Total
기어가더라도 제대로
[운영체제 - 김덕수 교수님] 프로세스 스케쥴링 (4/4) - MLQ, MFQ 본문
- 시스템의 성능과 효율성을 높이는 것은 좋으나
- 실행 시간을 예측하는 것이 힘드니 대안으로
- MLQ, MFQ 가 나왔다.
MLQ(Multi-level Queue)
- 작업(or 우선순위) 별 별도의 ready queue를 가짐
- 최초 배정 된 큐를 벗어나지 못함
- 각각의 큐는 자신만의 스케줄링 기법 사용
- 큐 사이에는 우선순위 기반의 스케줄링 사용
- fixed-priority preemptive scheduling
- 장점
- 빠른 응답시간(?)
- 단점
- 여러 개의 큐 관리 등 스케줄링 오버헤드
- 우선순위가 낮은 큐는 기아현상 발생 가능
MFQ(Multi level Feedback queue)
- 프로세스의 큐간 이동이 허용된 MLQ
- Feedback을 통해 우선 우선 순위 조정
- 현재까지의 프로세서 사용 정보(패턴) 활용
- 특성
- Dynamic priority
- Preemptive scheduling
- Favor short burst-time processes
- favor I/O bounded processes
- improve adaptability
- 프로세스에 대한 사전 정보 없이 SPN, SRTN, HRRN 기법의 효과를 볼 수 있음
- 단점
- 우선 순위가 낮은 큐는 어차피 오래 걸림(starvation) - 최초 피드백을 받지 못하기 때문
- 설계 및 구현이 복잡, 스케줄링 오버헤드가 큼
- 변형
- 각 준비 큐마다 시간 할당량을 다르게 배정
- 프로세스의 특성에 맞는 형태로 시스템 운영 가능
- 입출력 위주 프로세스들을 상위 단계의 큐로 이동, 우선순위 높임
- 프로세스가 block될 때 상위의 준비 큐로 진입하게 함
- i/o-bounded는 cpu 를 잠깐만 쓰기때문에
- compute-bounded는 상대적으로 우선순위에서 밀려남
- 시스템 전체의 평균 응답 시간 줄임, 입출력 작업 분산 시킴
- 프로세스가 block될 때 상위의 준비 큐로 진입하게 함
- 대기 시간이 지정된 시간을 초과한 프로세스들을 상위 큐로 이동
- 에이징 기법(aging)
- 각 준비 큐마다 시간 할당량을 다르게 배정
'CS > 운영체제' 카테고리의 다른 글
[운영체제-김덕수 교수님]프로세스 동기화 & 상호배제(2/7) (0) | 2022.08.01 |
---|---|
[운영체제 - 김덕수 교수님]프로세스 동기화 & 상호배제(1/7) (0) | 2022.08.01 |
[운영체제-김덕수 교수님] 프로세스 스케쥴링 (3/4) - SPN, STRN, RR (0) | 2022.07.31 |
[운영체제 -김덕수 교수님] 프로세스 스케쥴링 (2/4) - FCFS, RR (0) | 2022.07.31 |
[운영체제- 김덕수 교수님] 프로세스 스케줄링 (1/4) (0) | 2022.07.31 |
Comments