Real Time Operating Systems - (80 hrs)
Introduction to OS
- What is an OS?
- Necessitate for OS
- Issues in Communication Systems
- Application Scenarios
- Kernel
- Shell
Fundamentals of Real-time theory
- What's makes distributed, real-time, embedded multitasking systems challenging?
- Best effort, Hard real-time, Soft real-time
- Scheduling Class Taxonomy
- Best Effort scheduling (Round-Robin Time-slice Scheme )
- Intro to Fixed priority preemptive scheduling
- Intro to Dynamic priority scheduling
- Utility Curves
RTOS Architecture
- RTOS functionality
- RTOS Characteristics
- Layering and OS Typical Structure
Task Management
- Tasks and tasking
- Priority based
- Round-Robin Based
- Inter-task communication and synchronization
- Suspending and Resuming Task
Analysis and Design
- Real-time analysis
- Software Architectures
- Design
- Concurrency
- Meeting Constraints
Synchronization
- Critical-section
- Semaphores
- Monitors
- Deadlock prevention, avoidance and detection
Real-time service system integration and I/O
Service Synchronization, Communication, and IO
- Using Message Queues to Sync Services and for Communication
- Using Binary Semaphores to Sync Services
- IO during Service Execution
Overlapping CPU and IO Cycles - Latency Hiding
- Initial Release Input - Block DMA and FIFO Sensor Data
- Intermediate IO
- Memory-Mapped IO During Service Processing
- Hiding IO latency with Overlap
I/O systems and Interfaces
- Pipes and I/O Drivers
- Polled I/O
- Interrupt Driven I/O
- Direct Memory Access
Watchdog timers
- Hardware Failure Recovery
Socket Programming
- Case Study (UCOSII)
- RTOS Concept
- Kernel Structure
- Scheduling and Time Management
- Memory Management
- Mutex, Deadlock
- Priority Inheritance
- Semaphore, Message Queue, Mailbox
- Installation and RTOS Development
- Porting of UCOS-II on PS-C51-TYRO-Kit or PS-ARM7-TYRO-2148 Kits
- Sampling Multi-tasking through TWO LED blink tasks
- Priority Scheduling: Three UART Tasks with OSTimeDelay
- Plotting Room fever graphically in a GLCD
Mini Project (8051/ARM)
Simple Project using 8-bit controller
- Abstract
- Hardware / Software Requirements
- Hardware Assembly
- Code Development
- Testing | Demonstration
|