SlideShare a Scribd company logo
OPERATINGSYSTEMS
EMBEDDED SYSTEMS
Embedded
System
– The use of electronics and software within a product
that has a specific function or set of functions, as
opposed to a general-purpose computer
– smartphones, digital cameras,
video cameras, calculators,
home security systems,
household appliances…
– …various automotive systems,
and numerous types of sensors
and actuators in automated systems
Giorgio Giacinto 2019 Operating Systems 2
Embedded
System
Embedded systems are often tightly coupled to
their environment
Real-time constraints imposed by the need to
interact with the environment
Constraints on speed, measurements, time durations,
and the like, dictate the timing of software operations
If multiple activities must be managed simultaneously,
this imposes more complex real-time constraints
Giorgio Giacinto 2019 Operating Systems 3
Application
Processors vs
Dedicated
Processors
– Application Processor
– General Purpose with ability to execute complex
operating systems, such as Linux, Android, and Chrome
– Dedicated Processor
– Specialized to perform one or a small number of specific
tasks
– The processor and associated components can be
engineered to reduce size and cost
– An Embedded System is comprised by several
dedicated processors and, optionally, one or more
application processors
Giorgio Giacinto 2019 Operating Systems 4
Automotive
Systems
Giorgio Giacinto 2019 Operating Systems 5
Organization
of an
embedded
system
Memory
Custom
logic
Human
interface
Diagnostic
port
Processor
D/A
Conversion
Actuators/
indicators
A/D
conversion
Sensors
Giorgio Giacinto 2019 Operating Systems 6
Typical
microcontroller
chip
Figure 13.3 Typical Microcontroller Chip Elements
A/D
converter
Analog data
acquisition
Temporary
data
Processor
System
bus
RAM
D/A
converter
ROM
Serial I/O
ports
EEPROM
Parallel I/O
ports
TIMER
Program
and data
Permanent
data
Timing
functions
Analog data
transmission
Send/receive
data
Peripheral
interfaces
Giorgio Giacinto 2019 Operating Systems 7
Deeply
Embedded
System
– Relies on a microcontroller rather than on a microprocessor
– It is not programmable once the program logic for the device
has been burned into ROM
– No interaction with a user
– Dedicated, single-purpose devices that detect something
in the environment, perform a basic level of processing,
then do something with the results
– Extreme resource constraints in terms of memory,
processor size, time, and power consumption
– The Internet ofThings depends heavily on deeply
embedded systems
– Often wireless capability
Giorgio Giacinto 2019 Operating Systems 8
Characteristics
of Embedded
OS
Real-time
operation
Reactive operation
Configurability
I/O device
flexibility
Streamlined
protection
mechanisms
Direct use of
interrupts
Giorgio Giacinto 2019 Operating Systems 9
Developing an
EmbeddedOS
Two general approaches
• Take an existing OS and adapt it
for the embedded application
• Design and implement an OS
intended solely for embedded use
Giorgio Giacinto 2019 Operating Systems 10
Adapting an existingOS
Giorgio Giacinto 2019 Operating Systems 11
Adapting an
ExistingOS
– An existing commercial OS can be used for an embedded
system by adding
– Real time capability
– Streamlining operation
– Adding necessary functionality
Advantage
• Familiar interface
Disadvantage
• Not optimized for real-time
and embedded applications
Giorgio Giacinto 2019 Operating Systems 12
Cross Platform
Development
– Typically, the development of an operating system is
carried out on the same hardware platform it is built
for.
– In the case of embedded system, development is
carried out on a platform that is different from the
target systems
Host
•Cross-platform
development
environment
•Kernel
•Root file system
•Boot loader
Target
Giorgio Giacinto 2019 Operating Systems 13
Kernel
Compilation
Figure 13.5 Kernel Compilation
Cross
Compiler
Kernel image
Kernel
Configuration
Defined according to
target hardware and
system requirements
From open source
or hardware vendor
Executable on
host system
Executable on target
system; ready to be
started by boot loader
on target system
Kernel Source
Giorgio Giacinto 2019 Operating Systems 14
Embedded
Linux
– An embedded Linux distribution is customized for the
size and hardware constraints of embedded devices
– Includes software packages that support a variety of
services and applications on those devices
– An embedded Linux kernel will be far smaller than an
ordinary Linux kernel
– Example:
Giorgio Giacinto 2019 Operating Systems 15
Size of Linux
Kernel
Figure 13.6 Size of Linux Kernel (shown in GZIP-compressed file size)
1992
15
30
45
60
75
90
106
120
135
1994 1996
megabytes
1998 2000 2002 2004 2006 2008 2010 2012 2014 2016
GZIP-compressed file size
Giorgio Giacinto 2019 Operating Systems 16
Embedded
Linux File
Systems
– File system must be as small as possible.
– cramfs
– A simple read-only file system that is designed to minimize size
by maximizing the efficient use of underlying storage
– Files are compressed in units that match the Linux page size
– squashfs
– A compressed, read-only file system that was designed for use on
low memory or limited storage size environments
– jffs2
– A log-based file system that is designed for use on NOR and
NAND flash devices with special attention to flash-oriented
issues such as wear-leveling
– ubifs
– Provides better performance on larger flash devices and also
supports write caching to provide additional performance
improvements
– yaffs2
– Provides a fast and robust file system for large flash devices
Giorgio Giacinto 2019 Operating Systems 17
Advantages of
Embedded
Linux
– Vendor independence
– Varied hardware support
– Linux support for a wide range of processor architectures
and peripheral devices
– Low cost for development and training
– The use of Linux provides all of the advantages of open
source software
Giorgio Giacinto 2019 Operating Systems 18
𝜇Clinux
𝜇Clinux (microcontroller Linux) is an open-source
Linux kernel variation targeted at microcontrollers
and other very small embedded systems
The design philosophy for 𝜇Clinux is to slim down
the operating environment by removing utility
programs, tools, and other system services that
are not needed in an embedded environment
Giorgio Giacinto 2019 Operating Systems 19
Differences
Between
𝜇Clinux and
Linux
– Linux is a multiuser OS based on Unix.
𝜇Clinux is intended for embedded systems typically
with no interactive user
– 𝜇Clinux does not support memory management
– The Linux kernel maintains a separate virtual address
space for each process. 𝜇Clinux has a single shared
address space for all processes
– 𝜇Clinux only provides the vfork() system call for
process creation
Giorgio Giacinto 2019 Operating Systems 20
Designing a specificOS
Giorgio Giacinto 2019 Operating Systems 21
Purpose-Built
EmbeddedOS
– Fast and lightweight process or thread switch
– Scheduling policy is real time and dispatcher module is
part of scheduler
– Small size
– Responds to external interrupts quickly
– minimizes intervals during which interrupts are disabled
– Provides fixed or variable-sized partitions for memory
management
– Provides special sequential files that
can accumulate data at a fast rate
Examples of ad-hoc
embedded OS
• eCos
• TinyOS
Giorgio Giacinto 2019 Operating Systems 22
Timing
Constraints
The kernel
• Provides bounded execution time for primitives
• Maintains a real-time clock
• Provides for special alarms and timeouts
• Supports real-time queuing disciplines
• Provides primitives to delay processing by a fixed
amount of time and to suspend/resume execution
Giorgio Giacinto 2019 Operating Systems 23
TinyOS
https://github.com/tinyos/tinyos-main
– Streamlines to a very minimal OS for embedded systems
– Core OS requires 400 bytes of code and data memory
combined
– Has become a popular approach to implementing wireless
sensor network software
– Not a real-time OS
– There is no kernel
– There are no processes
– OS doesn’t have a memory allocation system
– Interrupt and exception handling is dependent on the
peripheral
– It is completely nonblocking, so there are few explicit
synchronization primitives
Giorgio Giacinto 2019 Operating Systems 24
TinyOS
Components
– Embedded software systems
built withTinyOS consist of a
set of modules (called
components), each of which
performs a simple task and
which interface with each
other and with hardware in
limited and well-defined ways
– The only other software
module is the scheduler
– Because there is no kernel
there is no actual OS
Examples of standardized
components include:
• Single-hop networking
• Ad-hoc routing
• Power management
• Timers
• Nonvolatile storage
control
Giorgio Giacinto 2019 Operating Systems 25
Components
andTasks
– A software component implements one or more tasks
– Each task in a component is similar to a thread in an
ordinary OS
– Within a component tasks are atomic
– Once a task has started it runs to completion
A task cannot
• Be preempted by another
task in the same
component and there is no
time slicing
• Block or spin wait
A task can
• Perform computations
• Call lower-level
components (commands)
• Signal higher-level events
• Schedule other tasks
Giorgio Giacinto 2019 Operating Systems 26
TinyOS
Scheduler
– Operates across all components
– Only one task executes at a time
– The scheduler is a separate component that must be
present in any system
– Default scheduler is a simple FIFO queue
– Scheduler is power aware
– Puts processor to sleep when there is no task in the
queue
Giorgio Giacinto 2019 Operating Systems 27
Blackberry
QNX
– QNX
– QNX Neutrino RTOS
Realtime embedded system, microkernel design, and
modular architecture that supports hundreds of POSIX
commands, utilities, and programming interfaces
– QNX OS for Automotive Safety
– QNX OS for Medical
– Wide adoption in the automotive sector
Giorgio Giacinto 2019 Operating Systems 28
QNX Neutrino
System
Architecture
Giorgio Giacinto 2019 Operating Systems 29
QNX Neutrino
microkernel
– thread services (POSIX thread-creation)
– signal services (POSIX signal)
– message-passing services
– the microkernel manages the exchange of messages
between threads synchronization services (POSIX thread-
synchronization)
– scheduling services (POSIX realtime scheduling policies)
– timer services (POSIX timer services)
– process management services
Giorgio Giacinto 2019 Operating Systems 30
VxWorks and
Integrity
– Wind River
– VxWORKS
RTOS with different profiles for different application
scenarios.
This OS equipped the MARS Curiosity mission (NASA)
– Green Hills
– Integrity
RTOS with a separation kernel for different markets
Giorgio Giacinto 2019 Operating Systems 31
LYNX
– LYNX
– LYNXOS RTOS
LynxOS® is a deterministic, hard real-time operating
system that provides POSIX-conformant APIs in a small-
footprint embedded kernel. LynxOS provides symmetric
multi-processing support to fully take advantage of multi-
core/multi-threaded processors
Giorgio Giacinto 2019 Operating Systems 32

