Hardware Reference
In-Depth Information
creation
communication
utility
Service layer
system calls
termination
synchronization
services
Processor
scheduling
dispatching
management
kernel
List management
list management
mechanisms
Machine layer
context
interrupt
timer
switch
handling
handling
(assembly code)
Figure 10.1
Hierarchical structure of DICK.
Machine layer . This layer directly interacts with the hardware of the physical
machine; hence, it is written in assembly language. The primitives realized at
this level mainly deal with activities such as context switch, interrupt handling,
and timer handling. These primitives are not visible at the user level.
List management layer . To keep track of the status of the various tasks, the
kernel has to manage a number of lists, where tasks having the same state are
enqueued. This layer provides the basic primitives for inserting and removing a
task to and from a list.
Processor management layer . The mechanisms developed in this layer only
concerns scheduling and dispatching operations.
Service layer . This layer provides all services visible at the user level as a set of
system calls. Typical services concern task creation, task abortion, suspension of
periodic instances, activation and suspension of aperiodic instances, and system
inquiry operations.
10.2
PROCESS STATES
In this section, we describe the possible states in which a task can be during its execu-
tion and how a transition from a state to another can be performed.
In any kernel that supports the execution of concurrent activities on a single processor,
where semaphores are used for synchronization and mutual exclusion, there are at
least three states in which a task can enter:
 
Search WWH ::




Custom Search