Real Time Operating Real Time Operating Systems Systems: Lesson Lesson - 2: 2

Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

REAL TIME OPERATING

SYSTEMS

Lesson--2:
Lesson
PROCESS MANAGEMENT

2008 Chapter-8 L2: "Embedded Systems - Architecture, Programming 1


and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
1. Process Creation

2008 Chapter-8 L2: "Embedded Systems - Architecture, Programming 2


and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
Process creation

• Step 1: At the reset of the processor. in a


first─
computer system, an OS is initialized first─
enabling the use of the OS functions, which
includes the function to create the processes
Step 2: Using OS process creation function, a
process, which can be called initial process, is
created.
Step 3: OS started and that calls the initial
process to run.
2008 Chapter-8 L2: "Embedded Systems - Architecture, Programming 3
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
Process creation
 Step 4: When the initial process runs, it
creates subsequent processes.
Processes can be created hierarchically.
 OS schedules the threads and provide for
context switching between the threads (or
tasks).

2008 Chapter-8 L2: "Embedded Systems - Architecture, Programming 4


and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
Creation of a process
 Means defining the resources for the
process and address spaces (memory
blocks) for the created process, its stack, its
data and its heap and placing the process
initial information at a PCB

2008 Chapter-8 L2: "Embedded Systems - Architecture, Programming 5


and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
PCB
 (a) Context
 (ii) Process stack pointer
 (iii) Current state [Is it created, activated or
spawned? Is it running? Is it blocked?]
 (iv) Addresses that are allocated and that are
presently in use

2008 Chapter-8 L2: "Embedded Systems - Architecture, Programming 6


and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
PCB
 (v) Pointer for the parent process
 (vi) Pointer to a list of daughter processes.
 (vii) Pointer to a list of resources, which are
usable (consumed) only once. For
examples, input data, memory buffer or
pipe, mailbox message, semaphore
 (viii) Pointer to a list of resources, which
are usable (consumed) only once

2008 Chapter-8 L2: "Embedded Systems - Architecture, Programming 7


and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
PCB
 (ix) Pointer to queue of messages.
 (x) Pointer to Access-permissions
descriptor
 (xi) ID

2008 Chapter-8 L2: "Embedded Systems - Architecture, Programming 8


and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
2. Example of Process Creation

2008 Chapter-8 L2: "Embedded Systems - Architecture, Programming 9


and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
OS_Task_Create ( ) function
 OS function creates a process using
OS_Task_Create ( ) function
Task_Send_Card_Info in the mai
 Task_Send_Card_Info task creates two
other tasks, Task_Send_Port_Output and
Task_Read_Port_Input.
 OS then controls the context switching
between the processes

2008 Chapter-8 L2: "Embedded Systems - Architecture, Programming 10


and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
OS Process Creation function
OS function first creates the Display_process.
Display_process creates─
 Display_Time_DateThread
 Display_BatteryThread
 Display_SignalThread
 Display_ProfileThread
 Display_MessageThread
 Display_Call StatusThread
 Display_MenuThread
2008 Chapter-8 L2: "Embedded Systems - Architecture, Programming 11
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
3. Message passing and System call to
OS by Processes

2008 Chapter-8 L2: "Embedded Systems - Architecture, Programming 12


and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
Message Passing by process running in
user mode
 Generates and puts (sends) a message
 OS lets the requested resource (for example, input
from a device or from a queue) use or run an OS
service function (for example, define a delay
period after which process needs to be run again).
 A message can be sent for the OS to let the LCD
display be used by a task or thread for sending the
output.
 An ISR sends a message to a waiting thread to
start on return from the ISR
2008 Chapter-8 L2: "Embedded Systems - Architecture, Programming 13
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
System call by process running in user
mode
 Call to a function defined at the OS.
 For example, OSTaskCreate ( )─ to create a task.
 First an SWI instruction is issued to trap the
processor and switch to supervisory mode.
 OS then executes a function like a library function
 Processor on finishing the instructions of a called
function, the processor again switches back to user
mode and lets the calling process run further

2008 Chapter-8 L2: "Embedded Systems - Architecture, Programming 14


and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
4. Process Manager Functions

2008 Chapter-8 L2: "Embedded Systems - Architecture, Programming 15


and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
Process manager
 (i) makes it feasible to let for a process to
sequentially execute or block when needing
a resource and to resume when it becomes
available,
 (ii) implements the logical link to the
resource manager for resources
management (including scheduling of
process on the CPU),

2008 Chapter-8 L2: "Embedded Systems - Architecture, Programming 16


and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
Process manager
 (iii) allows specific resources sharing
between specified processes only,
 (iiiv) allocates the resources as per the
resource allocation- mechanism of the
system and
 (iv) manages the processes and resources of
the given system.

2008 Chapter-8 L2: "Embedded Systems - Architecture, Programming 17


and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
Summary

2008 Chapter-8 L2: "Embedded Systems - Architecture, Programming 18


and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
We learnt
 Process manager has functions to create the
processes,
 allocates a PCB to each process,
 manages access to the resources and
facilitates the switching from one process
state to another.
 The PCB defines the process structure for a
process state.

2008 Chapter-8 L2: "Embedded Systems - Architecture, Programming 19


and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
We learnt
 Process can send a message and make a
system call to enable OS actions and run OS
function

2008 Chapter-8 L2: "Embedded Systems - Architecture, Programming 20


and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
End of Lesson 2 of Chapter 8

2008 Chapter-8 L2: "Embedded Systems - Architecture, Programming 21


and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

You might also like