1. 다중 프로그래밍
: 여러 프로그램을 메모리에 적재합니다.
: 프로세서(CPU)를 분할 사용하여 프로세스 효율성 향상시킵니다.
-> 프로세스들을 프로세서에 할당하는 일련의 과정
: 각 프로세스의 실행 여부를 결정하므로 시스템 성능에 영향을 미칩니다.
: 프로세스의 실행은 CPU 실행과 입출력 대기의 순환으로 구성됨
2. 프로세스의 종류
1) 입출력 중심 프로세스 : 대부분의 시간을 입출력에 소비
2) 프로세서(CPU) 중심 프로세스 : 대부분의 시간을 연산하는 데 소비
3. 스케줄러의 종류
1) 장기(작업) 스케줄러
: 프로세스의 생성 과정에서 프로세스의 준비 상태에 무엇을 추가할지 결정합니다.
2) 중기 스케줄러
: 작업의 혼합 개선 또는 메모리 가용량 증가를 위해 교체(Swapping) 작업을 합니다.
3) 단기(CPU) 스케줄러
: 미리 정해진 정책(알고리즘)에 따라 실행할 프로세스를 선택합니다.
4. 디스패처(Dispatcher)
: 문맥 교환을 수행하는 하드웨어 모듈입니다.
: 단기 스케줄러가 선택한 프로세스를 실질적으로 CPU에 할당합니다.
5. 다중 처리기 스케줄링
: 다중 프로세서 시스템의 스케줄링
: 동종 병렬컴퓨터와 이기종 분산컴퓨터로 구분 가능
: 여러 개의 CPU가 사용가능하면 스케줄링 문제는 더 복잡해집니다.
- 전역큐를 이용한 부하 공유 (Load Sharing)
: 쉬고 있는 프로세서는 전역큐에서 프로세스를 하나 선택합니다.
단점) 전역큐에 병목 현상이 발생할 수 있습니다.
6. 실시간 스케줄링(Real-time)
: 프로세스 수행이 데드라인 이전에 완료를 보장합니다.
: 데드라인을 만족하는지 여부를 사전에 측정합니다.
-> 최대 수행 완료 시간이 데드라인을 만족해야 합니다.
- 종류
1) 경성(hard) 실시간 시스템 : 실시간 작업들을 반드시 주어진 시간 내에 완료해야 함
2) 연성(soft) 실시간 시스템 : 실시간 작업들이 일정 수준 이상 주어진 시간 내에 완료해야 함
* 중요 *
5. 스케줄링 알고리즘 비교 기준
1) CPU 이용률
2) 처리량 또는 작업 처리율 : 단위 시간당 완료된 작업의 수
3) 총처리시간 또는 반환시간 : 기계에 진입한 시간과 완료한 시간의 차이
4) 대기시간 : 준비큐에서 대기하는 시간
5) 응답시간 또는 반응시간 : 요청을 제출하고부터 첫 번째 응답이 나올 때까지의 시간
'Computer Science > Operating System' 카테고리의 다른 글
이론 4) - 1 프로세스 동기화의 배경 (0) | 2020.10.21 |
---|---|
이론 3) - 2 스케줄링 알고리즘 (0) | 2020.10.18 |
이론 2) 쓰레드(thread) (0) | 2020.10.17 |
이론 1) 프로세스(Process), 스케줄링 (0) | 2020.10.16 |
1. 리눅스 설치하기 (0) | 2020.10.01 |