SlideShare a Scribd company logo
CpE   Battle of the Brains
Embedded operating systems
Definition Embedded System is a combination of computer hardware and software, and perhaps additional mechanical or other parts, designed to perform a dedicated function. In many cases, embedded systems are part of a larger system or product, as in the case of an antilock braking system in a car.
Requirements and Constraints Small to large systems, implying very different cost constraints, thus different needs for optimization and reuse Relaxed to very strict requirements and combinations of different quality requirements. Short to long life times Different environmental conditions. Different application characteristics resulting in static dynamic loads, slow to fast speed, compute versus interface intensive tasks and/or combinations Different models of computations ranging from discrete-event systems to those involving continuous time dynamics
MECHANICS Each correct answer is worth 3 points Only the first contestant who raises his/her hands has the right to answer the question Questions can be answered after the game master says “GO” A tie breaker question worth 1 point is required if more than one contestant has the highest point total The highest point total wins the game
Emmanuel John A. Pascual Maria Monereeza M. Floria – Our Lady of Fatima University Ma-an Andria R. Lacierda - WCC Francis Argel D. Gonzales - TIPQC Heherson Q. Suaiso - ACCESS GAME MASTER COntestants
What are the Applications of Embedded OS?
Applications Market Embedded Device Automotive Ignition systems Engine control Brake system Consumer electronics Cameras Toys/Games Telephones/Cell Phones/Pagers Industrial control Robotics Sensors
Applications Medical Infusion pumps Cardiac monitors Dialysis machines Office automation Fax machine  Printer Scanners
SCORE TABLE EZA MAAN ARGEL SUAISO 3 0 0 0
What are the CHARACTERISTICS of Embedded OS?
Characteristics of E.Os  Direct use of interrupts There are three (3) reasons why it is possible to let interrupts directly start or stop tasks. Embedded systems can be considered to be thoroughly tested. Protection is not necessary Efficient control over a variety of devices is required
Characteristics of E.Os  I/O  device flexibility There is virtually no device that needs to be supported by all versions of the OS, and the range of I/O device in large. Streamlined protection mechanisms Embedded systems are typically designed for a limited, well-defined functionality. After the software has been configured and tested. It can be assumed to be reliable. Thus, apart from security measures, embedded systems have limited protection mechanisms.
SCORE TABLE EZA MAAN ARGEL SUAISO 6 0 0 0
What are the APPROACHES IN THE DEVELOPMENT OF Embedded OS?
Development Approaches Advantage Disadvantage Adapting an existing commercial OS The Embedded OS derived from a commercial general-purpose OS is based on a set of familiar interfaces. The OS is not optimized for real-time and embedded applications. Purpose-Built Embedded OS (Ecos and Tiny Os) Purposely designed for tasks requiring predictable operation over fast operations, necessitating different design decisions, particularly in the area of task scheduling. Must be designed from the ground up for embedded applications
SCORE TABLE EZA MAAN ARGEL SUAISO 9 0 0 0
What iS ECOs?
ECOs Embedded Configurable Operating System is an open source, royalty-free, real-time OS. Intended for embedded applications. A system targeting at high performance small embedded systems. For such systems, an embedded form of  Linux and other commercial Os would not provide the streamlined software required.
SCORE TABLE EZA MAAN ARGEL SUAISO 9 3 0 0
HOW DOES CONFIGURABILITY MEAN IN TERMS OF EOS?
Configurability An embedded system OS that is flexible enough to be used in a wide variety of embedded application and on a wide variety of embedded platforms must provide more functionality than will be needed for any particular application and platform. Configuration tool Is used to configure the ECos package to run on the target embedded system. (running on windows or Linux).
Configurability Loading an ECos Configuration GNU make utility Application Source Code GNU Cross Compiler GNU Linker Executable file ECOs kernel libraries Target architecture libraries
SCORE TABLE EZA MAAN ARGEL SUAISO 9 6 0 0
WHAT ARE THE ECOS COMPONENTS?
ECOS Components A key design requirement for the ECOS is portability to different architectures and platforms with minimal effort. Main components are as follows: User application code Standard C library I/O system (device drivers) Kernels Hardware abstraction layer
ECOS Components User Application Code Standard C library I/O System (device drivers) Kernels Hardware abstraction layer
SCORE TABLE EZA MAAN ARGEL SUAISO 9 9 0 0
WHAT IS HAL?
Hardware Abstraction Layer The HAL is software that presents a consisted API to the upper layers and maps upper-layer operations onto specific hardware platform.  The HAL is implemented as three (3) separate modules. Architecture: defines the processor type. Variant: supports the features of the specific processor in the family. Platform: extends the HAL support to tightly coupled peripherals like interrupt controllers and time devices.
SCORE TABLE EZA MAAN ARGEL SUAISO 9 9 0 3
WHAT IS ECOS KERNEL?
ECOS kernel Kernels were designed to satisfy four (4) main objectives Low interrupt latency: the time it takes to respond to an  interrupt and begin execute an ISR Low task switching latency: the time it takes from when a thread becomes available to when actual execution begins. Small memory footprint memory resources for both program and data are kept to a minimum by allowing components to configure memory needed. Deterministic behavior: throughout all the aspect of execution. The kernel performance must be predictable and bounded to meet real-time application requirements.
ECOS kernel ECOS kernels also provide the core functionality needed for developing multi-threaded applications The ability to add/create new threads in the system Control over various threads in the system A choice of scheduler, determining which thread should currently be running A range of synchronization primitives, allowing thread interaction Integration with the system’s support for interrupts and exceptions
SCORE TABLE EZA MAAN ARGEL SUAISO 9 9 0 6
WHAT IS I/O SYSTEM?
I/O System The ECOS I/O system is a framework for supporting device drivers. A variety of drivers for a variety of platform are provided in the ECOS configuration package. These include drivers for serial devices, Ethernet, flash memory interfaces, and various I/O interconnects such as PCI (peripheral component interface) and USB (universal serial bus).
I/O System Device drivers and other higher-layer software may be implemented directly on the HAL if this is appropriate. If specialized kernel type functions are needed, then the device driver is implemented using kernel APIs. The kernel provides a three-level interrupt model. Interrupt service routines (ISR): invoked response to a hardware interrupt. Hardware interrupts are delivered with minimal intervention to an ISR. Deferred service routines (DSR): invoked in response to a request by an ISR. DSR will run when it is safe to do so without interfering with the scheduler. Threads: the client to the driver. Threads are able to make all API (Application Programming Interface) calls and in particular are allowed to wait on mutexes and conditional variables.
SCORE TABLE EZA MAAN ARGEL SUAISO 9 9 0 9
WHAT ARE STANDARD C LIBRARIES?
Standard C Libraries A complete standard C run-time is provided. Also included is a complete math run time library for high-level mathematic functions, including a complete IEEE-754 floating-point library for those platforms without hardware floating points.
SCORE TABLE EZA MAAN ARGEL SUAISO 9 9 3 9
WHAT IS AN ECOS SCHEDULER?
ECOS Scheduler Bitmap Scheduler a bitmap scheduler supports multiple priority levels but only  1 thread can exist  at each priority level at a  given time . Description: because there is only 1 thread, at most, at each priority level, the scheduler does not have to make a decision as to which thread at a given priority level should be dispatched next.
ECOS Scheduler Multi-queue scheduler The multi-queue scheduler is appropriate if the number of threads is dynamic or if the desirable to have multiple threads at the same priority level. The multilevel scheduler is also needed if time slicing is needed.
SCORE TABLE EZA MAAN ARGEL SUAISO 9 9 6 9
WHAT IS ECOS THREAD Synchronization?
ECOs Thread Synchronization Mutexes the mutex (mutual exclusion lock) is used to enforce mutually exclusive access to a resource. Allowing  only  1 thread at a time to gain access.  Has 2 states: locked and unlocked. When a mutex is locked by 1 thread, any other thread attempting to lock the mutex is blocked; when the mutex is unlocked. Then one of the threads blocked on this mutex is unblocked and allowed to lock the mutex and gain access on the resource.
ECOs Thread Synchronization Semaphores counting semaphores are suited to enabling threads to wait until an event has occurred. The event may be generated by a producer thread. Or by a DSR in response to  a hardware interrupt. Description If counter is ZERO, an attempt by a consumer thread to wait on the semaphore will block until some other thread or a DSR post a new event to the semaphore If counter is greater than ZERO then an attempt to wait on the semaphore will consume one event.
ECOs Thread Synchronization Conditional Codes a conditional variable is used to block a thread until a particular condition is TRUE. Condition variables are used with mutexes to allow multiple thread to access shared data. They can be used to implement monitors of the type in ECOs.  Event Flags is a 32-bit word used as a synchronization mechanism. Application code may associate a different event with each bit on the flag. A thread can wait for either a single event or a combination of events by checking 1 or multiple bits in a corresponding flag.
ECOs Thread Synchronization Mailboxes also called message boxes are an ECOs synchronization mechanism that provides a means for 2 threads to exchange information. Can be configured for blocking/non-blocking on both  the send and receive side. Spinlocks A spinlock is a flag that a thread can check before executing a particular piece of code. Basically, only 1 thread at a time can acquire a spinlock. Any other thread attempting to acquire the same lock will keep trying (spinning) until it can acquire a lock.
SCORE TABLE EZA MAAN ARGEL SUAISO 9 9 9 9
Tiebreaker Question: 1 point  WHAT IS ECOS TINY OS?
TinyOS   The ECOS system provides a more streamlined approach for an embedded OS than one based on a commercial general-purpose OS. Such as an embedded version of the LINUX, thus ECOS and similar system are better suited for small embedded system with tight requirement on memory, processing -time, real-time response, power consumption, and so on. TINYOS takes the process of streamlining in much a further point, resulting in a very minimal OS for embedded systems.
SCORE TABLE CONGRATULATIONS TIPQC! EZA MAAN ARGEL SUAISO 9 9 10 9
Wireless Sensor Networks TINYOS was developed primarily for use with networks of small wireless sensor. A number of treads have enabled the development of extremely compact, low-power sensors. The well-known Moore’s law continuous to drive down the size of memory and processing logic elements. Smaller size in turn reduces power consumption. Low power and small size treads are also evident in wireless communication hardware, micro-electrical sensors (MEMS) and transducers.
Tiny OS Goals Allow high concurrency in a typical wireless sensor network application, the devices are concurrency intensive. Several different flow of data must be kept moving simultaneously. Operate with limited resources the target platform for Tiny OS will have limited memory and computational resources and run on batteries or solar power.
Tiny OS Goals Adapt to hardware evolution should be possible  to upgrade the hardware with little or no software change, if the functionality is the same. Support a wide range of applications applications exhibit a wide range of requirements in terms of lifetimes, communication, sensing and so on.
Tiny OS Goals Support a diverse set of platforms as with preceding point, a general-purpose embedded OS is desirable. Be robust once deployed, a sensor network must run unattended for months or years. Ideally, there should be redundancy both within a single system and across the network of sensors.
TINYOS Components An embedded software system built using TINYOS consists of a set of small modules called components, each of which performs a simple task or set of tasks and which interface with each other and with hardware is limited and well-defined ways. The other software module is the scheduler. And because the TINYOS doesn’t utilize kernels, there is no actual OS. But we can take the following view. The application area of interest is the wireless sensor network (WSN).
TINYOS Components The meet the demanding software requirement of this application, rigid, simplified software architecture is dedicated, consisting of components. The TINYOS development community has implemented a number of open-source components that provide the basic functions needed for the WSN application.
TINYOS Scheduler The TINYOS scheduler operates across all components. Virtually all embedded systems using TINYOS will be uni-processor systems, so that only one task among all the tasks in all the components may execute at a time. The scheduler is a separate component. It is the only portion of TINYOS that must be present in any system.
TINYOS resource Interface Provides a simple but powerful set of conventions for dealing with resources. Three (3) abstractions for resources are used in TINYOS. Dedicated: a resource that a subsystem needs exclusive access at all times Virtualized: the virtualized abstraction may be used when the underlying resource need not be protected by mutual exclusion. Shared: the shared resource abstraction provides access to a dedicated resource through an arbiter component. The arbiter enforces mutual conclusion allowing only the user at a time to have access to a resource and enabling the client to lock the resource.
TINYOS resource Interface The shared resource configuration provides the following interfaces to a client: Resource: the client issues a request at this interface requesting access to the resource. Resource Requested: this is similar to the resource interface. In this case, the client is able to hold onto a resource until the client is notified that someone else needs the resource.
TINYOS resource Interface Resources Configure: this interface allows a resource to be automatically configured just before a client is granted access to it. Resource-Specific interfaces: once a client has access to resource, it uses resource-specific interfaces to exchange data and control information with the resource.
THE END THANK YOU VERY MUCH!
Ad

