운영체제/CPU 스케줄링
-
알고리즘의 평가운영체제/CPU 스케줄링 2018. 2. 3. 18:26
특정 시스템을 위한 알고리즘을 선택하는 기준 결정론적 모델링사전에 정의된 특정한 작업 부하를 받아들여 그 작업 부하에 대한 각 알고리즘의 성능을 정의하고 각 알고리즘에 대해 최소의 평균 대기시간을 계산한다.결정론적 모델링은 단순하고 빠르지만 입력으로 정확한 숫자를 요구하고 평가 결과도 이들 입력값에만 적용 시킬 수 있다. 큐잉 모델프로세스의 도착 시간, CPU와 입출력 버스트 들을 확률적인 분포로 기술하고 이들 분포로부터 평균 처리량, 이용률, 대기 시간들을 계산한다.시스템이 안정적이라면 큐를 떠나는 프로세스의 수는 도착하는 프로세스의 수와 같아야 한다. 모의 실험컴퓨터 시스템 모델을 프로그래밍한다. 구현실제 운영 환경 하에서 평가를 위하여 시스템에 실제 알고리즘을 삽입하여 실행높은 비용과 위험성이 요구됨
-
실시간 CPU 스케줄링운영체제/CPU 스케줄링 2018. 2. 3. 18:23
실시간 운영체제에서 CPU를 스케줄링 할 때에는 특별한 쟁점을 고려해야 한다.일반적으로 연성 실시간 시스템과 경성 실시간 시스템으로 구분한다. 연성 실시간 시스템 : 중요한 실시간 프로세스가 스케줄 되는 시점에 관해 아무런 보장을 하지 않는다.경성 실시간 시스템 : 태스크는 반드시 마감시간까지 서비스를 받아야 하며 마감 시간이 지난 이후에 서비스를 받는 것은 서비스를 전혀 받지 않는 것과 동일한 결과를 낳는다. 지연 시간 최소화사건 지연 시간은 사건이 발생해서 그에 맞는 서비스가 수행될 때까지의 시간을 말한다.인터럽트 지연시간은 CPU에 인터럽트가 발생한 시점부터 해당 인터럽트 처리 루틴이 시작하기까지의 시간을 말한다.디스패치 지연시간은 현재 프로세스가 CPU에서 물러나고 다른 프로세스를 스케줄 하는 시..
-
다중 처리기 스케줄링운영체제/CPU 스케줄링 2018. 2. 3. 18:20
여러 개의 CPU가 있는 다중 처리기에서 스케줄링은 더욱 복잡해지지만 부하 공유가 가능해진다. 다중 처리기 스케줄링에 대한 접근 방법하나의 처리기가 모든 스케줄링 결정과 입출력 처리 그리고 다른 시스템의 활동을 취급하게 하는 것을 비대칭 다중 처리라고 한다.비대칭 다중 처리는 자료 공유의 필요성을 배제하기 때문에 간단하다.대칭 다중처리 에서는 각 처리기가 독자적으로 스케줄링 하며 스케줄링은 각 처리기의 스케줄러가 준비 완료 큐를 검사하여 실행할 프로세스를 선택한다. 처리기 친화성대칭 다중처리 시스템은 한 처리기에서 다른 처리기로의 이주를 피하고 같은 처리기에서 프로세스를 실행시키려고 한다. 이 현상을 처리기 친화성이라고 한다. 약한 친화성 : 운영체제가 동일한 처리기에서 프로세스를 실행하려고 노력하는 정..
-
-
기본 개념운영체제/CPU 스케줄링 2018. 2. 3. 17:51
다중 프로그래밍의 목적은 CPU 이용률을 최대화하기 위해 항상 실행중인 프로세스를 가지게 하는 데 있다.어떤 프로세스가 대기하고 있을 경우 운영체제는 CPU를 그 프로세스로부터 회수해 다른 프로세스에게 할당한다.CPU는 시스템에서 중요한 자원이기 때문에 CPU의 스케줄링은 운영체제 설계의 핵심이 된다. CPU 입출력 버스트 사이클프로세스 실행시 CPU버스트와 입출력 버스트가 번갈아가며 발생한다. CPU스케줄러CPU에 프로세스가 없을 때마다 운영체제는 준비 완료 큐에 있는 프로세스들 중에서 하나를 선택하여 실행한다.선택 절차는 단기 스케줄러에 의해 수행된다. 선점 스케줄링CPU 스케줄링 결정은 다음의 네 가지 상황 하에서 발생한다.1. 한 프로세스가 실행 상태에서 대기 상태로 전환될 때2. 프로세스가 실행..