More Related Content

PDF
Embedded Systems: Lecture 4: Selecting the Proper RTOS
PPTX
Embeded OS :)
PPT
Embedded Linux Talk Uni Forum
PDF
Embedded OS and Application-2024-01 Embedded system introduction.pdf
PDF
Embedded Linux
PPT
PDF
A Survey Embedded Systems Supporting By Different Operating Systems.pdf
PPTX
operating system Bsc.csit first semester iit subject
Embedded Systems: Lecture 4: Selecting the Proper RTOS
Embeded OS :)
Embedded Linux Talk Uni Forum
Embedded OS and Application-2024-01 Embedded system introduction.pdf
Embedded Linux
A Survey Embedded Systems Supporting By Different Operating Systems.pdf
operating system Bsc.csit first semester iit subject

Similar to Embedded Operating Systems lecture notes (20)

PPTX
18CS44-MODULE3-PPT.pptx
PDF
Embedded Systems Introduction
PDF
Embedded systems introduction
PDF
Linux-Internals-and-Networking
PDF
Raspberry Pi - Lecture 1 Introduction
PPTX
Embedded systems PPT module 4 covering VTU syllabus
PDF
IRJET - Development of Embedded Linux System from Bare Board
PPTX
Embedded system
PPT
Os concepts
PDF
os_1.pdf
PPTX
UNIT4_ESD_wfffffggggggggggggith_ARM.pptx
PDF
Trainingreport on embedded system
PPTX
Introduction to Operating system and graduate
PDF
embedded-linux-120203.pdf
PPTX
Language for Embedded System
PPTX
Language for embedded system
PPTX
EMBEDDED SYSTEM-2.pptx
PPTX
MYSQL DATABASE Operating System Part2 (1).pptx
PDF
Embedded Systems Second Edition D Sundaram R M Kothari Dwarkadas Pralhaddas N
PDF
Realtime Embedded Multithreading Using Threadx And Mips Edward L Lamie Auth
18CS44-MODULE3-PPT.pptx
Embedded Systems Introduction
Embedded systems introduction
Linux-Internals-and-Networking
Raspberry Pi - Lecture 1 Introduction
Embedded systems PPT module 4 covering VTU syllabus
IRJET - Development of Embedded Linux System from Bare Board
Embedded system
Os concepts
os_1.pdf
UNIT4_ESD_wfffffggggggggggggith_ARM.pptx
Trainingreport on embedded system
Introduction to Operating system and graduate
embedded-linux-120203.pdf
Language for Embedded System
Language for embedded system
EMBEDDED SYSTEM-2.pptx
MYSQL DATABASE Operating System Part2 (1).pptx
Embedded Systems Second Edition D Sundaram R M Kothari Dwarkadas Pralhaddas N
Realtime Embedded Multithreading Using Threadx And Mips Edward L Lamie Auth
Ad