More Related Content

What's hot (20)

Real Time OS For Embedded Systems
Real Time OS For Embedded SystemsReal Time OS For Embedded Systems
Real Time OS For Embedded Systems
Himanshu Ghetia
 
Introduction to Arduino Programming: Features of Arduino
Introduction to Arduino Programming: Features of ArduinoIntroduction to Arduino Programming: Features of Arduino
Introduction to Arduino Programming: Features of Arduino
Abhimanyu Sangale
 
Introduction to arm architecture
Introduction to arm architectureIntroduction to arm architecture
Introduction to arm architecture
Zakaria Gomaa
 
Real Time Operating system (RTOS) - Embedded systems
Real Time Operating system (RTOS) - Embedded systemsReal Time Operating system (RTOS) - Embedded systems
Real Time Operating system (RTOS) - Embedded systems
Hariharan Ganesan
 
Device Drivers
Device DriversDevice Drivers
Device Drivers
Suhas S R
 
Embedded system Design
Embedded system DesignEmbedded system Design
Embedded system Design
AJAL A J
 
Embedded Firmware Design and Development, and EDLC
Embedded Firmware Design and Development, and EDLCEmbedded Firmware Design and Development, and EDLC
Embedded Firmware Design and Development, and EDLC
JuliaAndrews11
 
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded SystemsEmbedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Ahmed El-Arabawy
 
Fault tolerance techniques tsp
Fault tolerance techniques tspFault tolerance techniques tsp
Fault tolerance techniques tsp
Pradeep Kumar TS
 
Assembly Language
Assembly LanguageAssembly Language
Assembly Language
Ibrahimcommunication Al Ani
 
IoT and m2m
IoT and m2mIoT and m2m
IoT and m2m
pavan penugonda
 
Communication Interface of The Embedded Systems
Communication Interface of The Embedded Systems Communication Interface of The Embedded Systems
Communication Interface of The Embedded Systems
VijayKumar5738
 
Embedded systems presentation
Embedded systems presentationEmbedded systems presentation
Embedded systems presentation
Surender Singh
 
Multiprocessor architecture
Multiprocessor architectureMultiprocessor architecture
Multiprocessor architecture
Arpan Baishya
 
I/O Ports
I/O Ports I/O Ports
I/O Ports
Islam Samir
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded Systems
Joy Dutta
 
RTOS for Embedded System Design
RTOS for Embedded System DesignRTOS for Embedded System Design
RTOS for Embedded System Design
anand hd
 
Rtos Concepts
Rtos ConceptsRtos Concepts
Rtos Concepts
Sundaresan Sundar
 
Embedded
EmbeddedEmbedded
Embedded
Satyanarayan Shenoy
 
