티스토리 뷰

프로세스 스케줄링(Process Scheduling)


운영체제가 여러개의 프로세스를 실행시키려고 할 때 하나의 프로세스에만 자원을 할당하면 나머지 프로세스가 제대로 동작하지 않을 수 있기 때문에 정해진 규칙에 맞게 자원을 할당하여 모든 프로세스가 지속적으로 동작할 수 있도록 한다. 이를 프로세스 스케줄링이라고 하며 자원할당정책에 따라 크게 비선점방식, 선점방식으로 나누어 설명할 수 있다.


비선점방식

어떤 프로세스가 cpu자원을 사용하고있을 때 다른 프로세스가 해당 자원을 빼앗아올 수 없도록 하는 정책.


FCFS(First Come First Service)

작업큐에 먼저 삽입된 순서대로 자원을 할당한다.


SJF(Short Jop First)

작업시간이 가장 짧은 순서대로 자원을 할당한다. 따라서 실행시간이 긴 프로세스는 무한대기에 빠질 수 있다.


HRN(Highest Response-raio Next)

SJF의 단점을 보완한 방법으로 우선순위 알고리즘으로 계산한 값이 큰 프로세스부터 실행



기한부

일정시간동안 프로세스가 완료되지 않으면 삭제하고 다시 실행한다.


우선순위

특정 규칙에 따라 미리 프로세스에 우선순위를 매겨서 그 순서대로 cpu자원을 할당한다.

SJF와 동일하게 낮은 우선순위를 받으면 무한대기에 빠질 수 있다.

선점방식

프로세스가 cpu자원을 사용하고있어도 다른 프로세스가 해당 자원을 빼앗아올 수 있다.(빼앗아온다기보다는 프로레스를 일시정지하고 다른 프로세스들을 실행시키는 것) 시분할 시스템에서 사용하는 방식이다.


RR(Round Robin)

프로세스의 종료 여부와 관계없이 일정시간 간격으로 돌아가면서 모든 프로세스를 실행한다.

시간간격이 짧으면 문맥교환이 자주 일어나고 오버헤드가 자주 발생한다.


SRT(Shortest Remaining Time)

실행중인 프로세스의 남은시간보다 대기중인 프로세스의 실행시간이 더 짧으면 대기중인 프로세스에게 자원을 할당한다.


다단계 큐

프로세스들을 특정 그룹으로 분류해서 다양한 스케줄링 방법을 사용하는 여러 작업큐로 할당한다.


다단계 피드백 큐

다단계 큐에서 큐에있는 프로세스가 다른 큐로 이동할 수 있도록 기능을 추가한것.


'Non-Programming > Computer' 카테고리의 다른 글

깃(Git) 용어 정리  (0) 2017.09.18
변복조란?  (0) 2017.02.25
오류 검출 코드 - 해밍코드(Hamming Code)  (14) 2017.02.19
IOCP의 기본 동작 원리  (0) 2017.02.10
OS : 가상 메모리(virtual memory)  (0) 2015.06.15
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함