Course: B.Tech (Electronics, Computer, or related branches) Semester: V
Subject Code: KOT055 Title: Embedded Systems and Real-Time Operating System
Maximum Marks: 100 Duration: 3 Hours
Paper Type: Theory – Divided into three main sections (A, B, and C)
SECTION A – Short Answer Questions (10 × 2 = 20 Marks)
All ten questions are compulsory, testing the student’s conceptual understanding.
Primary purpose of an embedded OS:
To manage hardware and software resources in embedded devices for efficiency and reliability.
Two key components of a kernel:
Scheduler and Interrupt Handler.
Popular open-source RTOS platforms:
FreeRTOS (lightweight, portable) and RTLinux (real-time Linux kernel extension).
Hard vs Soft Real-Time Systems:
Hard real-time: Missing deadlines leads to failure (e.g., flight control).
Soft real-time: Occasional delay tolerable (e.g., video streaming).
Purpose of a Scheduler:
Decides which task runs next, ensuring timely execution in priority order.
Deterministic Behavior:
Real-time kernels ensure predictability via fixed priority scheduling and interrupt latency control.
Semaphore Definition:
A synchronization tool to control access to shared resources, preventing race conditions.
Task Synchronization in FreeRTOS:
Achieved through queues, semaphores, and mutexes.
Example of a Real-Time System:
Automotive engine control unit (ECU) or medical monitoring system.
Cross Compilers:
Tools used to compile code on one architecture and execute it on another (e.g., compiling ARM code on an x86 PC).
SECTION B – Descriptive Questions (3 × 10 = 30 Marks)
Attempt any three out of five questions.
Monolithic vs Microkernel Architectures:
Monolithic: All OS services in a single address space → faster but less reliable.
Microkernel: Only essential services in kernel; others in user mode → modular, more secure.
Open-Source RTOS Features:
Transparency, community support, cost-effective, customizable.
Challenges: Lack of vendor support, potential licensing issues.
Task Scheduling Algorithms:
Rate Monotonic Scheduling (RMS), Earliest Deadline First (EDF), Round Robin, Priority-based Preemptive Scheduling.
VxWorks vs FreeRTOS:
VxWorks: Commercial, full-featured, supports high-end embedded systems.
FreeRTOS: Lightweight, open-source, ideal for resource-constrained microcontrollers.
Development Tools:
Simulators: Virtual test environments. Debuggers: Trace and fix software errors.
Cross Compilers: Build embedded firmware. In-circuit Emulators: Test code on real hardware.
SECTION C – Analytical / Application-Based Questions (5 × 10 = 50 Marks)
Attempt one part from each question (Q3–Q7).
Q3 – Interrupts and Scheduling
(a) Role of Interrupt Handling:
Improves real-time responsiveness by allowing immediate response to external events.
Steps: Detect → Acknowledge → Execute ISR → Resume task.
(b) Task Scheduling Process:
Tasks assigned priorities and scheduled by the kernel based on deadlines or event triggers.
Impacts latency and overall performance.
Q4 – RTOS Architecture & File Systems
(a) File System Role:
Manages data storage efficiently under timing constraints.
Challenge: Balancing throughput vs latency.
(b) RTOS Architecture:
Components: Kernel, Task Manager, Scheduler, Memory Manager, I/O Manager.
Ensures deterministic execution and task isolation.
Q5 – FreeRTOS Scheduling & Real-Time Linux
(a) FreeRTOS Scheduling:
Preemptive priority-based system.
Uses tick interrupts to decide which task runs next; supports time slicing and delay queues.
(b) Standard Linux vs Real-Time Linux:
Standard: Non-deterministic scheduling.
RT-Linux: Adds real-time patches for low-latency interrupts and priority scheduling.
Conversion needed for real-time robotics or automation applications.
Q6 – I/O Systems and Task Interaction
(a) I/O Architecture Overview:
Includes Device Drivers, I/O Controllers, and Interrupt Handlers.
Device drivers act as an interface between hardware and kernel for communication.
(b) Task Creation and Interrupt Interaction:
Tasks created using APIs (e.g., xTaskCreate() in FreeRTOS).
Interrupts signal tasks, managed through semaphores and queues for event handling.
Q7 – RTOS Adaptation & Testing
(a) Adapting RTOS to Hardware:
Steps: Port kernel → Configure drivers → Test on target hardware.
Challenges: Timing accuracy, memory constraints, hardware compatibility.
(b) Testing Real-Time Applications:
Best Practices: Simulation, stress testing, hardware-in-loop validation.
Challenges: Non-deterministic delays, synchronization issues, hardware dependencies.
Key Topics Covered
Embedded system fundamentals and architecture Real-time scheduling and kernel design
Interrupt management and synchronization RTOS types (FreeRTOS, VxWorks, RTLinux)
I/O systems and device drivers
Testing and debugging real-time embedded applications