달력

5

« 2024/5 »

  • 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
Proportional Share 스케줄러는 모든 응용들에게 T개의 시간 지분을 할당하여 동작한다. 한개의 응용이 N개의 시간 지분을 할당 받으면, 그 응용은 모든 프로세스 시간중 N/T 시간을 할당받게 된다. 예를들어, T = 100인 시간 지분이 있다고 봤을 때, A가 50 B가 15, C 20이면 Proportional Share 스케줄링 기법은 A가 모든 처리기 시간의 50%, B 15% C 20%를 할당받는 것이다. 

Proportional share 스케줄러는 응용이 시간 지분을 할당받는 것을 보장하는 승인 제어정책과 함께 동작해야만 한다.
50+25+10 = 85개의 지분이 할당되었다. 새로운 프로세스 D가 30을 요구하면 승인 제어기는 D의 시스템 진입을 거부한다.

Pthread 스케줄링
실시간 스레드를 위하여 두 개의 스케줄링 클래스를 정의한다.
SCHED_FIFO
SCHED_RR

SCHED_FIFO는 FIFO큐를 사용하여 먼저 온 것을 먼저 서비스하는 정책에 따라서 쓰레드를 스케줄한다.
SCHED_RR(round -robine)은 같은 우선순위의 쓰레드들에게 시간 할당량을 제공하는 것을 제외하면 SCHED_FIFO와 비슷하다.

Pthread API는 스케줄링 정책에 관한 정보를 지정하고 얻어내는 두 개의 함수를 제공한다.
pthread_attr_getsced_policy(pthread_attr_t *attr, int *policy);
pthread_attr_setsched_policy(pthread_attr_t *attr , int policy);

* 인터럽트 지연 시간()
 - 해당 인터럽트 서비스 루틴을 사용하여 인터럽트를 처리하기 전에 현재 수행중인 프로세스의 상태를 저장해 놓아야만 한다.
- 인터럽트 지연 시간에 영향을 주는 요인 중 하나는 kernel object 구조체를 갱신하는 동안 인터럽트가 불가능하게 된다는 것이다.

*디스패처 지연 시간()
 - 스케줄링 디스패처가 하나의 프로세스를 봉쇄시키고 다른 프로세스를 시작하게 하는 데 걸리는 시간을 말한다.
 - 디스 패치 지연시간을 최소한 하는 방법은 선점형 커널이다.
  - 디스패치 지연 시간의 충돌단계는 다음의 두 가지 요소로 구성되어 있다.
  1. 커널에서 동작하는 프로세스에 대한 선점
  2. 높은 우선순위의 프로세스가 필요한 자원을 낮은 우선순위 프로세스가 방출

VxWorks 5.x
프로세스 : Wind 마이크로커널은 프로세스와 쓰레드를 제공한다. 모두 태스크라 부른다.
스케줄링 : SCHED_RR, 선점형 두 개의 스케줄링 모델을 제공한다.
인터럽트 : 
IPC(interprocess communication) : Wind마이크로 커널은 두 개의 분리된 태스크 사이의 통신을 위한 매커니즘으로 메모리 공유 기법과 메시지 전달 기법을 모두 제공한다.

'OS이야기' 카테고리의 다른 글

삽입정렬  (0) 2011.10.11
커널 시작 과정  (0) 2011.09.22
OS이야기 - 분산 조정  (1) 2010.07.27
OS이야기 - 분산 조정  (0) 2010.07.26
Operating system concepts - 입출력 시스템  (0) 2010.07.22
:
Posted by НooпeУ


Code Start Code End