Task
 
그 자신이 CPU를 혼자 점유한다고 생각하는 하나의 프로그램
각 task는 기본적으로 priority, status 정보, 그리고 stack 영역을 가지고 있으며, 이 정보들은 TCB (Task Control Block)라는 곳에 저장된다
각 task마다 독립된 TCB를 가짐
 

Multitasking
 
여러 task들간의 CPU time scheduling과 switching을 하며 처리하는 과정
하나의 CPU가 task들간을 옮겨 다니며 관리
CPU의 활용 극대화
 

TCB(Task control block)
 
각 task들은 하나의 독립적인 객체로 운영된다
각 task들은 자신의 정보(context)를 보관하기 위해서 TCB를 가진다
REX는 이 TCB를 이용하여 task들을 관리한다
 

REX Timer
 
각 task는 임의의 시간동안 대기 상태에 있다가 다시 깨어날 수 있다
REX가 주기적으로 Timer list를 검사함으로써 예정된 시간에 준비상태로 전환
REX가 모든 timer을 timer_list와 null_timer사이에 존재하게 한다
 

Signals
 
각 task는 32개의 일반적인 목적의 signal의 set을 task context의 한 부분으로 구성하고 있다
Signal은 어떠한 종류의 event가 발생했는지 알려주는데 사용된다
Signal은 어떠한 task 또는 interrupt에 의해서 set되거나 clear될 수 있다
Posted by 용학도리
,