1. What is Operating System :
An Operating System sis an important part of almost every computer system. The Operating
System Controls and coordinates the use of the hardware among the various application
programs for the varous users.
2. Some Core functional Some core functional similarities between a typical RTOS and
GPOS(General Purpose Operating System) include:
some level of multitasking,
software and hardware resource management,
provision of underlying OS services to applications, and
abstracting the hardware from the software application
On the other hand, some key functional differences that set RTOSes apart from GPOSes
include:
better reliability in embedded application contexts,
the ability to scale up or down to meet application needs,
faster performance,
reduced memory requirements,
scheduling policies tailored for real-time embedded systems,
support for diskless embedded systems by allowing executables to boot and run from
ROM or RAM, and
better portability to different hardware platforms.
3. Real Time Operating System
The RTOS should have predictable behavior to unpredictable external
events. “A good RTOS is one that has a bounded (predictable) behavior
under all system load scenario i.e. even under simultaneous interrupts and
thread execution.”
A real-time operating system (RTOS) is a multi-tasking operating system intended for real-time
application.
These operating systems occupy little space from 10 KB to 100KB as
compared to the General Operating systems which take hundreds of
megabytes.
Basic Requirements of an RTOS
Multi-Tasking and preemptable :- The scheduler should be able to preempt any
task in the system and give the resource to the task that needs it most. An RTOS
should also handle multiple levels of interrupts to handle multiple priority levels.
Dynamic Deadline Identification :- In order to achieve preemption, an RTOS
should be able to dynamically identify the task with the earliest deadline. To
handle deadlines, deadline information may be converted to priority levels that are
used for resource allocation.
Sufficient Priority Levels :- The scheduler makes the priority of the accessing task
equal to that of the resource. After a task releases a resource, its priority is
returned to its original value.
Memory Management
An RTOS uses small memory size by including only the necessary functionality
for an application while discarding the rest. Below we discuss static and dynamic
memory management in RTOSs.
Static Memory Management :-
Dynamic Memory Management :-
4. An RTOS will typically use specialized scheduling algorithms inorder to provide the real-time
developer with the tools necessaryto produce deterministic behavior in the final system
The are two Basic Design exist:
Event Driven (Priority Scheduling):
The static priority : A task is given a priority at the time it iscreated, and it keeps this priority
during the whole lifetime. The scheduler is very simple, because it looks at all wait queues at
each priority level, and starts the task with the highest priorityto run.
Dynamic priority:
The scheduler becomes more complex becauseit has to calculate task’s priority on-line, based
on dynamically changing parameters.
Earliest-deadline-first (EDF) A task with a closer deadline gets a higher scheduling
priority.
Rate-monotonic scheduling : A task gets a higher priorityif it has to run more
frequently. This is a common approachin case that all tasks are periodic. So, a task that has to
runevery n milliseconds gets a higher priority than a taskthat runs every m milliseconds when
n<m
Program counter assignments (switch) at different times, when the on the scheduler calls the o
tasks from the list one by one in the circular queue from the list.
5. Cyclic Scheduling model in tasks scheduling
The first three tasks among N tasks in washing machine tasking scheduling
Cooperative Priority based scheduling of the ISRs executing in the first layer and Priority based
ready tasks at an ordered list executing in the second layer
6. Real Time Operating System
Real Time Operating System
A real-time operating system (RTOS) is a program that schedules execution in a timely manner,
manages system resources, and provides a consistent foundation for developing application
code.
An embedded system with a single CPU can run only one process at an instance.
Provides running the user threads in kernel space so that they execute fast.Provides effective
handling of the ISRs, device drivers, ISTs, tasks or threads
Provides memory allocation and deallocation functions in fixed time and blocks of memory.
Provides for effectively scheduling and running and blocking of the tasks in cases of number of
many tasks
Conclusion
RTOS is an OS for effective real time scheduling of the concurrent processes
7. Real Time Operating Systems
RTOSes are best suited for real-time, application-specific embedded systems; GPOSes
are typically used for general-purpose systems