Top Banner
UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED SYSTEM DESIGN veera
49

UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

Feb 23, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

UNIT-IV

REAL-TIME OPERATING SYSTEMS BASED

EMBEDDED SYSTEM DESIGN

veera

Page 2: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

CONTENTS

4.1. Operating systems basics

4.2. Types of operating systems

4.3. Task, process and threads

4.4. Multiprocessing and multitasking

4.5. Task scheduling

veera

Page 3: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

4.1. Operating systems basics

The operating system acts as a bridgebetween the user applications/tasks andunderlying the system resources through a set ofsystem functionalities and services.

The OS manages the system resources andmakes them available to the userapplications/tasks on a need basis.

A normal computing system is a collection ofdifferent I/O subsystems, working and storagememory.

veera

Page 4: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

The primary functions of an operating system is

a) Make the system convenient to use

b) Organise and manage the system

resources efficiently and correctly.

veera

Page 5: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

OS components or Architecture

MEMORY MANAGEMENT

PROCESS MANAGEMENT

TIME MANAGEMENT

FILE SYSTEM MANAGEMENT

I/O SYSTEM MANAGEMENT

USER APPLICATIONS

HARDWAREveera

Page 6: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

KERNEL

• Kernel is the core of the operating system andis responsible for managing the systemresources and the communication among thehardware and other system services

• Kernel acts as a abstraction layer betweensystem resources and user applications

• Kernel contains a set of system libraries andservices.

veera

Page 7: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

For a GPOS, the kernel contain different services for handling the following

Process management

Memory (primary and

secondary)management

File system management

I/O system(Device) management

Protection systems

Interrupt handler

veera

Page 8: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

Process management(PM):

It deals with managing the process/tasks

PM includes setting up the memory space forthe process, loading the process’s code intothe memory, allocating system resources,scheduling and the managing the execution ofthe process, setting up and managing theprocess control block(PCB), IPC andsynchronisation, Process termination/detection etc.

veera

Page 9: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

Primary memory management:

The term primary refers to the volatilememory (RAM) where processes are loadedand variables and shared data associated witheach process are stored.

The memory management unit(MMU) of thekernel is responsible for

a) Keeping track of which part of the memoryarea is currently used by which process

b) Allocating and de-allocating memory spaceon a need base(Dynamic memory Allocation)

veera

Page 10: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

File system management:

file is a collection of related information

A file could be a program, text files, imagefiles, word documents,audio/video fiels etc.

The file operation is a useful service providedby the OS

veera

Page 11: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

The file system management service of kernel isresponsible for

The creation, deletion and alteration of files

Creation, deletion and alteration of directories

Saving of files in the secondary storagememory

Providing automatic allocation of file spacebased on the amount of free space available.

Providing a flexible naming convention for thefiles

veera

Page 12: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

I/O system management:

• Kernel is responsible for routing the I/Orequest coming from different userapplications to the appropriate I/O devices ofthe system.

• In a well-structured OS, the direct accessing ofI/O devices are not allowed and the access tothem are provided through a set ofApplication Programming Interfaces(API)exposed by the kernel

veera

Page 13: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

The kernel maintains a list of all the I/Odevices of the system.

The service ‘device manager’ of the kernel isresponsible for handling all I/O device relatedoperations

The kernel talks to the I/O device through aset of low-level system calls, which areimplemented in a service, called device drivers

veera

Page 14: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

Secondary storage management:

It deals with managing the secondary storagememory devices, if any, connected to thesystem.

Secondary memory is used as backup mediumfor programs and data since main memory isvolatile.

In most of the systems, the secondary storageis kept in disks(hard disk).

veera

Page 15: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

The secondary storage management service of kernel deals with

Disk storage allocation

Disk scheduling

Free disk space management

veera

Page 16: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

Kernel space and user space

Applications/services

User applications kernel application

User space kernel space

veera

Page 17: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

Kernel types

Based on kernel design, kernels can be classified into

A) monolithic kernel

B) microkernel

veera

Page 18: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

Monolithic Kernel

In Monolithic kernel architecture, all kernelservices run in the kernel space.

Here all kernel modules run within the samememory space under a single kernel thread

the major drawback of monolithic kernel isthat any error or failure in any one of thekernel modules leads to the crashing of theentire kernel application.