More from YonghoLouis1 (7)

PPTX
the effect of humanitarian crisis on women in the informal sector.pptx
PPT
Servant Leadership Introductory notes for leaders
PPTX
research gaps in literature review chapter two
PPTX
Schrefl computer abd teaching impacts.pptx
PPTX
applications_of_ai_in_education_-_gabriel_rshaid.pptx
PPTX
ERA-curriculum_farzana-16-12-14 (1).pptx
PPT
02 Theology Lecture 36-38 Anthropology.ppt
the effect of humanitarian crisis on women in the informal sector.pptx
Servant Leadership Introductory notes for leaders
research gaps in literature review chapter two
Schrefl computer abd teaching impacts.pptx
applications_of_ai_in_education_-_gabriel_rshaid.pptx
ERA-curriculum_farzana-16-12-14 (1).pptx
02 Theology Lecture 36-38 Anthropology.ppt
Ad

Recently uploaded (20)

PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
CH1 Production IntroductoryConcepts.pptx
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
UNIT 4 Total Quality Management .pptx
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
Sustainable Sites - Green Building Construction
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
Welding lecture in detail for understanding
PPTX
Geodesy 1.pptx...............................................
PPTX
bas. eng. economics group 4 presentation 1.pptx
DOCX
573137875-Attendance-Management-System-original
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
Foundation to blockchain - A guide to Blockchain Tech
CH1 Production IntroductoryConcepts.pptx
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
UNIT 4 Total Quality Management .pptx
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Sustainable Sites - Green Building Construction
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
Automation-in-Manufacturing-Chapter-Introduction.pdf
Welding lecture in detail for understanding
Geodesy 1.pptx...............................................
bas. eng. economics group 4 presentation 1.pptx
573137875-Attendance-Management-System-original
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
UNIT-1 - COAL BASED THERMAL POWER PLANTS

