Task
그 자신이 CPU를 혼자 점유한다고 생각하는 하나의 프로그램
각 task는 기본적으로 priority, status 정보, 그리고 stack 영역을 가지고 있으며, 이 정보들은 TCB (Task Control Block)라는 곳에 저장된다
각 task마다 독립된 TCB를 가짐
각 task는 기본적으로 priority, status 정보, 그리고 stack 영역을 가지고 있으며, 이 정보들은 TCB (Task Control Block)라는 곳에 저장된다
각 task마다 독립된 TCB를 가짐
Multitasking
여러 task들간의 CPU time scheduling과 switching을 하며 처리하는 과정
하나의 CPU가 task들간을 옮겨 다니며 관리
CPU의 활용 극대화
하나의 CPU가 task들간을 옮겨 다니며 관리
CPU의 활용 극대화
TCB(Task control block)
각 task들은 하나의 독립적인 객체로 운영된다
각 task들은 자신의 정보(context)를 보관하기 위해서 TCB를 가진다
REX는 이 TCB를 이용하여 task들을 관리한다
각 task들은 자신의 정보(context)를 보관하기 위해서 TCB를 가진다
REX는 이 TCB를 이용하여 task들을 관리한다
REX Timer
각 task는 임의의 시간동안 대기 상태에 있다가 다시 깨어날 수 있다
REX가 주기적으로 Timer list를 검사함으로써 예정된 시간에 준비상태로 전환
REX가 모든 timer을 timer_list와 null_timer사이에 존재하게 한다
REX가 주기적으로 Timer list를 검사함으로써 예정된 시간에 준비상태로 전환
REX가 모든 timer을 timer_list와 null_timer사이에 존재하게 한다
Signals
각 task는 32개의 일반적인 목적의 signal의 set을 task context의 한 부분으로 구성하고 있다
Signal은 어떠한 종류의 event가 발생했는지 알려주는데 사용된다
Signal은 어떠한 task 또는 interrupt에 의해서 set되거나 clear될 수 있다
Signal은 어떠한 종류의 event가 발생했는지 알려주는데 사용된다
Signal은 어떠한 task 또는 interrupt에 의해서 set되거나 clear될 수 있다