2.7.08

Real time kernel

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

Basic service provided by real time kernels :






--The most basic category of kernel services is Task Management
--Service in this category include the ability to launch tasks and assign priorities to them
--The second category of kernel services is Intertask Communications and Synchronizations
-Make possible for task to pass information from one to another
-Without danger of that information ever being damaged
-Possible for tasks to coordinate, so they can productively cooperate with one another

--Since many embedded systems have stringent timing requirements, most RTOS kernels also provide some basic Timer services, such as task delays and time-outs
--Many (but not all) RTOS kernels provide Dynamic Memory Allocation services
-allows tasks to "borrow" chunks of RAM memory for temporary use in application software
-Some very small RTOS kernels that are intended for tightly memory-limited environments, do not offer Dynamic Memory Allocation services
--Many (but not all) RTOS kernels also provide a "Device I/O Supervisor" category of services
-provide a uniform framework for organizing and accessing the many hardware device drivers that are typical of an embedded system
--In addition to kernel services, many RTOSs offer a number of optional add-on operating system components for such high-level services as file system organization, network communication, network management, database management, user-interface graphics, etc

No comments: