기출
커널, 쉘 문제
스케줄링 *** sjf
가상기억장치 특징 **
내,외부 단편화 문제**
준비-> 실행 : 디스패칭
실행-> 준비 ( time out )
실행-> 대기 (블락)
대기-> 준비 ( wake-up )
프로세스와 쓰레드 차이
선점 vs 비선점
선점: 서로 뺏음.( RR, SRT, 다단계 큐)
비선점 : 하나가 끝날 떄 까지 빼앗지 않음.(FIFO, SJF, HRN, 우선순위)
1. 비선점 기법
1) FIFO (First In First Out) = FCFS (First-Come First-Served)
: 준비 큐에 맨 처음 오는 프로세스를 맨 처음에 실행
응답시간 차가 적어 예측이 쉬움
구현은 가장 쉽지만, 효율성이 많이 떨어진다.
2) SJF (Shortest Job First)
: 대기 중인 작업 중 수행시간이 가장 적은 프로세스에 CPU를 할당하는 기법
평균 대기 시간 최소화// 각 프로세스의 CPU 요구시간 알기 어려움
3) HRN (Highest Response Ratio - next)
: SJF 기법의 약점 ‘긴 작업과 짧은 작업의 지나친 불평등’ 을 보완한 기법
응답률= (대기 시간+ 실행 시간)/ 실행 시간
4) 우선순위 (Priority)
: 준비상태 큐에서 대기중인 각 프로세스마다 우선 순위를 부여
-> 우선 순위가 가장 높은 프로세스에 먼저 CPU를 할당
우선 순위가 같을 경우 FIFO 또는 SJF를 도입
5) 기한부 (Deadline)
: 프로세스에게 일정한 시간을 주고 그 시간 안에 완료하도록 하는 기법
2. 선점 기법
1) RR (Round Robin)
: FCFS + 선점 방식
FCFS 기법과 같이 준비상태 큐에 먼저 들어온 프로세스가 먼저 CPU를 할당받음
//시간을 할당해서 할당시간 종료 후 완료하지 못하면 폐기
우선순위의 형평성을 위해 타임 슬라이스 or 시간 할당량에 의해 시간 제한을 받음
- 시간할당량이 클 경우: FIFO 스케줄링 방법과 차이 X
- 시간할당량이 작을 경우: 문맥교환 오버헤드가 상대적 ↑
2) SRT (Shortest Remaining Time)
: SJF + 선점 방식
준비상태 큐에 새로 도착한 프로세스의 실행 시간과 현재 실행중인 프로세스의 남은 시간을 비교, 수행시간이 적은 프로세스에 CPU를 할당하는 기법
3) 다단계 큐 (Multi Level Queue)
: 프로세스를 특정 그룹으로 분류할 수 있을 경우
그룹에 따라 각기 다른 준비상태 큐를사용, 큐 사이에 우선순위를 부여하는 기법
4) 다단계 피드백 큐 (Multi Level Feedback Queue)
: 특정 그룹의 준비상태 큐에 들어간 프로세스가 다른 준비상태 큐로 이동할 수 없는 다 단계 큐 기법을
준비상태 큐 사이를 이동할 수 있도록 개선한 기법, 다양한 특성의 작업이 혼합된 경우 매우 유용
예시는 교재 보기.
알고,리즘 기법.
FIFO LRU,
페이징 - 고정 // 내부단편화 발생
세그먼테이션 - 가변 // 외부단편화 발생
https://m.blog.naver.com/rbdi3222/220623825770
단편화( 남은 공간)
내부 단편화는 메모리를 쓰고 아깝게 남는 공간.
외부 단편화는 메모리를 쓰지 못하고 조각나 있는 총 공간들.
내부단편화
외부 단편화