OS? RTOS? -------------------------------------------------------------------------------------------------
OS는 운영체제를 의미한다. 근데 앞쪽에 RT(Real Time)OS가 붙은 OS는 뭘까?
RTOS(Real Time)와 OS의 차이점은 응답성(응답속도)에 있다고 한다. 즉 일반적으로 RTOS가 일반 OS보다 더 빠른 시간안에 응답을 보내고 프로그램을 실행한다.
그럼 RTOS가 더 좋아보이지만 위의 말은 약간 잘못되어있다. 수정하자면 아래와 같다.
일반적으로 RTOS가 자신이 특화된 작업에 대하여 일반 OS보다 더 빠른 시간안에 응답을 보내고 프로그램을 실행한다.
로 고쳐야 한다. 특화된 작업목적에 있는 작업들은 빠르게 처리하지만 다른 작업에 있어서는 평균적인 속력도 못내는 경우가 존재한다.
선점형(Preemptive) OS 비선점형(Non - Preemptive) OS --------------------------------------------------------
비선점형 OS -> 여러개의 프로세스가 실행될때 높은 우선순위의 프로세스가 등장한다고 해서 실행의 대상을 바로 변경하지 않는다. 새로 등장한, 보다 높은 우선순위의 프로세스가 실행되기 위해서 현재 실행 중인 프로스세가 명시적으로 CPU를 양보할 때가지 혹은, I/O작업 등으로 블로킹 상태에 놓일 때까지 기다려야만 한다. 윈도우 3.X버전 등이 이에 속한다.
프로그래머가 자신이 개발한 프로그램이 CPU를 독점하지 않도록 신경을 써줘야 한다.
선점형 OS -> 단순하게 우선순위가 높은 프로세스가 먼저 실행된다고 생각하면 된다. 하지만 우선순위가 동일한 프로스세가 실행중이면 스케줄러가 적절히 시간을 나눠서 프로세스를 실행시킨다. 현재의 윈도우등이 이에 속한다.
스케줄러가 동작하는 시기 --------------------------------------------------------------------------------------
CASE 1 : 작업이 자원을 선점당하지 않고 쓸 수 있는 지정된 시간 간격.
CASE 2 : 프로세스가 생성 및 소멸될 때마다.
CASE 3 : 현재 실행 중인 프로세스가 블로킹 상태에 놓일 때마다.
프로세스의 우선순위 값 --------------------------------------------------------------------------------------
Priority | meaning |
IDLE_PRIORITY_CLASS | 기준 우선순위 4 |
NOMAL_PRIORITY_CLASS | 기준 우선순위 9 |
HIGH_PRIORITY_CLASS | 기준 우선순위 13 |
REALTIME_PRIORITY_CLASS | 기준 우선순위 24 |
ABOVE_NORMAL_PRIORITY_CLASS | NOMAL_PRIORITY_CLASS보다 높고 HIGH_PRIORITY_CLASS 보다 낮다. Windows NT and ME에서는 지원하지 않는다. |
BELOW_NORMAL_PRIORITY_CLASS | IDLE_PRIORITY_CLASS보다 높고 NOMAL_PRIORITY_CLASS보다 낮다. Windows NT and ME에서는 지원하지 않는다. |
'게임개발공부 > 서적공부' 카테고리의 다른 글
윈도우 시스템 프로그래밍 <쓰레드의 진실> (0) | 2013.11.16 |
---|---|
윈도우 시스템 프로그래밍 <쓰레드!> (0) | 2013.11.16 |
윈도우 시스템 프로그래밍 < IPC 프로세스간 통신 > (0) | 2013.11.16 |
윈도우 시스템 프로그래밍 <커널오브젝트> (0) | 2013.11.16 |
윈도우 시스템 프로그래밍 <프로세스의 생성> (0) | 2013.11.16 |