What is Operating System :An Operating System sis an important part of almost every computer system. The OperatingSystem Controls and coordinates the use of the hardware among the various applicationprograms for the varous users.
Some Core functional Some core functional similarities between a typical RTOS andGPOS(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 applicationOn the other hand, some key functional differences that set RTOSes apart from GPOSesinclude: 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 fromROM or RAM, and better portability to different hardware platforms.
Real Time Operating SystemThe RTOS should have predictable behavior to unpredictable externalevents. “A good RTOS is one that has a bounded (predictable) behaviorunder all system load scenario i.e. even under simultaneous interrupts andthread execution.” A real-time operating system (RTOS) is a multi-tasking operating system intended for real-timeapplication.These operating systems occupy little space from 10 KB to 100KB ascompared to the General Operating systems which take hundreds ofmegabytes.Basic Requirements of an RTOSMulti-Tasking and preemptable :- The scheduler should be able to preempt anytask in the system and give the resource to the task that needs it most. An RTOSshould also handle multiple levels of interrupts to handle multiple priority levels.Dynamic Deadline Identification :- In order to achieve preemption, an RTOSshould be able to dynamically identify the task with the earliest deadline. Tohandle deadlines, deadline information may be converted to priority levels that areused for resource allocation.Sufficient Priority Levels :- The scheduler makes the priority of the accessing taskequal to that of the resource. After a task releases a resource, its priority isreturned to its original value.Memory ManagementAn RTOS uses small memory size by including only the necessary functionalityfor an application while discarding the rest. Below we discuss static and dynamicmemory management in RTOSs.Static Memory Management :-Dynamic Memory Management :-
An RTOS will typically use specialized scheduling algorithms inorder to provide the real-timedeveloper with the tools necessaryto produce deterministic behavior in the final systemThe 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 priorityduring the whole lifetime. The scheduler is very simple, because it looks at all wait queues ateach 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, basedon dynamically changing parameters. Earliest-deadline-first (EDF) A task with a closer deadline gets a higher schedulingpriority. Rate-monotonic scheduling : A task gets a higher priorityif it has to run morefrequently. This is a common approachin case that all tasks are periodic. So, a task that has torunevery n milliseconds gets a higher priority than a taskthat runs every m milliseconds whenn<mProgram counter assignments (switch) at different times, when the on the scheduler calls the otasks from the list one by one in the circular queue from the list.
Cyclic Scheduling model in tasks schedulingThe first three tasks among N tasks in washing machine tasking schedulingCooperative Priority based scheduling of the ISRs executing in the first layer and Priority basedready tasks at an ordered list executing in the second layer
Real Time Operating SystemReal Time Operating SystemA 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 applicationcode.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 effectivehandling of the ISRs, device drivers, ISTs, tasks or threadsProvides 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 ofmany tasksConclusionRTOS is an OS for effective real time scheduling of the concurrent processes
Real Time Operating SystemsRTOSes are best suited for real-time, application-specific embedded systems; GPOSesare typically used for general-purpose systems