Real Time Kernels
Real Time KernelsReal Time Kernels
Real Time Kernels
Arnav Soni
 
Real Time OS For Embedded Systems
Real Time OS For Embedded SystemsReal Time OS For Embedded Systems
Real Time OS For Embedded Systems
Himanshu Ghetia
 
Introduction to Arduino Programming: Features of Arduino
Introduction to Arduino Programming: Features of ArduinoIntroduction to Arduino Programming: Features of Arduino
Introduction to Arduino Programming: Features of Arduino
Abhimanyu Sangale
 
Introduction to arm architecture
Introduction to arm architectureIntroduction to arm architecture
Introduction to arm architecture
Zakaria Gomaa
 
Real Time Operating system (RTOS) - Embedded systems
Real Time Operating system (RTOS) - Embedded systemsReal Time Operating system (RTOS) - Embedded systems
Real Time Operating system (RTOS) - Embedded systems
Hariharan Ganesan
 
Device Drivers
Device DriversDevice Drivers
Device Drivers
Suhas S R
 
Embedded system Design
Embedded system DesignEmbedded system Design
Embedded system Design
AJAL A J
 
Embedded Firmware Design and Development, and EDLC
Embedded Firmware Design and Development, and EDLCEmbedded Firmware Design and Development, and EDLC
Embedded Firmware Design and Development, and EDLC
JuliaAndrews11
 
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded SystemsEmbedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Ahmed El-Arabawy
 
Fault tolerance techniques tsp
Fault tolerance techniques tspFault tolerance techniques tsp
Fault tolerance techniques tsp
Pradeep Kumar TS
 
Communication Interface of The Embedded Systems
Communication Interface of The Embedded Systems Communication Interface of The Embedded Systems
Communication Interface of The Embedded Systems
VijayKumar5738
 
Embedded systems presentation
Embedded systems presentationEmbedded systems presentation
Embedded systems presentation
Surender Singh
 
Multiprocessor architecture
Multiprocessor architectureMultiprocessor architecture
Multiprocessor architecture
Arpan Baishya
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded Systems
Joy Dutta
 
RTOS for Embedded System Design
RTOS for Embedded System DesignRTOS for Embedded System Design
RTOS for Embedded System Design
anand hd
 
Real Time Kernels
Real Time KernelsReal Time Kernels
Real Time Kernels
Arnav Soni
 

Similar to Embedded os (20)

Autosar Basics hand book_v1
Autosar Basics  hand book_v1Autosar Basics  hand book_v1
Autosar Basics hand book_v1
Keroles karam khalil
 
Ecoz presentation
Ecoz presentationEcoz presentation
Ecoz presentation
Shehla Afzal Mawan
 
Low cost embedded system
Low cost embedded systemLow cost embedded system
Low cost embedded system
ece svit
 
Operating systems
Operating systemsOperating systems
Operating systems
anishgoel
 
Embedded Systems
Embedded SystemsEmbedded Systems
Embedded Systems
Benjim Thomas Mathew
 
UNIT 1 SONCA.pptx
UNIT 1 SONCA.pptxUNIT 1 SONCA.pptx
UNIT 1 SONCA.pptx
mohan134666
 
introduction to embedded system basics o
introduction to embedded system basics ointroduction to embedded system basics o
introduction to embedded system basics o
BhanuBPrakash
 
CS403: Operating System : Lec 1 Introduction.pptx
CS403: Operating System : Lec 1 Introduction.pptxCS403: Operating System : Lec 1 Introduction.pptx
CS403: Operating System : Lec 1 Introduction.pptx
Guru Nanak Technical Institutions
 
Trainingreport on embedded system
Trainingreport on embedded systemTrainingreport on embedded system
Trainingreport on embedded system
Mukul Mohal
 
StructuringMethod study of information and communication technoloy.pptx
StructuringMethod study of information and communication technoloy.pptxStructuringMethod study of information and communication technoloy.pptx
StructuringMethod study of information and communication technoloy.pptx
TumithoSteven
 
ch1.ppt
ch1.pptch1.ppt
ch1.ppt
BilalWarraich15
 
Crussoe proc
Crussoe procCrussoe proc
Crussoe proc
tyadi
 
Webinar presentation on AUTOSAR Multicore Systems
Webinar presentation on AUTOSAR Multicore SystemsWebinar presentation on AUTOSAR Multicore Systems
Webinar presentation on AUTOSAR Multicore Systems
KPIT
 
Lab6 rtos
Lab6 rtosLab6 rtos
Lab6 rtos
indirakumar86
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3
Diane Allen
 
es1-150721100817-lva1-app6891.pdf
es1-150721100817-lva1-app6891.pdfes1-150721100817-lva1-app6891.pdf
es1-150721100817-lva1-app6891.pdf
Ashwin180668
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded Systems
Sandeep Reddy
 
Develop Your Own Operating Systems using Cheap ARM Boards
Develop Your Own Operating Systems using Cheap ARM BoardsDevelop Your Own Operating Systems using Cheap ARM Boards
Develop Your Own Operating Systems using Cheap ARM Boards
National Cheng Kung University
 
