2.7.08

real time operating system

What is real-time?

--“a real-time system is a system whose correctness includes its response time as well as its functional correctness”
--The system doesn't just run software to plough through the process; it needs to do it in a timely manner
So, real-time systems care about timeliness, but just how timely isn't clear until you add a modifier to "real-time"

In other words,
-real-time is very much a gray region
-"Response to what?" To "events", which are either external events, communicated to the system via its input/output interfaces (which include things like Ethernet as well as audio, keyboard, or mouse input), or to timer-triggered events within the system itself

RTOS

--Has to adhere to a strict set of policies and rules
--The most distinguishable feature being that a real-time operating system is deterministic
--Being deterministic is guarantee that a software system will execute within a specific time constraint

Events of an RTOS are performed within a specified period of time

-Because h/w and s/w interactions can accurately measure the number of clock cycles it will take
-Any process which isn’t predictable is non-deterministic and therefore also not real-time

--The time period is not only thing that governs the RTOS
--Also based on strict hierarchy of commands
-Kernel
(kernel controls the operations of system)


Kernel?

--Part of OS that provides the most basic services to applications s/w running on a processor
--Provides an “abstraction layer”
--Hides from application s/w

Real Time Kernels




--Have to adhere to strict set of policies and rules

Suggested policies :

1.Should be multitasking design
.In order to maximize CPU’s efficiency
.Must know the internal workings of CPU
.Be fully integrated with hardware target
2.The multitasking kernel should be driven in response to internal and external system events
3.Should support a number of independent or interrelated tasks
.Each having its own priority associated with its scheduling importance
4.The kernel’s performance should be, to the greatest extent, deterministic
5.Should be designed and written in such a way that imposes minimal overhead to the app tasks and should have small RAM requirements

Suggested Rules :

1.Common rules of task scheduling applies.
-If a higher priority task become ready to execute, it preempts the lower priority task and becomes the current task
-A null task is always has the lowest priority and must never be blocked
2.The kernel must be interruptible but not reentrant
3.An interrupt service routine (ISR) must not issue kernel system calls except to signal another event or to terminate itself

Types of RTOS

1.Hard real time operating system
2.Soft real time operating system

No comments: