Friday, January 10, 2014

uITRON4.0 Specification Memory Protection Extension (Page10)


Chapter 2. Concept of Specification and Common Rules

 

2.1 Main Concept


(1) Kernel Object
 
The resources processed by kernel are called Kernel Object (refer to uITRON4.0 specification 2.1.3 paragraph)
 
Kernel objects for this specification meant, the kernel objects excluding variable length memory pool and adding protection domain, memory object, protected memory pool, protected mailbox, system time, system state.
 
(2) Processing Unit
 
The program unit executed by kernel, is called as processing unit (refer to uITRON4.0 specification 3.5.1 paragraph). Kernel objects include Processing units.
 
Processing units for this specification will be, the processing units defined by uITRON4.0 specification. Namely, Interrupt handler, Interrupt Service Routine, Timer Event Handler (Periodic Handler, Alarm Handler, Overrun Handler), CPU exception Handler, Extended service call routine, Task, Task Exception processing routines.
 
(3) Access Subject and Access Object

The Access protection functionality provided by kernel will manage that which access object does what kind of manipulation or access permission to which access object, and will forbid the not permitted operation or access.
 
In this specification the access subject will be the processing unit and the access object will be the kernel objects. Namely, kernel will manage the information that which processing unit does what kind of operation/access permission to which kernel object.
 
[Supplement Explanation] It is not necessary that all kernel objects will be target to the protection. About the kernel objects which will be the targeted protection objects, please refer to 2.3 paragraph.
 
Extended service call routine is a processing unit which is independent from the processing unit which calls it. So, when kernel object is manipulated from extended service routine called from task, the extended service routine is considered as access subject, but not the task. According to this, TSK_SELF is cannot be applied to processing unit.
 

No comments: