▶클릭◀ 암보험,실비보험 가입시 주의사항

 

▶클릭◀ 병원 약국에서 지출한 병원비 약값 최대 80% 보장받기

 

 

CPU 스케줄링은 준비완료 큐로부터 대기 중인 프로세스를 선택해 CPU를 한당하는 작업이다. CPU는 디스패처에 의해 선텍된 프로세스에게 할당된다.

선입 선처리(FCFS) 스케줄링은 가장 단순한 스케줄링 알고리즘이지만, 짧은 프로세스들이 매우 긴 프로세스들이 끝날 때가지 기다리야 하는 경우를 유발시킨다. 최소 자위우선(SJF) 스케줄링은 최적임이 증핑 기능하며, 가장 짧은 대기 시간을 제공한다. S.스케줄링을 구현하는 일은 이러운 데, 이는 다음 CPU 버스트의 길이를 예측하기 이립기 때문이다. SJF 알고리즘은 일반적인 우선순위 스케줄링 알고리즘의 특빌한 경우로 후자는 CPU를 단순히 최고 우선순위의 프로세스에게 할당한다. 우선순위와 SJF 스케줄링은 모두 기아 상태를 겪을 수 있다. 노화(aging)는 기아 상태를 예방하는 기법이다.

9라운드 로빈(RR) 스케줄링은 시분할(대화형) 시스템에 더 적합하다. 라운드 로빈 스케줄링은 준비완료 큐에 있는 첫 번째 프로세스에게 이 시간 단위 동안 CPU를 할당한다. 여기서 q는 시간 할당량이다. Q 시간 단위 이후에, 프로세스가 CPU를 양도하지 않았다면, CPU를 선점하고 프로세스는 준비완료 큐의 꼬리로 이동한다. 주요 문제는 시간 할당량을 선택하는 것이다. 시간 할당량이 너무 크면, 라운드 로빈 스케줄링은 선입 선처리 스케줄링으로 격하되고, 만약 시간 할당량이 너무 적으면, 문맥 교환 시간으로 나타나는 스케줄링 오버헤드가 지나치게 커진다.

선입 선처리 알고리즘은 비선점형이다. 라운드 로빈 알고리즘은 선점형이다. SJF와 우선순위 알고리즘은 선점형일 수도 있고 비선점형일 수도 있다.

다단계 큐 알고리즘들은 다양한 클래스의 프로세스들에 대해 상이한 알고리즘을 사용하도록 허용한다. 가장 보편적인 모델은 라운드 로빈 스케줄링을 사용하는 전위 대화형큐와 선입 선처리 스케줄링을 사용하는 후위 일괄처리 큐이다. 다단계 피드백 큐는 프로세스들을 한 큐에서 다른 큐로 이동하는 것을 허용한다.

현대의 많은 컴퓨터 시스템들은 다중처리기를 지원하고 각 처리기가 독립적으로 자신을 스케줄하게 한다. 통상 각 처리기는 자신의 프로세스 또는 스레드 큐를 유지하고 처리기 모두가 프로세스를 실행시킬 수 있다. 다중처리기와 관련된 추가적인 스케줄 쟁점은 처리기 친화성과 부하 균등, 다중코어 처리 및 가상화 시스템에서의 스케줄링을 포함한다.

스레드를 커널 차원에서 지원하는 운영체제는 프로세스가 아니라 - 스레드를 스케줄링해야 한다. Solaris와 Windows XP가 이에 해당한다. 두 운영체제는 실시간 스레드지원을 포함하여 우선순위에 기반을 둔 선점 방식으로 스레드를 스케줄한다. Linux 프로세스 스케줄러도 우선순위에 기반을 둔 스케줄링을 하며 실시간도 지원한다. 이들 세 운영체제의 스케줄링 알고리즘들은 모두 일괄처리이면서 계산 중심 프로세스보다 대화형 프로세스들을 우대한다.

스케줄링 알고리즘의 다양성 때문에 우리는 알고리즘들을 선택하기 위한 방법을 가질필요가 있다. 분석적 방법은 알고리즘의 성능을 결정하는 데 수학적 분석을 이용한다.모의실험 방법은 대표적인 견본이 되는 프로세스들에 대해 스케줄링 알고리즘을 흉내 내어 얻어지는 성능을 계산하여 결정한다. 그러나 모의실험은 기껏해야 실제 시스템의 근사치만을 알려줄 뿐이다. 스케줄링 알고리즘을 평가하는 유일하게 믿을 수 있는 방법은실제 시스템에 알고리즘을 구현하고 실세계 환경에서의 성능을 감시하는 것이다.

'컴퓨터 구조' 카테고리의 다른 글

교착상태에 대해서..  (0) 2022.04.17
프로세스 동기화에 대해서  (0) 2022.04.16
다중 스레드 프로그래밍  (0) 2022.04.16
프로세스의 일련 과정  (0) 2022.04.16
컴퓨터 시스템 구조에 대해서..  (0) 2022.04.16
본 광고는 광고심의기준을 준수하였으며, 유효기간은 심의일로부터 1년입니다.

+ Recent posts