SOFTWARE Architecture :
📌 Architecture of OS in Embedded Systems
The OS consists of:
Application Layer
Architecture : AK-ND-LF
● Kernel
akshay kumar and Lara , sophia
● Device Manager
● Networking Protocol Software
● Libraries
● File System (optional)
1. Kernel Kernel : core,heart scheduler- manager - handler -communicator
task scheduler,
SH-MC
memory/device/time management,
kernel -> shivali mc
interrupt handling
ITC( inter-task commu.)
● The core part of the OS.
● Manages tasks → decides which task runs next (task scheduling).
● Provides inter-task communication → tasks share data safely.
● Uses kernel objects like:
○ Tasks, Mutexes, ISRs (Interrupt Service Routines), Events, Message boxes, Mailboxes, Pipes,
Timers.
● Provides:
○ Memory management services.
○ Time management services.
○ Interrupt handling.
○ Device management.
📌 In short: The kernel = heart of OS, controls tasks and communication.
manages I/O devices
2. Device Manager
for communication between applications and hardware
sending/receiving data.
● Manages I/O devices (input/output).
ex. : keyboard(input) , display output
● Handles sending/receiving data.
● Uses device drivers + interrupts to communicate between application and hardware.
● Example: Keyboard input, Display output.
NPS -> ci - np - nes needed if ci ,
3. Networking Protocol Software provides np,
● Needed if system has communication interfaces like Ethernet, USB, Wi-Fi.
makes system ne e
● Provides network protocols (e.g., TCP/IP stack).
● Makes the embedded system network-enabled.
provide pwf
4. Libraries L -> pwf - oc - API cals avalaible as oc
used through API calls
● Provide pre-written functions (C/C++ libraries).
● Available as object code.
● Can be used by applications through API calls.
5. File System (Optional)
● Many embedded systems don’t have secondary storage.
● Program often stored in ROM/Flash memory.
● File system used when external storage is needed.
● Example:
○ Internet kiosk (needs file system for booting).
○ CD-ROM for initial boot-up in some systems.
✅ Summary for Exams
● Kernel: Manages tasks, scheduling, communication.
● Device Manager: Handles I/O devices via drivers.
● Networking Software: Enables Ethernet/USB/Wi-Fi, supports TCP/IP.
● Libraries: Ready-made functions for apps.
● File System: Optional, for storage management (ROM/Flash/External).
Categories of Embedded Operating Systems
● There are three main categories of embedded operating systems.
Categories : NRM small
not suitable for real time tasks
Non-real-time Embedded Operating Systems used in -> set-top boxes ,DVD players
EX. : Embd Linux ,Emb NT
● These OSs are small and not suitable for critical, real-time tasks.
● Commonly used in devices like DVD players and set-top boxes.
● Examples: Embedded Linux, Embedded NT, Windows XP Embedded.
fast , reliable
Real-time Operating Systems used where time is imp. -> industrial control system
EX. : RTLinux , VxWorks
● These OSs are good for tasks that need fast and reliable responses.
● Used in applications where timing is important, such as industrial control systems.
● Examples: QNX Neutrino, VxWorks, RTLinux, MicroC/OS-II, OS/9.
Mobile/Handheld Operating Systems run on mobile devices
smartphones , PDAs
EX. : Palm OS , Emb Linux , VxWorks
hand -> palm
● These OSs run on mobile devices such as smartphones and PDAs.
● Known as mobile or handheld operating systems.
● Examples: Palm OS, Symbian OS, Windows CE, Embedded Linux, VxWorks, OS/9.
Application Software
● Application software is built above the operating system.
● It uses function calls (services) provided by the OS.
● Major function calls include:
● Creating, suspending, and deleting tasks.
● Scheduling tasks for real-time needs.
● Enabling communication and synchronization between tasks.
● Managing counters for time tracking.
● Allocating and freeing memory.
● Accessing I/O devices.
● Accessing communication protocols.
● Application, OS, and communication software are all transferred to the memory of the
embedded system.
● Sometimes programs execute directly from memory devices (called XIP programs).
Communication Software
● Communication software lets embedded systems interact with external devices or networks.
● Required for network-enabling embedded systems.
● Needs integration with hardware and firmware.
● Common protocols: TCP/IP or Ethernet; TCP/IP stack is often used.
● These interfaces allow network access over LAN, corporate intranet, or Internet.
● TCP/IP stack is small and can be easily integrated into embedded systems.
HDT - SDT
SOLD - CROCIss
Development/Testing Tools hardware tools ->SOLD
SA-O-LA-DM
Hardware Development Tools signal-waveform-timing-voltage/current
● Tools for hardware development and testing include:
● Digital Multimeter: measures voltage, current, continuity.
● Logic Analyzer: checks timing of signals.
● Oscilloscope: analyzes waveforms over time.
● Spectrum Analyzer: analyzes signals in frequency domain.
OS dev. suite -> vendor
Software Development Tools Cpt -> CAD
● For developing software, key tools are:
● OS Development Suite: gets development tools/API from vendor.
● Cross-platform tools: cross-compiler, cross-assembler, cross-debugger.
SDT -> CROCIss sd ->crocs
● Cross-compiler: converts high-level code (C, C++) to object code for processors.
● ROM Emulator: simulates ROM in RAM, helps debug and set breakpoints.
● EPROM Programmer: used when board doesn’t support in-circuit programming or needs
memory erased/written.
● Instruction Set Simulator (ISS): creates virtual processor on PC for simulation/testing.
OS dev. suite -> vendor
Cpt -> CAD
CC -> converts HLC to OC
RE -> debug , breakpoints
ISS -> creates virtual processor on PC