Part 1: Real-time OS Basic 1 Introduction to the Real-time OS? 1.1 OS 란 무엇인가? 1.2 Real-time OS 는 왜 나오게 되었는가? 1.3 Real-time OS 는 일반 OS 와 어떤 점이 다르며 왜 필요한가? 1.4 Real-time OS 의 역사 및 표준화 작업 1.4.1 POSIX 1.4.2 TRON 2 Basic Concepts for the Real-time OS 2.1 task 와 multitasking 2.2 context switching 2.3 Kernel 2.3.1 Scheduler 2.3.2 Non-Preemptive Kernel 2.3.3 Preemptive Kernel 2.4 critical section 2.5 mutual exclusion 2.6 semaphore 2.7 Deadlock 2.8 Priority Inversion 2.9 task communication 2.10 task synchronization 2.11 interrupt service 2.12 soft real-time vs. hard real-time 2.13 reentrancy
Part 2: Using Real-time OS 3 Real-time OS Functions 3.1 Task Management(Scheduling) 3.1.1 Create task 3.1.2 Delete task 3.1.3 Resume task 3.1.4 Suspend task 3.1.5 Terminate task 3.1.6 Reset task 3.1.7 Sleep 3.1.8 Change preemption 3.1.9 Change priority 3.1.10 Change time slice 3.1.11 Relinquish 3.1.12 Monitor task status 3.2 Semaphore (Task Synchronization) 3.2.1 Create Semaphore 3.2.2 Delete 3.2.3 Obtain 3.2.4 Release 3.2.5 Reset 3.2.6 Monitor semaphore status 3.3 Event_Group (Task Synchronization) 3.3.1 Create Event Group 3.3.2 Delete 3.3.3 Set Events 3.3.4 Retrieve Events 3.3.5 Monitor event group status 3.4 Signal (Task Synchronization) 3.4.1 Control Signal 3.4.2 Register Signal Handler 3.4.3 Send 3.4.4 Receive 3.5 Mailbox (Task Communication) 3.5.1 Create Mailbox 3.5.2 Delete 3.5.3 Send 3.5.4 Broadcast 3.5.5 Receive 3.5.6 Reset 3.5.7 Monitor mailbox status 3.6 Queue (Task Communication) 3.6.1 Create Queue 3.6.2 Delete 3.6.3 Send 3.6.4 Send to front 3.6.5 Broadcast 3.6.6 Receive 3.6.7 Reset 3.6.8 Monitor queue status 3.7 Pipe (Task Communication) 3.7.1 Create Pipe 3.7.2 Delete 3.7.3 Send 3.7.4 Send to front 3.7.5 Broadcast 3.7.6 Receive 3.7.7 Reset 3.7.8 Monitor pipe status 3.8 Partition Pool (Memory Management - Fixed) 3.8.1 Create Partition Pool 3.8.2 Delete Partition Pool 3.8.3 Allocate 3.8.4 Deallocate 3.8.5 Monitor partition pool status 3.9 Memory Pool (Memory Management - variable) 3.9.1 Create Memory Pool 3.9.2 Delete Memory Pool 3.9.3 Allocate 3.9.4 Deallocate 3.9.5 Monitor memory pool status 3.10 Timer Management 3.10.1 Create Timer 3.10.2 Delete 3.10.3 Control 3.10.4 Set Clock 3.10.5 Retrieve Clock 3.10.6 Reset 3.10.7 Monitor timer status 3.11 Interrupt Management 3.11.1 Create HISR 3.11.2 Delete HISR 3.11.3 Register LISR 3.11.4 Activate HISR 3.11.5 Setup Vector 3.11.6 Control Interrupts 3.11.7 Protect 3.11.8 Unprotect 3.11.9 Monitor HISR status 3.12 I/O Driver 3.12.1 Create Driver 3.12.2 Delete 3.12.3 NU_Request_Driver 3.12.4 NU_Resume_Driver 3.12.5 NU_Suspend_Driver 3.12.6 Monitor driver status 3.13 Development Services 3.13.1 Enable History Saving 3.13.2 Disable History Saving 3.13.3 Make History Entry 3.13.4 Retrieve History Entry 3.13.5 License Information 3.13.6 Release Information
Part 3: Real-time System Design 4 어떤 Real-time OS 를 쓸 것인가? 4.1 원하는 processor 를 지원하는가? 또 새로운 processor 에 대한 portability 는? 4.2 Scalability 4.3 Multiprocessor support 4.4 Extended services, Vertical Application 4.5 standards/POSIX compliance 4.6 Language support 4.7 Development environment 4.8 Licensing arrangements and price 4.9 Real-time OS 의 미래 5 Real-time Embedded System 설계 5.1 기존의 Embedded System 설계 5.2 Real-time OS 를 쓰는 경우의 장점 5.3 어떻게 Task 로 나누는가? 5.4 Priority 는 어떻게? 5.5 OS Kernel 과의 Interface 5.6 Real-time OS porting