CMSIS_RTOS_Tutorial.pdf
CMSIS_RTOS_Tutorial.pdfCMSIS_RTOS_Tutorial.pdf
CMSIS_RTOS_Tutorial.pdf
chau44
 
Training report on embedded sys_AVR
Training report on embedded sys_AVRTraining report on embedded sys_AVR
Training report on embedded sys_AVR
Galgotias College of Engg. & Tech.
 
Low cost embedded system
Low cost embedded systemLow cost embedded system
Low cost embedded system
ece svit
 
Operating systems
Operating systemsOperating systems
Operating systems
anishgoel
 
UNIT 1 SONCA.pptx
UNIT 1 SONCA.pptxUNIT 1 SONCA.pptx
UNIT 1 SONCA.pptx
mohan134666
 
introduction to embedded system basics o
introduction to embedded system basics ointroduction to embedded system basics o
introduction to embedded system basics o
BhanuBPrakash
 
Trainingreport on embedded system
Trainingreport on embedded systemTrainingreport on embedded system
Trainingreport on embedded system
Mukul Mohal
 
StructuringMethod study of information and communication technoloy.pptx
StructuringMethod study of information and communication technoloy.pptxStructuringMethod study of information and communication technoloy.pptx
StructuringMethod study of information and communication technoloy.pptx
TumithoSteven
 
Crussoe proc
Crussoe procCrussoe proc
Crussoe proc
tyadi
 
Webinar presentation on AUTOSAR Multicore Systems
Webinar presentation on AUTOSAR Multicore SystemsWebinar presentation on AUTOSAR Multicore Systems
Webinar presentation on AUTOSAR Multicore Systems
KPIT
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3
Diane Allen
 
es1-150721100817-lva1-app6891.pdf
es1-150721100817-lva1-app6891.pdfes1-150721100817-lva1-app6891.pdf
es1-150721100817-lva1-app6891.pdf
Ashwin180668
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded Systems
Sandeep Reddy
 
Develop Your Own Operating Systems using Cheap ARM Boards
Develop Your Own Operating Systems using Cheap ARM BoardsDevelop Your Own Operating Systems using Cheap ARM Boards
Develop Your Own Operating Systems using Cheap ARM Boards
National Cheng Kung University
 
CMSIS_RTOS_Tutorial.pdf
CMSIS_RTOS_Tutorial.pdfCMSIS_RTOS_Tutorial.pdf
CMSIS_RTOS_Tutorial.pdf
chau44
 
Ad

Recently uploaded (20)

Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...
Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...
Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...
Library Association of Ireland
 
Geography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjectsGeography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjects
ProfDrShaikhImran
 
How to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 WebsiteHow to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 Website
Celine George
 
apa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdfapa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdf
Ishika Ghosh
 
Political History of Pala dynasty Pala Rulers NEP.pptx
Political History of Pala dynasty Pala Rulers NEP.pptxPolitical History of Pala dynasty Pala Rulers NEP.pptx
Political History of Pala dynasty Pala Rulers NEP.pptx
Arya Mahila P. G. College, Banaras Hindu University, Varanasi, India.
 
To study the nervous system of insect.pptx
To study the nervous system of insect.pptxTo study the nervous system of insect.pptx
To study the nervous system of insect.pptx
Arshad Shaikh
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
Exploring-Substances-Acidic-Basic-and-Neutral.pdf
Exploring-Substances-Acidic-Basic-and-Neutral.pdfExploring-Substances-Acidic-Basic-and-Neutral.pdf
Exploring-Substances-Acidic-Basic-and-Neutral.pdf
Sandeep Swamy
 
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam SuccessUltimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Mark Soia
 
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Library Association of Ireland
 
Social Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy StudentsSocial Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy Students
DrNidhiAgarwal
 
Introduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe EngineeringIntroduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe Engineering
Damian T. Gordon
 
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Library Association of Ireland
 
Sinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_NameSinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_Name
keshanf79
 
GDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptxGDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptx
azeenhodekar
 
P-glycoprotein pamphlet: iteration 4 of 4 final
P-glycoprotein pamphlet: iteration 4 of 4 finalP-glycoprotein pamphlet: iteration 4 of 4 final
P-glycoprotein pamphlet: iteration 4 of 4 final
bs22n2s
 
Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025
Mebane Rash
 
Presentation on Tourism Product Development By Md Shaifullar Rabbi
Presentation on Tourism Product Development By Md Shaifullar RabbiPresentation on Tourism Product Development By Md Shaifullar Rabbi
Presentation on Tourism Product Development By Md Shaifullar Rabbi
Md Shaifullar Rabbi
 
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Library Association of Ireland
 
2541William_McCollough_DigitalDetox.docx
2541William_McCollough_DigitalDetox.docx2541William_McCollough_DigitalDetox.docx
2541William_McCollough_DigitalDetox.docx
contactwilliamm2546
 
Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...
Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...
Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...
Library Association of Ireland
 
Geography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjectsGeography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjects
ProfDrShaikhImran
 
How to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 WebsiteHow to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 Website
Celine George
 