Ex: LINUX, SOLARIS,MS-DOS

veera

Page 19: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

APPLICATIONS

MONOLITHIC KERNEL WITH ALL OPERATING SYSTEM SERVICES

RUNNING IN KERNEL SPACE

veera

Page 20: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

MICROKERNEL

the microkernel design incorporates only theessential set of operating system services into thekernel.

The rest of the operating system services areimplemented in programs known as ‘servers’which runs in user space.

Memory management, process management,timer systems and interrupt handlers are theessential services. Which forms the part ofmicrokernel.

veera

Page 21: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

servers(kernel services running in the user

space)

Applications

Microkernel with essential services like memory management, process

management, timer system etc.

veera

Page 22: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

4.2. Types operating systems

Operating systems are classified into different types

i) General purpose operating systems

ii) Real-time operating systems

veera

Page 23: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

4.2(i) GPOS

• The operating systems, which are deployed ingeneral computing systems, are referred asGPOS

• The kernel of such an OS is more generalisedand it contains all kinds of services requiredfor executing generic applications

• GPOS are often quite non-deterministic inbehaviour

veera

Page 24: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

• Their services can inject random delays intoapplication software and may cause slowresponsiveness of an application atunexpected times

• Personal computers/desktop system is atypical example for a systems where GPOS aredeployed.

• Windows XP/MS-DOS etc are examples forGPOS.

veera

Page 25: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

4.2(ii) RTOS

• Real-time implies deterministic timing behaviour.

• Deterministic timing behaviour in RTOS contextmeans the OS services consumes only known andexpected amounts of time regardless the numberof services

• The RTOS decides which applications should runin which order and how much time needs to beallocated for each application.

veera

Page 26: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

• Predictable performance is the hallmark ofwell-designed RTOS.

• WindowsCE, QNX, VxWorks, MicroC/OS-II, etcare examples of RTOS.

a) Real-time kernel

b) Hard real-time

c) Soft real-time

veera

Page 27: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

a) Real-time kernel• The kernel of a RTOS is referred as Real-time kernel.• it is highly specialised and it contains only the minimal

set of services required for running the userapplications/tasks

• The basic functions of RTK are

i) Task/Process managementii) Task/Process schedulingiii) Task/Process synchronisationiv) Error/Exception handlingv) Memory managementvi) Interrupt handlingvii) Time management

veera

Page 28: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

Task/Process management

• Deals with setting up the memory space forthe tasks, loading the task’s code into thememory space, allocating system resources,setting up a task control block(TCB) for thetask and task/process termination/deletion.

• A TCB is used for holding the informationcorresponding to a task.

veera

Page 29: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

• TCB usually contains the following set ofinformation

TASK ID: task identifier number

TASK STATE: the current state of the task

TASK TYPE: task type. Indicates what is thetype for this task. the task can be a hard realtime or soft real time or background task

TASK PRIORITY: task priority( EX: Taskpriority=1 for task with priority=1)

TASK CONTEXT POINTER: context pointer.Pointer of context saving.

veera

Page 30: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

• TASK MEMORY POINTER: pointers to the code memory, data memory and stack memory for the task.

• TASK SYSTEM RESOURCE POINTER: pointers to systems resources(semaphores,mutex etc) used by task.

• TASK POINTERS: pointers to other TCBs

veera

Page 31: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

• Task management service utilises the TCB of atask in the following way

Creates a TCB for a task on creating task

Delete/Remove the TCB of a task when thetask is terminated or deleted.

Reads the TCB to get the state of task

Update the TCB with updated parameters onneed basis

Modify the TCB to change the priority of thetask dynamically

veera

Page 32: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

Task/Process Scheduling

• Deals with sharing the CPU among varioustasks/processes

• A kernel application called ‘Scheduler’ handlesthe task scheduling

• Scheduler is nothing but an algorithmimplementation, which performs the efficient andoptimal scheduling of tasks to providedeterministic behaviour.

veera

Page 33: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

Task/Process synchronisation

• Deals with synchronising the concurrentaccess of resources, which is shared acrossmultiple tasks and the communicationbetween various tasks

veera

Page 34: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

Error/Exception handling

• Deals with registering and handling the errorsoccurred/exceptions raised during executionof tasks