Embedded Operating Systems lecture notes

  • 2. Embedded System – The use of electronics and software within a product that has a specific function or set of functions, as opposed to a general-purpose computer – smartphones, digital cameras, video cameras, calculators, home security systems, household appliances… – …various automotive systems, and numerous types of sensors and actuators in automated systems Giorgio Giacinto 2019 Operating Systems 2
  • 3. Embedded System Embedded systems are often tightly coupled to their environment Real-time constraints imposed by the need to interact with the environment Constraints on speed, measurements, time durations, and the like, dictate the timing of software operations If multiple activities must be managed simultaneously, this imposes more complex real-time constraints Giorgio Giacinto 2019 Operating Systems 3
  • 4. Application Processors vs Dedicated Processors – Application Processor – General Purpose with ability to execute complex operating systems, such as Linux, Android, and Chrome – Dedicated Processor – Specialized to perform one or a small number of specific tasks – The processor and associated components can be engineered to reduce size and cost – An Embedded System is comprised by several dedicated processors and, optionally, one or more application processors Giorgio Giacinto 2019 Operating Systems 4
  • 7. Typical microcontroller chip Figure 13.3 Typical Microcontroller Chip Elements A/D converter Analog data acquisition Temporary data Processor System bus RAM D/A converter ROM Serial I/O ports EEPROM Parallel I/O ports TIMER Program and data Permanent data Timing functions Analog data transmission Send/receive data Peripheral interfaces Giorgio Giacinto 2019 Operating Systems 7
  • 8. Deeply Embedded System – Relies on a microcontroller rather than on a microprocessor – It is not programmable once the program logic for the device has been burned into ROM – No interaction with a user – Dedicated, single-purpose devices that detect something in the environment, perform a basic level of processing, then do something with the results – Extreme resource constraints in terms of memory, processor size, time, and power consumption – The Internet ofThings depends heavily on deeply embedded systems – Often wireless capability Giorgio Giacinto 2019 Operating Systems 8
  • 9. Characteristics of Embedded OS Real-time operation Reactive operation Configurability I/O device flexibility Streamlined protection mechanisms Direct use of interrupts Giorgio Giacinto 2019 Operating Systems 9
  • 10. Developing an EmbeddedOS Two general approaches • Take an existing OS and adapt it for the embedded application • Design and implement an OS intended solely for embedded use Giorgio Giacinto 2019 Operating Systems 10
  • 11. Adapting an existingOS Giorgio Giacinto 2019 Operating Systems 11
  • 12. Adapting an ExistingOS – An existing commercial OS can be used for an embedded system by adding – Real time capability – Streamlining operation – Adding necessary functionality Advantage • Familiar interface Disadvantage • Not optimized for real-time and embedded applications Giorgio Giacinto 2019 Operating Systems 12
  • 13. Cross Platform Development – Typically, the development of an operating system is carried out on the same hardware platform it is built for. – In the case of embedded system, development is carried out on a platform that is different from the target systems Host •Cross-platform development environment •Kernel •Root file system •Boot loader Target Giorgio Giacinto 2019 Operating Systems 13
  • 14. Kernel Compilation Figure 13.5 Kernel Compilation Cross Compiler Kernel image Kernel Configuration Defined according to target hardware and system requirements From open source or hardware vendor Executable on host system Executable on target system; ready to be started by boot loader on target system Kernel Source Giorgio Giacinto 2019 Operating Systems 14
  • 15. Embedded Linux – An embedded Linux distribution is customized for the size and hardware constraints of embedded devices – Includes software packages that support a variety of services and applications on those devices – An embedded Linux kernel will be far smaller than an ordinary Linux kernel – Example: Giorgio Giacinto 2019 Operating Systems 15
  • 16. Size of Linux Kernel Figure 13.6 Size of Linux Kernel (shown in GZIP-compressed file size) 1992 15 30 45 60 75 90 106 120 135 1994 1996 megabytes 1998 2000 2002 2004 2006 2008 2010 2012 2014 2016 GZIP-compressed file size Giorgio Giacinto 2019 Operating Systems 16
  • 17. Embedded Linux File Systems – File system must be as small as possible. – cramfs – A simple read-only file system that is designed to minimize size by maximizing the efficient use of underlying storage – Files are compressed in units that match the Linux page size – squashfs – A compressed, read-only file system that was designed for use on low memory or limited storage size environments – jffs2 – A log-based file system that is designed for use on NOR and NAND flash devices with special attention to flash-oriented issues such as wear-leveling – ubifs – Provides better performance on larger flash devices and also supports write caching to provide additional performance improvements – yaffs2 – Provides a fast and robust file system for large flash devices Giorgio Giacinto 2019 Operating Systems 17
  • 18. Advantages of Embedded Linux – Vendor independence – Varied hardware support – Linux support for a wide range of processor architectures and peripheral devices – Low cost for development and training – The use of Linux provides all of the advantages of open source software Giorgio Giacinto 2019 Operating Systems 18
  • 19. 𝜇Clinux 𝜇Clinux (microcontroller Linux) is an open-source Linux kernel variation targeted at microcontrollers and other very small embedded systems The design philosophy for 𝜇Clinux is to slim down the operating environment by removing utility programs, tools, and other system services that are not needed in an embedded environment Giorgio Giacinto 2019 Operating Systems 19
  • 20. Differences Between 𝜇Clinux and Linux – Linux is a multiuser OS based on Unix. 𝜇Clinux is intended for embedded systems typically with no interactive user – 𝜇Clinux does not support memory management – The Linux kernel maintains a separate virtual address space for each process. 𝜇Clinux has a single shared address space for all processes – 𝜇Clinux only provides the vfork() system call for process creation Giorgio Giacinto 2019 Operating Systems 20
  • 21. Designing a specificOS Giorgio Giacinto 2019 Operating Systems 21
  • 22. Purpose-Built EmbeddedOS – Fast and lightweight process or thread switch – Scheduling policy is real time and dispatcher module is part of scheduler – Small size – Responds to external interrupts quickly – minimizes intervals during which interrupts are disabled – Provides fixed or variable-sized partitions for memory management – Provides special sequential files that can accumulate data at a fast rate Examples of ad-hoc embedded OS • eCos • TinyOS Giorgio Giacinto 2019 Operating Systems 22
  • 23. Timing Constraints The kernel • Provides bounded execution time for primitives • Maintains a real-time clock • Provides for special alarms and timeouts • Supports real-time queuing disciplines • Provides primitives to delay processing by a fixed amount of time and to suspend/resume execution Giorgio Giacinto 2019 Operating Systems 23
  • 24. TinyOS https://github.com/tinyos/tinyos-main – Streamlines to a very minimal OS for embedded systems – Core OS requires 400 bytes of code and data memory combined – Has become a popular approach to implementing wireless sensor network software – Not a real-time OS – There is no kernel – There are no processes – OS doesn’t have a memory allocation system – Interrupt and exception handling is dependent on the peripheral – It is completely nonblocking, so there are few explicit synchronization primitives Giorgio Giacinto 2019 Operating Systems 24
  • 25. TinyOS Components – Embedded software systems built withTinyOS consist of a set of modules (called components), each of which performs a simple task and which interface with each other and with hardware in limited and well-defined ways – The only other software module is the scheduler – Because there is no kernel there is no actual OS Examples of standardized components include: • Single-hop networking • Ad-hoc routing • Power management • Timers • Nonvolatile storage control Giorgio Giacinto 2019 Operating Systems 25
  • 26. Components andTasks – A software component implements one or more tasks – Each task in a component is similar to a thread in an ordinary OS – Within a component tasks are atomic – Once a task has started it runs to completion A task cannot • Be preempted by another task in the same component and there is no time slicing • Block or spin wait A task can • Perform computations • Call lower-level components (commands) • Signal higher-level events • Schedule other tasks Giorgio Giacinto 2019 Operating Systems 26
  • 27. TinyOS Scheduler – Operates across all components – Only one task executes at a time – The scheduler is a separate component that must be present in any system – Default scheduler is a simple FIFO queue – Scheduler is power aware – Puts processor to sleep when there is no task in the queue Giorgio Giacinto 2019 Operating Systems 27
  • 28. Blackberry QNX – QNX – QNX Neutrino RTOS Realtime embedded system, microkernel design, and modular architecture that supports hundreds of POSIX commands, utilities, and programming interfaces – QNX OS for Automotive Safety – QNX OS for Medical – Wide adoption in the automotive sector Giorgio Giacinto 2019 Operating Systems 28
  • 30. QNX Neutrino microkernel – thread services (POSIX thread-creation) – signal services (POSIX signal) – message-passing services – the microkernel manages the exchange of messages between threads synchronization services (POSIX thread- synchronization) – scheduling services (POSIX realtime scheduling policies) – timer services (POSIX timer services) – process management services Giorgio Giacinto 2019 Operating Systems 30
  • 31. VxWorks and Integrity – Wind River – VxWORKS RTOS with different profiles for different application scenarios. This OS equipped the MARS Curiosity mission (NASA) – Green Hills – Integrity RTOS with a separation kernel for different markets Giorgio Giacinto 2019 Operating Systems 31
  • 32. LYNX – LYNX – LYNXOS RTOS LynxOS® is a deterministic, hard real-time operating system that provides POSIX-conformant APIs in a small- footprint embedded kernel. LynxOS provides symmetric multi-processing support to fully take advantage of multi- core/multi-threaded processors Giorgio Giacinto 2019 Operating Systems 32