(1) 선점형 스케줄링
: 실행중인 CPU를 강제로 '빼앗을' 수 있는 방식 ( 단점 : 오버헤드가 많이발생)
종류 : Round Robin , SRT, 다단계 큐 , 다단계 피드백 큐
(1-1) Round Robin(시간 단위)
-> 시간단위로 공정하게 부여하는 방법
(1-2) SRT( Shortest Remaining Time(SRT))
-> SJF(비선점) 을 선점으로 바꿔서 실행하는 방식
ex)
프로세스 | 도착시간 | 실행시간 | 반환시간(프로세스 끝난 시간 - 도착시간) | 대기시간 |
p1 | 0 | 8 | 17 | 9 |
p2 | 2 | 4 | 5 | 1 |
p3 | 6 | 1 | 1 | 0 |
p4 | 6 | 4 | 5 | 1 |
p1(0~2) | p2(2~4) | p3(4~5) | p2(5~7) | p4(7~11) | p1(11~17) |
(1-3) 다단계 큐 (특정그룹 분류 , 다른 준비 상태 큐)
우선순위 높음 준비상태 1 전부 CPU로 * 특정그룹의 준비상태 큐에 들어간 프로세스는 다른준비상태 큐로 못감
준비상태 2
준비상태 3
준비상태 4
우선순위 낮음
(1-4) 다단계 피드백 큐 (다단계큐 + 라운드 로빈 + 적응기법)
(2) 비선점형 스케줄링
종류 : FCFS, SJF,HRN,기한부
(2-1) FCFS(단점 : 효율성)
=> 먼저 도착 하는것이 먼저 처리 받는다
(2-2)SJF(Shortest Job First)
=> 실행시간 가장 짧은 것 먼저
=> '기아현상'
(2-3)HRN(Highest Response Ratio Next)
=> 우선순위대로 실행 ( 대기+실행시간/실행시간 => 우선순위)
=>'기아현상'
(2-4)기한부
=> 정해진 시간만 할당해주는 방식
TIP : 기아현상
<SRT 다단계큐>, <SJF HRN>
(3) 병행 프로세스 ( 두 개 이상의 프로세스가 동시에 존재하여 실행 상태에 있는것)
문제(사용순서,한정된 자원 등등)
해결책 :
임계구역 : 프로세스가 공유하는 데이터나 자원에 대해 한번에 하나의 프로세스만
상호배제 : 다른 프로세스가 사용하지못하게
종류 : 데커,피터슨,다익스트리,램포트베이커리 (알고리즘)
동기화: 권한,순서조정
종류: 세마포어(P->임계구역->S),모니터(모니터의 진입부에 호출해야만함)
(4) 교착상태
발생조건 (중요)
상호배제 : 한번에 한개 프로세스만
점유와 대기 : 자원을 점유 , 다른 프로세스 자원까지 요구
비선점 : 할당된 자원을 못뺏음
환형대기 : 순차적으로 요구하는 자원을 보유
해결책
예방기법
회피기법 : 은행원 알고리즘
발견기법 : 회복기법
'정보처리기사(3월18일)' 카테고리의 다른 글
정보처리기사 필기 끝! (0) | 2024.05.17 |
---|---|
5장 정보시스템 구축관리 (0) | 2024.05.08 |
4장 메모리관리 (2) | 2024.05.01 |
4장 운영체제 (0) | 2024.04.30 |
4장 프로그래밍 언어 활용 (0) | 2024.04.29 |