• Insufficient memory, timeouts, deadlocks,deadline missing, bus error/ divide by zero,unknown instruction execution, etc. are theexamples of errors/exceptions

veera

Page 35: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

Memory management

• Compared to GPOS, the memory managementfunction of a n RTOS kernel is slightly different.

• RTOS makes use of “BLOCK” based memoryallocation technique, instead of the usualdynamic memory allocation techniques used bythe GPOS.

• RTOS kernel uses blocks of fixed size of dynamicmemory and the block is allocated for a task on aneed basis.

veera

Page 36: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

• Errors/Exceptions can happen at the kernel levelservices or at a task level.

• Deadlock is an example for kernel level exception,whereas timeout is an example for a task levelexception

• The OD kernel gives the information about theerror in the form of a system call(API)

GetLastError() API provided by windowsCE RTOSis an example for a such system call.

veera

Page 37: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

Interrupt handling

• Deals with the handling of various types ofinterrupts

• Interrupts provide time behaviour to systems

• Interrupts informs the processor that anexternal device or an associated tasks requiresimmediate attention of the CPU

• Interrupts can be either Synchronous orAsynchronous

veera

Page 38: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

• Interrupts which occurs in sync with currentlyexecuting task is known as synchronousinterruptsEX: software interrupts,divide by zero, memorysegmentation error, etc. are the examples ofsynchronous interrupts

• Asynchronus interrupts are interrupts, whichoccurs at any point of execution of any task, andare not in sync with the currently executing taskEX: the interrupts generated by external devicesconnected to the processor/controller, timeroverflow interrupts, serial datareception/transmission interrupts

veera

Page 39: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

Time management

• Accurate time management is essential forproviding precise time reference for allapplications

• The time reference to kernel is provided by ahigh-resolution Real-Time Clock(RTC) hardwarechip(hardware timer).

• The hardware timer is programmed to interruptthe processor/controller at a fixed rate

• The timer interrupt is referred as ’timer tick’

veera

Page 40: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

4.3.TASK,PROCESS, THREADS

Page 41: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

TASKSThe term ‘task’ refers to something to be done

In the operating systems, a task is defined asthe program in execution and the relatedinformation maintained by the OS for theprogram.

Task is also known as ‘job’ in OS context.

A program or part of it in execution is alsocalled a ‘process’

The terms ‘task’, ‘job’ and ‘process’ refer tothe same entity in the OS

Page 42: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

PROCESS

A ‘process’ is a program, or part of it, inexecution.

Process is also known as instance of a program inexecution

multiple instances of same program can executesimultaneously.

A process requires various system resources likeCPU for executing the process, memory forstoring the code corresponding to the processand associated variables, I/O devices forinformation exchange etc.

A process is sequential in execution.

Page 43: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

structure of process

The concept of process leads to concurrentexecution of tasks and thereby efficientutilisation of the CPU and other systemresources.

Concurrent execution is achieved through thesharing of CPU among the processes

A process mimics a processor in propertiesand holds a set of registers, process status, aprogram counter(PC) , a stack for holding thelocal variables associated with the task andthe code corresponding to the process.

Page 44: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

STACK(Stack Pointer)

Working Registers

Status Registers

Program Counter (PC)

Code memory Corresponding to PROCESS

Page 45: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

The process has three memory regions.Namely, stack memory, data memory andcode memory

The stack memory holds all temporary datasuch as variables local to the process.

Data memory holds all global data for theprocess

The code memory contains the program codecorresponding to the process.

Page 46: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

Process states and state transition

• Creation of a process to its termination is nota single step operation.

• The process traverses through a series ofstates during its transition from the newlycreated state to the terminated state

• The cycle through which a process changes itsstate from ‘newly created’ to ‘executioncompleted’ is known as ’process life cycle’

Page 47: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

CREATED

RUNNING

READY

COMPLETED

BLOCKED

Incepted into memory

Page 48: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

Process management

• Process management deals with the creationof a process, setting up the memory space forthe process, loading the process’s code intothe memory space, allocating systemresources, setting up a Process control blockfor process and process termination.

Page 49: UNIT-IV REAL-TIME OPERATING SYSTEMS BASED EMBEDDED …

THREADS

A thread is a primitive that can execute code.

A thread is a single sequential flow of controlwithin a process

A thread is also known as light weight process.

A process can have many threads of execution.