apa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdfapa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdf
Ishika Ghosh
 
To study the nervous system of insect.pptx
To study the nervous system of insect.pptxTo study the nervous system of insect.pptx
To study the nervous system of insect.pptx
Arshad Shaikh
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
Exploring-Substances-Acidic-Basic-and-Neutral.pdf
Exploring-Substances-Acidic-Basic-and-Neutral.pdfExploring-Substances-Acidic-Basic-and-Neutral.pdf
Exploring-Substances-Acidic-Basic-and-Neutral.pdf
Sandeep Swamy
 
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam SuccessUltimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Mark Soia
 
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Library Association of Ireland
 
Social Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy StudentsSocial Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy Students
DrNidhiAgarwal
 
Introduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe EngineeringIntroduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe Engineering
Damian T. Gordon
 
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Library Association of Ireland
 
Sinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_NameSinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_Name
keshanf79
 
GDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptxGDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptx
azeenhodekar
 
P-glycoprotein pamphlet: iteration 4 of 4 final
P-glycoprotein pamphlet: iteration 4 of 4 finalP-glycoprotein pamphlet: iteration 4 of 4 final
P-glycoprotein pamphlet: iteration 4 of 4 final
bs22n2s
 
Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025
Mebane Rash
 
Presentation on Tourism Product Development By Md Shaifullar Rabbi
Presentation on Tourism Product Development By Md Shaifullar RabbiPresentation on Tourism Product Development By Md Shaifullar Rabbi
Presentation on Tourism Product Development By Md Shaifullar Rabbi
Md Shaifullar Rabbi
 
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Library Association of Ireland
 
2541William_McCollough_DigitalDetox.docx
2541William_McCollough_DigitalDetox.docx2541William_McCollough_DigitalDetox.docx
2541William_McCollough_DigitalDetox.docx
contactwilliamm2546
 
Ad

