Fundamental of Embedded Operating Systems
- Description
- Curriculum
- FAQ
- Reviews
Hi Friends,
If you want to make the Carrier in Embedded System? If you want to make the Application in Real time? Then this course is beneficial for you in Starting Level. In this Course you Learn all about the Embedded Operating System.
The Course Content are:
- What is Embedded System?
- Architecture of Embedded System.
- Characteristics of Embedded OS.
- Developing an Embedded OS.
- Adapting an existing commercial operating system
- Purpose-built embedded operating system
- Timing Constraints in Embedded OS.
- What is Embedded Linux?
- What is Cross Compiler?
- Embedded Linux File Systems.
- Advantages of Embedded Linux.
- What is Android?
- Features of Android.
- Android Version.
- What is TinyOS?
- Structure of TinyOS.
- TinyOS Goals.
- TinyOS Components.
- TinyOS Components -Tasks
- TinyOS Components – Commands
- TinyOS Components – Events
- TinyOS Scheduler.
- TinyOS Resource Interface.
After completing this course, you will have the knowledge of both Hardware Components and Operating Systems. You are able to plan and use embedded operating systems in resource-constraint devices for Internet-of-Things applications.
Feel free to reach out if you have any additional questions in Embedded Operating Systems. Also this course has 30 days money back guarantee without any delay the applicants participate in this Course
All the best for your learning journey of Embedded Operating Systems !
Cheers!
Harish Kumar Maheshwari
-
2What is Embedded System?Video lesson
Refers to the use of electronics and software within a product that is designed to perform a dedicated function
in many cases, embedded systems are part of a larger system or product
antilock braking system in a car would be an example
-
3Architecture of embedded systemVideo lesson
Discuss the Architecture of Embedded System.
-
4Characteristics of Embedded OS.Video lesson
Real-time operation
Reactive operation
Configurability
I/O device flexibility
Streamlined protection mechanisms
Direct use of interrupts
-
5Developing an Embedded OS.Video lesson
Two general approaches:
•take an existing OS and adapt it for the embedded application
•design and implement an OS intended solely for embedded use
-
6Adapting an existing commercial operating systemVideo lesson
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
-
7Purpose-built embedded operating systemVideo lesson
Typical characteristics include:
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
-
8Timing Constraints in Embedded OS.Video lesson
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
-
9What is Embedded Linux?Video lesson
A version of Linux running in an embedded system
Embedded devices typically require support for a specific set of devices, periphrals, and protocols, depending on the hardware that is present in a given device and the intended purpose of that device
An embedded Linux distribution is a version of Linux to be 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
-
10What is Cross Compiler?Video lesson
A key differentiator between desktop/server and embedded Linux distributions is that desktop and server software is typically compiled on the platform where it will execute
Embedded Linux distributions are usually compiled on one platform but are intended to be executed on another
the software used for this purpose is referred to as a cross-compiler
-
11Embedded Linux File Systems.Video lesson
File system must be as small as possible
Commonly used examples:
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
-
12Advantages of Embedded Linux.Video lesson
Advantages of using Linux as the basis for an embedded OS include the following:
vendor independence
the platform provider is not dependent on a particular vendor to provide needed features and meet deadlines for deployment
varied hardware support
Linux support for a wide range of processor architectures and peripheral devices makes it suitable for virtually any embedded system
low cost
the use of Linux minimizes cost for development and training
open source
the use of Linux provides all of the advantages of open source
-
13What is Android?Video lesson
Focus of Android lies in the vertical integration of the Linux kernel and the Android user-space components
Many embedded Linux developers do not consider Android to be an instance of embedded Linux
from the point of view of these developers, a classic embedded device has a fixed function, frozen at the factory
-
14Features of AndroidVideo lesson
Android is an operating system for mobile devices. It is mostly used for smartphones, like Google's own Google Pixel, as well as by other phone manufacturers like HTC and Samsung. It has also been used for tablets such as the Motorola Xoom and Amazon Kindle. A modified Linux kernel is used as Android's kernel.
Google says that over 1.3 million Android smartphones are sold every day. Most mobile phones run Android, making it the most popular mobile operating system. It is also the most popular operating system in general.
It supports multitasking and two-dimensional and three-dimensional graphics.
Security updates are not provided on versions older than Android 8.0. Newer versions receive security updates if the phone manufacturer supports them. Phones which have Android 10 and above receive security updates (like app updates) directly from Google Play.
The current stable version is Android 11, released on September 8, 2020, and Android 10 is currently the most popular Android version.
-
15Android VersionVideo lesson
Discuss the Different Version of Android Operating System.
-
16What is TinyOS?Video lesson
Streamlines to a very minimal OS for embedded systems
Core OS requires 400 bytes of code and data memory combined
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
Has become a popular approach to implementing wireless sensor network software
-
17Structure of tinyOSVideo lesson
Discuss the Structure of TinyOS
-
18What is Wireless Sensor Network Topology?Video lesson
Discuss the WSN Topology.
-
19TinyOS Goals.Video lesson
With the tiny distributed sensor application in mind, the following goals were set for TinyOS:
allow high concurrency
operate with limited resources
adapt to hardware evolution
support a wide range of applications
support a diverse set of platforms
be robust
-
20TinyOS Components.Video lesson
Embedded software systems built with TinyOS 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
The application area of interest is the wireless sensor network (WSN)
-
21TinyOS Components ->TasksVideo lesson
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
-
22TinyOS Components -> CommandsVideo lesson
A command is a nonblocking request
a task that issues a command does not block or spin wait for a reply from the lower-level component
Is typically a request for the lower-level component to perform some service
The effect on the component that receives the command is specific to the command given and the task required to satisfy the command
A command cannot preempt the currently running task
A command does not cause a preemption in the called component and does not cause blocking in the calling component
-
23TinyOS Components -> EventsVideo lesson
Events in TinyOS may be tied either directly or indirectly to hardware events
Lowest-level software components interface directly to hardware interrupts
may be external interrupts, timer events, or counter events
An event handler in a lowest-level component may handle the interrupt itself or may propagate event messages up through the component hierarchy
A command can post a task that will signal an event in the future
in this case there is no tie of any kind to a hardware event
-
24TinyOS Scheduler.Video lesson
Operates across all components
Only one task executes at a time
The scheduler is a separate component
it is the one portion of TinyOS 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
-
25TinyOS Resource Interface.Video lesson
TinyOS provides a simple but powerful set of conventions for dealing with resources
Dedicated
a resource that a subsystem needs exclusive access to at all times
no sharing policy is needed
examples include interrupts and counters
Virtualized
every client of a virtualized resource interacts with it as if it were a dedicated resource
an example is a clock or timer
Shared
abstraction that provides access to a dedicated resource through an arbiter component
arbiter determines which client has access to the resource at which time
External Links May Contain Affiliate Links read more