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에서는 지원하지 않는다. 




Posted by JJOREG