Embedded os

  • 1. CpE Battle of the Brains
  • 3. Definition Embedded System is a combination of computer hardware and software, and perhaps additional mechanical or other parts, designed to perform a dedicated function. In many cases, embedded systems are part of a larger system or product, as in the case of an antilock braking system in a car.
  • 4. Requirements and Constraints Small to large systems, implying very different cost constraints, thus different needs for optimization and reuse Relaxed to very strict requirements and combinations of different quality requirements. Short to long life times Different environmental conditions. Different application characteristics resulting in static dynamic loads, slow to fast speed, compute versus interface intensive tasks and/or combinations Different models of computations ranging from discrete-event systems to those involving continuous time dynamics
  • 5. MECHANICS Each correct answer is worth 3 points Only the first contestant who raises his/her hands has the right to answer the question Questions can be answered after the game master says “GO” A tie breaker question worth 1 point is required if more than one contestant has the highest point total The highest point total wins the game
  • 6. Emmanuel John A. Pascual Maria Monereeza M. Floria – Our Lady of Fatima University Ma-an Andria R. Lacierda - WCC Francis Argel D. Gonzales - TIPQC Heherson Q. Suaiso - ACCESS GAME MASTER COntestants
  • 7. What are the Applications of Embedded OS?
  • 8. Applications Market Embedded Device Automotive Ignition systems Engine control Brake system Consumer electronics Cameras Toys/Games Telephones/Cell Phones/Pagers Industrial control Robotics Sensors
  • 9. Applications Medical Infusion pumps Cardiac monitors Dialysis machines Office automation Fax machine Printer Scanners
  • 10. SCORE TABLE EZA MAAN ARGEL SUAISO 3 0 0 0
  • 11. What are the CHARACTERISTICS of Embedded OS?
  • 12. Characteristics of E.Os Direct use of interrupts There are three (3) reasons why it is possible to let interrupts directly start or stop tasks. Embedded systems can be considered to be thoroughly tested. Protection is not necessary Efficient control over a variety of devices is required
  • 13. Characteristics of E.Os I/O device flexibility There is virtually no device that needs to be supported by all versions of the OS, and the range of I/O device in large. Streamlined protection mechanisms Embedded systems are typically designed for a limited, well-defined functionality. After the software has been configured and tested. It can be assumed to be reliable. Thus, apart from security measures, embedded systems have limited protection mechanisms.
  • 14. SCORE TABLE EZA MAAN ARGEL SUAISO 6 0 0 0
  • 15. What are the APPROACHES IN THE DEVELOPMENT OF Embedded OS?
  • 16. Development Approaches Advantage Disadvantage Adapting an existing commercial OS The Embedded OS derived from a commercial general-purpose OS is based on a set of familiar interfaces. The OS is not optimized for real-time and embedded applications. Purpose-Built Embedded OS (Ecos and Tiny Os) Purposely designed for tasks requiring predictable operation over fast operations, necessitating different design decisions, particularly in the area of task scheduling. Must be designed from the ground up for embedded applications
  • 17. SCORE TABLE EZA MAAN ARGEL SUAISO 9 0 0 0
  • 19. ECOs Embedded Configurable Operating System is an open source, royalty-free, real-time OS. Intended for embedded applications. A system targeting at high performance small embedded systems. For such systems, an embedded form of Linux and other commercial Os would not provide the streamlined software required.
  • 20. SCORE TABLE EZA MAAN ARGEL SUAISO 9 3 0 0
  • 21. HOW DOES CONFIGURABILITY MEAN IN TERMS OF EOS?
  • 22. Configurability An embedded system OS that is flexible enough to be used in a wide variety of embedded application and on a wide variety of embedded platforms must provide more functionality than will be needed for any particular application and platform. Configuration tool Is used to configure the ECos package to run on the target embedded system. (running on windows or Linux).
  • 23. Configurability Loading an ECos Configuration GNU make utility Application Source Code GNU Cross Compiler GNU Linker Executable file ECOs kernel libraries Target architecture libraries
  • 24. SCORE TABLE EZA MAAN ARGEL SUAISO 9 6 0 0
  • 25. WHAT ARE THE ECOS COMPONENTS?
  • 26. ECOS Components A key design requirement for the ECOS is portability to different architectures and platforms with minimal effort. Main components are as follows: User application code Standard C library I/O system (device drivers) Kernels Hardware abstraction layer
  • 27. ECOS Components User Application Code Standard C library I/O System (device drivers) Kernels Hardware abstraction layer
  • 28. SCORE TABLE EZA MAAN ARGEL SUAISO 9 9 0 0
  • 30. Hardware Abstraction Layer The HAL is software that presents a consisted API to the upper layers and maps upper-layer operations onto specific hardware platform. The HAL is implemented as three (3) separate modules. Architecture: defines the processor type. Variant: supports the features of the specific processor in the family. Platform: extends the HAL support to tightly coupled peripherals like interrupt controllers and time devices.
  • 31. SCORE TABLE EZA MAAN ARGEL SUAISO 9 9 0 3
  • 32. WHAT IS ECOS KERNEL?
  • 33. ECOS kernel Kernels were designed to satisfy four (4) main objectives Low interrupt latency: the time it takes to respond to an interrupt and begin execute an ISR Low task switching latency: the time it takes from when a thread becomes available to when actual execution begins. Small memory footprint memory resources for both program and data are kept to a minimum by allowing components to configure memory needed. Deterministic behavior: throughout all the aspect of execution. The kernel performance must be predictable and bounded to meet real-time application requirements.
  • 34. ECOS kernel ECOS kernels also provide the core functionality needed for developing multi-threaded applications The ability to add/create new threads in the system Control over various threads in the system A choice of scheduler, determining which thread should currently be running A range of synchronization primitives, allowing thread interaction Integration with the system’s support for interrupts and exceptions
  • 35. SCORE TABLE EZA MAAN ARGEL SUAISO 9 9 0 6
  • 36. WHAT IS I/O SYSTEM?
  • 37. I/O System The ECOS I/O system is a framework for supporting device drivers. A variety of drivers for a variety of platform are provided in the ECOS configuration package. These include drivers for serial devices, Ethernet, flash memory interfaces, and various I/O interconnects such as PCI (peripheral component interface) and USB (universal serial bus).
  • 38. I/O System Device drivers and other higher-layer software may be implemented directly on the HAL if this is appropriate. If specialized kernel type functions are needed, then the device driver is implemented using kernel APIs. The kernel provides a three-level interrupt model. Interrupt service routines (ISR): invoked response to a hardware interrupt. Hardware interrupts are delivered with minimal intervention to an ISR. Deferred service routines (DSR): invoked in response to a request by an ISR. DSR will run when it is safe to do so without interfering with the scheduler. Threads: the client to the driver. Threads are able to make all API (Application Programming Interface) calls and in particular are allowed to wait on mutexes and conditional variables.
  • 39. SCORE TABLE EZA MAAN ARGEL SUAISO 9 9 0 9
  • 40. WHAT ARE STANDARD C LIBRARIES?
  • 41. Standard C Libraries A complete standard C run-time is provided. Also included is a complete math run time library for high-level mathematic functions, including a complete IEEE-754 floating-point library for those platforms without hardware floating points.
  • 42. SCORE TABLE EZA MAAN ARGEL SUAISO 9 9 3 9
  • 43. WHAT IS AN ECOS SCHEDULER?
  • 44. ECOS Scheduler Bitmap Scheduler a bitmap scheduler supports multiple priority levels but only 1 thread can exist at each priority level at a given time . Description: because there is only 1 thread, at most, at each priority level, the scheduler does not have to make a decision as to which thread at a given priority level should be dispatched next.
  • 45. ECOS Scheduler Multi-queue scheduler The multi-queue scheduler is appropriate if the number of threads is dynamic or if the desirable to have multiple threads at the same priority level. The multilevel scheduler is also needed if time slicing is needed.
  • 46. SCORE TABLE EZA MAAN ARGEL SUAISO 9 9 6 9
  • 47. WHAT IS ECOS THREAD Synchronization?
  • 48. ECOs Thread Synchronization Mutexes the mutex (mutual exclusion lock) is used to enforce mutually exclusive access to a resource. Allowing only 1 thread at a time to gain access. Has 2 states: locked and unlocked. When a mutex is locked by 1 thread, any other thread attempting to lock the mutex is blocked; when the mutex is unlocked. Then one of the threads blocked on this mutex is unblocked and allowed to lock the mutex and gain access on the resource.
  • 49. ECOs Thread Synchronization Semaphores counting semaphores are suited to enabling threads to wait until an event has occurred. The event may be generated by a producer thread. Or by a DSR in response to a hardware interrupt. Description If counter is ZERO, an attempt by a consumer thread to wait on the semaphore will block until some other thread or a DSR post a new event to the semaphore If counter is greater than ZERO then an attempt to wait on the semaphore will consume one event.
  • 50. ECOs Thread Synchronization Conditional Codes a conditional variable is used to block a thread until a particular condition is TRUE. Condition variables are used with mutexes to allow multiple thread to access shared data. They can be used to implement monitors of the type in ECOs. Event Flags is a 32-bit word used as a synchronization mechanism. Application code may associate a different event with each bit on the flag. A thread can wait for either a single event or a combination of events by checking 1 or multiple bits in a corresponding flag.
  • 51. ECOs Thread Synchronization Mailboxes also called message boxes are an ECOs synchronization mechanism that provides a means for 2 threads to exchange information. Can be configured for blocking/non-blocking on both the send and receive side. Spinlocks A spinlock is a flag that a thread can check before executing a particular piece of code. Basically, only 1 thread at a time can acquire a spinlock. Any other thread attempting to acquire the same lock will keep trying (spinning) until it can acquire a lock.
  • 52. SCORE TABLE EZA MAAN ARGEL SUAISO 9 9 9 9
  • 53. Tiebreaker Question: 1 point WHAT IS ECOS TINY OS?
  • 54. TinyOS   The ECOS system provides a more streamlined approach for an embedded OS than one based on a commercial general-purpose OS. Such as an embedded version of the LINUX, thus ECOS and similar system are better suited for small embedded system with tight requirement on memory, processing -time, real-time response, power consumption, and so on. TINYOS takes the process of streamlining in much a further point, resulting in a very minimal OS for embedded systems.
  • 55. SCORE TABLE CONGRATULATIONS TIPQC! EZA MAAN ARGEL SUAISO 9 9 10 9
  • 56. Wireless Sensor Networks TINYOS was developed primarily for use with networks of small wireless sensor. A number of treads have enabled the development of extremely compact, low-power sensors. The well-known Moore’s law continuous to drive down the size of memory and processing logic elements. Smaller size in turn reduces power consumption. Low power and small size treads are also evident in wireless communication hardware, micro-electrical sensors (MEMS) and transducers.
  • 57. Tiny OS Goals Allow high concurrency in a typical wireless sensor network application, the devices are concurrency intensive. Several different flow of data must be kept moving simultaneously. Operate with limited resources the target platform for Tiny OS will have limited memory and computational resources and run on batteries or solar power.
  • 58. Tiny OS Goals Adapt to hardware evolution should be possible to upgrade the hardware with little or no software change, if the functionality is the same. Support a wide range of applications applications exhibit a wide range of requirements in terms of lifetimes, communication, sensing and so on.
  • 59. Tiny OS Goals Support a diverse set of platforms as with preceding point, a general-purpose embedded OS is desirable. Be robust once deployed, a sensor network must run unattended for months or years. Ideally, there should be redundancy both within a single system and across the network of sensors.
  • 60. TINYOS Components An embedded software system built using TINYOS consists of a set of small modules called components, each of which performs a simple task or set of tasks and which interface with each other and with hardware is limited and well-defined ways. The other software module is the scheduler. And because the TINYOS doesn’t utilize kernels, there is no actual OS. But we can take the following view. The application area of interest is the wireless sensor network (WSN).
  • 61. TINYOS Components The meet the demanding software requirement of this application, rigid, simplified software architecture is dedicated, consisting of components. The TINYOS development community has implemented a number of open-source components that provide the basic functions needed for the WSN application.
  • 62. TINYOS Scheduler The TINYOS scheduler operates across all components. Virtually all embedded systems using TINYOS will be uni-processor systems, so that only one task among all the tasks in all the components may execute at a time. The scheduler is a separate component. It is the only portion of TINYOS that must be present in any system.
  • 63. TINYOS resource Interface Provides a simple but powerful set of conventions for dealing with resources. Three (3) abstractions for resources are used in TINYOS. Dedicated: a resource that a subsystem needs exclusive access at all times Virtualized: the virtualized abstraction may be used when the underlying resource need not be protected by mutual exclusion. Shared: the shared resource abstraction provides access to a dedicated resource through an arbiter component. The arbiter enforces mutual conclusion allowing only the user at a time to have access to a resource and enabling the client to lock the resource.
  • 64. TINYOS resource Interface The shared resource configuration provides the following interfaces to a client: Resource: the client issues a request at this interface requesting access to the resource. Resource Requested: this is similar to the resource interface. In this case, the client is able to hold onto a resource until the client is notified that someone else needs the resource.
  • 65. TINYOS resource Interface Resources Configure: this interface allows a resource to be automatically configured just before a client is granted access to it. Resource-Specific interfaces: once a client has access to resource, it uses resource-specific interfaces to exchange data and control information with the resource.
  • 66. THE END THANK YOU VERY MUCH!