Real Time Operating System for Embedded DSP Applications
|
|
- Josephine Green
- 8 years ago
- Views:
Transcription
1 Real Time Operating System for Embedded DSP Applications By P.S.Dey Lecturer Computer Science & Engg. Dept. I.I.T. Kharagpur Organization of the Talk 1. Real Time Systems an Overview. 2. Key Features of Embedded Systems. 3. Real Time Operating Systems Key Features. 4. Case Studies. Real Time Systems Any Real Time System MUST be capable to sense some external / outside external world events like Overheating of a Boiler, Incoming call in a mobile. 2. Any Real Time System, MUST react/ respond to the relevant External Events within a prespecified Deadline. ( Timeliness). 3. In addition to Timeliness, the Response generated by the concerned Real Time System MUST be correct in some way.
2 Reference Model of Real Time System : The Key Elements 1) A resource Model that describes the the system resources available to the applications. 2) Workload Model that describes the applications supported by the system. 3) Scheduling Algorithms that define how the application system use the resources at all times. This is where Real Time Operating Systems has a key role to play. N.B: In most cases we shall assume that all the resources as well as the applications are already specified and we are primarily concerned with specifying the Scheduling and Resource Usage & Management Algorithms. Modeling Real Time System Key Components 1. Job / Thread Unit of work that is scheduled & executed by a system e.g. Control Law Computation, FFT Computation, A Packet Transmission etc. 2. Task : A set of related jobs that jointly provide a function e.g. the task of frequency control in a Thermal Power Generating Station consists of a Host of jobs ranging from Boiler Temperature Monitoring, Turbine Speed Control, Gas recycling, Alternator Frequency Monitoring, Grid Frequency Monitoring etc. 3. Associated Timing Constraints of a Job/ Task. 4. Available Resources. 5. The Scheduling Policy of Tasks to available Resources. Real Time System Key Timing Constraints of a Job Release Time of a Job : The instant of time when the job becomes available for execution I.e. the instant of time when the concerned job comes in the Ready State / Ready Queue. The job can be scheduled and executed at any time after its release time whenever its data and control dependency conditions are met. Release time of a job J i will hence forth be referred to as r i
3 Real Time System Release Time Example Furnace Controlling System : a) Several say N number of Furnaces are to be controlled. b) Samples, Reads as well as stores the Temperature of each Furnace at an Interval of 100 msec ( T units of time ). c) It also computes the control law of each furnace once in every 100 msec (T units of time) in order to process the temperature reading as well as determines the various control parameters. d) Suppose the system, after start up begins the first operation ( Control law computation ) at 20 msec ( S units of time). e) The different Control Law computation of jobs of the N furnaces are denoted by J 0, J 1, J 2,,,.., J N I.e. J k( K = 0 N) f) Release Time of the job J k in this job sequence considering periodic release sequence of the jobs once in every 100 msec ( T units of time) after a starting time of 20 msec ( S units of time). r tk = 20 ( S) + k X 100 ( T ). N.B: The jobs have no release Time if all the jobs are released / ready to be scheduled and executed as soon as the system starts execution. Real Time System Key Timing Components Deadline (Relative & Absolute), Response Time & Execution Time Deadline of a Job J i : The instant of time by which its execution is to be completed. Response Time of a Job J i [ T i ]: The interval of time between a job s release time and its completion time. Relative Deadline of a Job J i [ D i ] : Maximum allowable response time of a job. Deadline / Absolute deadline of a job J i [ d i ]= It s Release Time + It s Relative Deadline. Relative Deadline [ D i ] is the most Important parameter of any job J i in any Real Time System. Execution Time of a Job J i [ e i ] = The amount of time required to complete the job when it executes alone with exclusive ownership of all its resources. Clearly in a real life scenario Response Time [ T i ] OR Deadline [ D i ] > Execution Time [e i ]. Real Time System Timing Constraints : Hard & Soft Deadlines Hard Deadline : Failure to meet such a deadline is considered to be a fatal fault and will lead to disastrous consequences e.g. Response of the break system of a speeding Train approaching a Red Signal to the stop command must come before the train crosses the Red signal. Soft Deadline : Failure to miss a Soft Deadline is undesirable but a few misses does no serious harm like occasional delay in an on line trading of stocks. However the system s overall performance becomes poorer and poorer as more and more jobs starts missing the deadline.
4 Hard & Soft Timing Constraints Measure of Usefulness How serious the consequence of any job missing the specified deadline OR finishing earlier than it s Deadline / Usefulness of the concerned Real Time system = function of Tardiness / Lateness of that Job. Tardiness of a job : The time interval between its actual completion time / Response Time and its pre-specified deadline ( relative/absolute) always +ve. Lateness of a job : The time interval between its actual completion time and its pre-specified deadline ( relative/absolute) can be ve OR +ve ideally Zero. The usefulness of the result produced by any soft real time job decreases gradually with increase in its tardiness or +ve lateness. However for a Hard Deadline JOB finishing early (-ve lateness) is also undesirable since it amounts to wastage of resource. Embedded System Key Features 1. These are special purpose computer systems built into a larger device. 2. Most of these are usually Non User Programmable. 3. These systems are produced in Bulk. 4. It is less costly because of Bulk Production. 5. The devices like Mobile Phones usually work under severe power budget constraints to enhance their Battery life. 6. All such systems are usually application specific hence general purpose peripheral interfaces are absent. 7. Any Embedded System should have less Memory Requirement. 8. Relocation facility of faulty Electronic Memory to some unused good Memory block should exist. 9. Usually Hard Timing Constraints are associated for most of it s functions necessitating usage of Real Time System features. 10. In general, each & every Embedded System happens to be application specific Uni-Processor system, which is built on a simple hardware architecture platform. Real Time Operating System Key Features 1. Real-time operating system (RTOS) is a class of operating system intended for real-time applications. Embedded Systems like programmable thermostats, household appliance controllers, mobile telephones, industrial robots, represent the largest class of such systems. 2. An RTOS does not necessarily have high throughput; rather, a RTOS provides facilities which, if used properly, guarantee that system deadlines can be met generally ("soft real-time") or deterministically ("hard real-time"). 3. An RTOS is valued more for how quickly and/or predictably it can respond to a particular event than for the given amount of work it can perform over time. Key factors in an RTOS are therefore minimal interrupt Latency as well as minimal Context switching Time. 4. An RTOS will typically use specialized scheduling algorithms in order to provide the real-time developer with the tools necessary to produce deterministic behavior in the final system.
5 Real Time Operating System Various Aspects & Their Applicab ility in Emb edded Applications A. Overall System Architecture. B. Process Handling. C. Scheduling Strategy. D. Synchronization & Inter Process Communication. E. Network Support & Other Features. Various Aspects of RTOS 1 Overall Architecture 1. Monolithic. 2. Layered. 3. Micro Kernel. Various Types of Real Time Operating System Overall Architecture Monolithic a) Uni _Prcessor and Single layered. b) Operating System mostly runs in previliged mode. c) All type of Service Requests are made by the User Processes through dedicated System Calls. d) Interrups are handled directly by the Kernel and Interrupt Handlers are not full fledged processes. e) Interrupt handlers cannot invoke / use most of the system services. f) O.S. Schedulers are disabled during Handling of the Interrupt since it operates at the Highest priority. g) Useful for very small application specific systems, because of it s simplicity and very low processor and memory overhaead. h) Applications, as a whole can also be run in the Supervisor mode by bnding it with the O.S. code during Link Time. However this can make debugging very very difficult. i) Upgradation of individual software components is NOT POSSIBLE, without replacing the old Operating System as a whole followed by reboting.
6 Various Types of Real Time Operating System Overall Architecture Layered : a) Modular design where any O.S. Module is dependent on the Modules lying in the layer below it as well as it provides service to it s upper layer (s). b) O.S. Interface as well as Interrupt Handling are like Monolithic Systems. c) Easier maintainability as well as Upgradeability because of Layered Organization. Various Types of Real Time Operating System Overall Architecture Micro Kernel : a) Modular design with a Minimal Privileged O.S. KERNEL code. b) Most Operating System Functions are moved from the KERNEL up to the User level. c) Applications request O.S. services by sending a message to the appropriate O.S. Server and waiting for a reply. d) Handling of Inter Process Communications, enforcing securities, Accessing I/O Peripherals are done in the User mode. e) Easier to manage and maintain. f) Reliability increases because since the Operating System Services run in User Mode, failure of some will make that service unavailable but will not cause a System Crash. Moreover failed system can be restarted and replaced without shutting down the System. g) Easily extendable to distributed systems where operating system functions can be split across a set of distinct machines connected by a communication network. Micro Kernel Architecture is one of the best suited for handling Embedded Applications. Various Aspects of RTOS 2 Process Handling Options 1. Multi Programming & Multi Tasking. 2. Multi Processing. 3. Multi Threading 4. Hyper Threading.
7 Multi Programming (State Diagram) Ready Queue of User Programs Dispatch / Schedule (Predefined Policy) Running Finished Peripheral Oper. [Interrupt #1] Waiting ( doing Peripheral # 1) Request for Peripheral Operation (SVC) Finished Peripheral Operation [ Interrupt #n] Wait ing (doing Peripheral # n) Mul tipr ogr amming Timin g D ia g r a m ( 3 Us er Pr o g r a ms ) P1 Running Peripheral Operation P2 P3 Ready Ready Runnin g Ready Peripheral Operation Running T1 T2 T3 Time Multi Programmed System Key Features Single CPU / Uni-processor system. Simultaneous existence of more than one user program in memory. Established & Well Defined Peripheral usage protocol must exist for each of the peripherals. Dedicated CALLs ( System Calls/ Software Interrupts) must exist enabling any user program to utilize essential services, by invoking any Peripheral Operation. Dedicated Peripheral Interfaces (I/O Channels ) must exist for each of the peripherals. Device Driver / I/O Channel Programs for each & every type of peripherals must exist along with exclusive Supervisor Mode accessibility. Existence of Hardware / Device Interrupt mechanism is a must.
8 Multi -programming / Shortcomings 1. New user program /process gets to execute / allocated CPU provided the currently running process releases the CPU due to Peripheral request. 2. Such voluntary CPU release skews in favour of the User Process that gets the CPU first. 3. Processes coming in later on may starve thereby affecting their Response Time. Hence one way to overcome this is to increase resource by incorporating several instances of the processor itself. Mul t i Pr ocessing I ( St at e Diagr am) Several User processes Several CPU / CPU Cores with Identical Functionality. CPU / Core #1 Centralized O.S. & Global Memory. Global Ready Queue Scheduled / Dispatched Scheduled / Dispatched Scheduled / Dispatched CPU/ Core # J CPU/ Core #N Peripheral Over (H/W Interrupt) Peripheral WAIT Queue Peripheral Over (H/W Interrupt) Peripheral request (SVC) Peripheral Request (SVC) Peripheral Request (SVC) Multiprocessing - II ( Timing Diagram for 2 CPUs / 2 Cores ) P1 Running on CPU1 Doing I/O Running on CPU 1 / CPU 2 P2 Running on CPU2 Running on CPU 1 / CPU 2 Doing I/O P3 Ready Running on CPU2 Exit Time
9 Multi Processing Problems 1. Requires more than one processor unit/core. 2. All managed by Common Operating System and share same Memory ( Tightly Coupled System). 3. Synchronization & management overhead increases since it involves allocating User tasks to each of the existing Processors whenever it becomes Free. 4. Achieving Load Balance among the various processors is difficult. Multi Processing Multi-Tasking 1. CPU speed is much higher than the Real World clock. 2. Single CPU core can be used to handle multiple user tasks with not much degradation in response time. 3. Share the time of one CPU core among several processes i.e. Concurrently running several processes each within it s pre-fixed Time Slice. Multitasking ( State Diagram) Dispatch the Selected Process (for allocated Time) Ready Queue Of Processes Time Out ( After Pre-fixed Interval) Running Event Takes Place (Interrupt) Request for Peripheral / Wait for Event # 1 Request for Peripheral / Wait for Event #n Event Takes Place (Interrupt) Wait / BLOCKED for Event # 1 Wait / BLOCKED for Event # n
10 Multitasking (Timing Diagram) P 1 P 2 P 3 Running Doing I/O Running Ready Running Time Out Running Time Out Ready Runnin Time Out Doing I/O g T1 T2 T3 Mul t i Tasking ( Sal ient Feat ur es) Eliminates / Minimizes CPU waiting time / process in order to give guaranteed response time to each user process lying in the READY Queue. Eliminates need for multiple CPUs. Round Robin / Time shared scheduling of tasks/processes to a single CPU. ( Co-Operative / Pre_Emptive). Each process is granted a prefixed Time Slice based on a prefixed policy. After using CPU for that prefixed Time Period, the concerned process either voluntarily yields the CPU to other processes [ Co-Operative] or is preempted through a internally generated Timer Interrupt. Existence of a dedicated Hardware Interval Timer which is initialized by the O.S. in addition to all the features of any Multi programmed System is necessary. Multi Threading 1. Thread is the basic Execution unit. 2. Threads share among themselves address space [ global variables+ code], peripherals [ NOT CONCURRENTLY]. 3. Each thread has got its own set of Registers and Stack. 4. Sharing a CPU among several peer threads of the same process OR among peer threads of different User Processes in a Time Shared Fashion. 5. Whenever the currently running thread becomes BLOCKED / goes to WAIT state some other thread is scheduled for execution. 6. Multi Threading hence represents a very fine grain multi tasking at the level of a very few instructions thereby permitting FAST SWITCHING among them.
11 Multithreading ( State Diagram) Dispatch one Thread of the Selected Process (for allocated Time) Ready Queue of Threads? Time Out ( After Pre-fixed Interval) Running Event Takes Place (Interrupt) Request for Peripheral / Wait for Event # 1 Request for Peripheral / Wait for Event #n Event Takes Place (Interrupt) Wait / BLOCKED for Event # 1 Wait / BLOCKED for Event # n Hyper Threading 1. Existence of several identical CPU cores. 2. Governed by single O.S. 3. Shared Memory. 4. Threads are allocated to a Core whenever it is free. 5. Time Slice allocated to a Thread is CPU core independent. 6. It aims to mimic Symmetric Multi Processing by allocating separate CPU Cores to execute separate threads. 7. Symmetric Multi Threading.
12 Hyper Thr eading ( St at e Diagr am) Several threads Several identical CPU Cores Centralized O.S. & Some Global l Memory. Ready Queue Of THREADS? Scheduled / Dispatched Scheduled / Dispatched Scheduled / Dispatched TIMED OUT TIMED OUT CPU / Core #1 CPU/ Core # J TIMED OUT CPU/ Core #N Peripheral Over (H/W Interrupt) Peripheral WAIT Queue Peripheral Over (H/W Interrupt) Peripheral request (SVC) Peripheral Request (SVC) Peripheral Request (SVC) Preferred Process Mgt Strategy for Embedded Applications Multi Threading because of the following reasons : 1) Uni- Processor System. 2) Basic Schedulable & Executable entity happens to be the Thread which allows Fast Context Switching that helps in satisfying Deadlines. Various Aspects of RTOS 3 Scheduling Strategies 1. First in First out ( FIFO ) with pre Fixed Static Priority Classes. [ Priority Inversion may happen (to be discussed later)]. 2. Earliest Deadline First (EDF) : Allows dynamic assignment of Priorities based on the Thread whose Deadline is nearest. The most suitable for Embedded Applications. 3. Sporadic Server : Useful for handling sporadic Events only depends on the Execution Capacity & Replenishment period of each Thread.
13 Various Aspects of RTOS 4 Synchronization & Inter process Communication 1. Semaphores : Requires low level System Supported Synchronization Primitives. Works on the principle of Shared Memory. 2. Monitors : High Level Synchronization Primitives based on Shared Memory. 3. M essage Passing : Supports explicit Data Transfer through SEND & RECEIVE primitives and do not require shared Memory Structure. Message Passing is most Suitable. Various Aspects of RTOS 5 Network Support & Other Features 1. Socket Paradigm: Supported by the POSIX ( Portable Operating System Interface for Computing Environments) supports uniform way of communication. 2. Application Programming Interface (API) : Less general than socket based but more rich & efficient. In Micro Kernel Based Design API is most Suitable. Case Studies A. Mars Pathfinder ( A Classic Case of Priority Inversion). B. Symbian Operating System used in Mobile Phones.
14 The Spacecraft : Mars Pathfinder This mission was accomplished in July 4, 1997 with it s landing on the Maritan Surface. The mission includes the following : 1) Unconventional landing ( bouncing onto the Maritan surface surrounded by Air Bags). 2) Deploying the Sojourner Rover. 3) Gathering and Transmitting Voluminous data back to Earth Stations that included Meteorological Data as well as Photographs. The Fault : The Spacecraft began experiencing Total System Resets, each resulting in a loss of Data. The Embedded Kernel used inside Mars Pathfinder was VxWorks, developed by Wind River Systems. Mars Pathfinder & VxWorks The Inside Story 1. Each of the Tasks carried out by the Space Craft was treated as a Thread with pre-fixed static priority. 2. VxWorks provides pre-emptive priority based scheduling of these threads. 3. The Pathfinder contained an information bus which can be thought of as a shared memory area used for passing information between it s different components. 4. Access to this piece of shared memory was controlled by mutual exclusion locks (Semaphores). 5. A Bus Management task ran frequently with high priority to move certain kinds of data in and out of this shared information Bus. 6. Meteorological Data Gathering was a low priority thread while the communications task having medium priority. 7. If at any point of time, albeit infrequently, any of the lower priority threads holds the shared information bus thereby forcing the high priority Bus Management task to WAIT for more than a predefined period a time out signal from a watchdog timer will cause system reset. Solution : Allow the low priority thread currently using the BUS to INHERIT the high priority of the Blocked process for the time being to prevent the WATCHDOG TIMER to go off. Symbian Operating System Symbian OS is an operating system, designed for mobile devices, with associated libraries, user interface frameworks and reference implementations of common tools, produced by Symbian Ltd. It is a descendant of Psion's EPOC and runs exclusively on ARM processors. Symbian is currently owned by Ericsson (15.6%), Nokia (47.9%), Panasonic (10.5%), Samsung (4.5%), Siemens AG (8.4%), and Sony Ericsson (13.1%).
15 Symbian Operating System for Mobile Phones ( The Primary Motivational Factors ) 1. Mobile phones are both small and mobile. 2. Mobile phones are ubiquitous they target a mass-market of consumer, enterprise and professional users. 3. Mobile phones are occasionally connected they can be used when connected to the wireless phone network, locally to other devices, or on their own. 4. Manufacturers need to differentiate their products in order to innovate and compete in a fast-evolving market. 5. The platform has to be open to enable independent technology and software vendors to develop third-party applications, technologies and services. 6. Reliability is a major issue for mass-market phones. Data loss in a personal mobile phone causes a loss of trust between the user and the phone. A mobile phone therefore must be at least as resilient as paper diaries and agendas. 7. Even though nobody can guarantee bug-free software, a good operating system can make it much easier to write robust and reliable applications. Symbian Operating System Key Features 1. It is a 32 bit multitasking operating system wherein events often happen asynchronously and applications are designed to interact with one another. 2. It includes a file system, a graphical user interface framework, multimedia support, a TCP/IP stack and libraries for all the communication features found on smart phones. 3. Symbian OS has software development kits available for third-party application development. 4. The hardware layers of the operating system are abstracted, so that phone manufacturers can port the OS to the specific requirements of their phone. Symbian Operating System Overview
16 Symbian Operating System The Kernel (EKA 2) The Symbian Kernel (EKA 2) Distinctive Features 1. Second Iteration of Symbian s 32 bit kernel Architecture. 2. It is able to run full Telephone Signalling stacks. 3. It allows many Threads easing up tasks of writing Device drivers that involve complex state machines. 4. The HAL provides a generic hardware Independent API to the KERNEL. Symbian ( User vs. KERNEL)
17 Symbian O.S. [ Client Server Model ] Symbian O.S. [ Communication Architecture ] References 1. The Embedded Systems Handbook. 2. Real Time Systems by Prof. Rajiv Mall. 3. Prof. P.S.Dey s Lecture Slides. 4. The Term Paper submitted by M.Tech. Students.
18
Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 26 Real - Time POSIX. (Contd.) Ok Good morning, so let us get
More informationOperating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
More informationDeciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run
SFWR ENG 3BB4 Software Design 3 Concurrent System Design 2 SFWR ENG 3BB4 Software Design 3 Concurrent System Design 11.8 10 CPU Scheduling Chapter 11 CPU Scheduling Policies Deciding which process to run
More informationEmbedded Systems. 6. Real-Time Operating Systems
Embedded Systems 6. Real-Time Operating Systems Lothar Thiele 6-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic
More informationModule 8. Industrial Embedded and Communication Systems. Version 2 EE IIT, Kharagpur 1
Module 8 Industrial Embedded and Communication Systems Version 2 EE IIT, Kharagpur 1 Lesson 37 Real-Time Operating Systems: Introduction and Process Management Version 2 EE IIT, Kharagpur 2 Instructional
More informationWhat is best for embedded development? Do most embedded projects still need an RTOS?
RTOS versus GPOS: What is best for embedded development? Do most embedded projects still need an RTOS? It is a good question, given the speed of today s high-performance processors and the availability
More informationSYSTEM ecos Embedded Configurable Operating System
BELONGS TO THE CYGNUS SOLUTIONS founded about 1989 initiative connected with an idea of free software ( commercial support for the free software ). Recently merged with RedHat. CYGNUS was also the original
More informationMultiprocessor Scheduling and Scheduling in Linux Kernel 2.6
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Winter Term 2008 / 2009 Jun.-Prof. Dr. André Brinkmann Andre.Brinkmann@uni-paderborn.de Universität Paderborn PC² Agenda Multiprocessor and
More informationTasks Schedule Analysis in RTAI/Linux-GPL
Tasks Schedule Analysis in RTAI/Linux-GPL Claudio Aciti and Nelson Acosta INTIA - Depto de Computación y Sistemas - Facultad de Ciencias Exactas Universidad Nacional del Centro de la Provincia de Buenos
More informationLecture 25 Symbian OS
CS 423 Operating Systems Design Lecture 25 Symbian OS Klara Nahrstedt Fall 2011 Based on slides from Andrew S. Tanenbaum textbook and other web-material (see acknowledgements) cs423 Fall 2011 1 Overview
More informationPerformance Comparison of RTOS
Performance Comparison of RTOS Shahmil Merchant, Kalpen Dedhia Dept Of Computer Science. Columbia University Abstract: Embedded systems are becoming an integral part of commercial products today. Mobile
More informationReal- Time Scheduling
Real- Time Scheduling Chenyang Lu CSE 467S Embedded Compu5ng Systems Readings Ø Single-Processor Scheduling: Hard Real-Time Computing Systems, by G. Buttazzo. q Chapter 4 Periodic Task Scheduling q Chapter
More informationScheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum
Scheduling Yücel Saygın These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum 1 Scheduling Introduction to Scheduling (1) Bursts of CPU usage alternate with periods
More informationOperating Systems Concepts: Chapter 7: Scheduling Strategies
Operating Systems Concepts: Chapter 7: Scheduling Strategies Olav Beckmann Huxley 449 http://www.doc.ic.ac.uk/~ob3 Acknowledgements: There are lots. See end of Chapter 1. Home Page for the course: http://www.doc.ic.ac.uk/~ob3/teaching/operatingsystemsconcepts/
More informationChapter 2: OS Overview
Chapter 2: OS Overview CmSc 335 Operating Systems 1. Operating system objectives and functions Operating systems control and support the usage of computer systems. a. usage users of a computer system:
More informationWhite Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux
White Paper Real-time Capabilities for Linux SGI REACT Real-Time for Linux Abstract This white paper describes the real-time capabilities provided by SGI REACT Real-Time for Linux. software. REACT enables
More informationPage 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems
Lecture Outline Operating Systems Objectives Describe the functions and layers of an operating system List the resources allocated by the operating system and describe the allocation process Explain how
More informationReal-Time Scheduling 1 / 39
Real-Time Scheduling 1 / 39 Multiple Real-Time Processes A runs every 30 msec; each time it needs 10 msec of CPU time B runs 25 times/sec for 15 msec C runs 20 times/sec for 5 msec For our equation, A
More informationOperatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings
Operatin g Systems: Internals and Design Principle s Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings Operating Systems: Internals and Design Principles Bear in mind,
More informationPredictable response times in event-driven real-time systems
Predictable response times in event-driven real-time systems Automotive 2006 - Security and Reliability in Automotive Systems Stuttgart, October 2006. Presented by: Michael González Harbour mgh@unican.es
More informationReal Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
More informationCHAPTER 15: Operating Systems: An Overview
CHAPTER 15: Operating Systems: An Overview The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint
More informationOPERATING SYSTEMS SCHEDULING
OPERATING SYSTEMS SCHEDULING Jerry Breecher 5: CPU- 1 CPU What Is In This Chapter? This chapter is about how to get a process attached to a processor. It centers around efficient algorithms that perform
More informationREAL TIME OPERATING SYSTEMS. Lesson-10:
REAL TIME OPERATING SYSTEMS Lesson-10: Real Time Operating System 1 1. Real Time Operating System Definition 2 Real Time A real time is the time which continuously increments at regular intervals after
More informationICS 143 - Principles of Operating Systems
ICS 143 - Principles of Operating Systems Lecture 5 - CPU Scheduling Prof. Nalini Venkatasubramanian nalini@ics.uci.edu Note that some slides are adapted from course text slides 2008 Silberschatz. Some
More informationLecture 3 Theoretical Foundations of RTOS
CENG 383 Real-Time Systems Lecture 3 Theoretical Foundations of RTOS Asst. Prof. Tolga Ayav, Ph.D. Department of Computer Engineering Task States Executing Ready Suspended (or blocked) Dormant (or sleeping)
More informationAn Implementation Of Multiprocessor Linux
An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than
More informationEWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications
ECE6102 Dependable Distribute Systems, Fall2010 EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications Deepal Jayasinghe, Hyojun Kim, Mohammad M. Hossain, Ali Payani
More informationtheguard! ApplicationManager System Windows Data Collector
theguard! ApplicationManager System Windows Data Collector Status: 10/9/2008 Introduction... 3 The Performance Features of the ApplicationManager Data Collector for Microsoft Windows Server... 3 Overview
More informationComparison between scheduling algorithms in RTLinux and VxWorks
Comparison between scheduling algorithms in RTLinux and VxWorks Linköpings Universitet Linköping 2006-11-19 Daniel Forsberg (danfo601@student.liu.se) Magnus Nilsson (magni141@student.liu.se) Abstract The
More informationProcess Scheduling CS 241. February 24, 2012. Copyright University of Illinois CS 241 Staff
Process Scheduling CS 241 February 24, 2012 Copyright University of Illinois CS 241 Staff 1 Announcements Mid-semester feedback survey (linked off web page) MP4 due Friday (not Tuesday) Midterm Next Tuesday,
More informationOperating Systems. Lecture 03. February 11, 2013
Operating Systems Lecture 03 February 11, 2013 Goals for Today Interrupts, traps and signals Hardware Protection System Calls Interrupts, Traps, and Signals The occurrence of an event is usually signaled
More information10.04.2008. Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details
Thomas Fahrig Senior Developer Hypervisor Team Hypervisor Architecture Terminology Goals Basics Details Scheduling Interval External Interrupt Handling Reserves, Weights and Caps Context Switch Waiting
More informationTypes Of Operating Systems
Types Of Operating Systems Date 10/01/2004 1/24/2004 Operating Systems 1 Brief history of OS design In the beginning OSes were runtime libraries The OS was just code you linked with your program and loaded
More informationOperating Systems Overview As we have learned in working model of a computer we require a software system to control all the equipment that are
Session 07 Operating Systems Overview As we have learned in working model of a computer we require a software system to control all the equipment that are connected to computer and provide good environment
More informationAperiodic Task Scheduling
Aperiodic Task Scheduling Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 12 Germany Springer, 2010 2014 年 11 月 19 日 These slides use Microsoft clip arts. Microsoft copyright
More informationContents. Chapter 1. Introduction
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
More informationObjectives. Chapter 5: CPU Scheduling. CPU Scheduler. Non-preemptive and preemptive. Dispatcher. Alternating Sequence of CPU And I/O Bursts
Objectives Chapter 5: CPU Scheduling Introduce CPU scheduling, which is the basis for multiprogrammed operating systems Describe various CPU-scheduling algorithms Discuss evaluation criteria for selecting
More informationReal-Time Operating Systems for MPSoCs
Real-Time Operating Systems for MPSoCs Hiroyuki Tomiyama Graduate School of Information Science Nagoya University http://member.acm.org/~hiroyuki MPSoC 2009 1 Contributors Hiroaki Takada Director and Professor
More informationMobile Operating Systems. Week I
Mobile Operating Systems Week I Overview Introduction Mobile Operating System Structure Mobile Operating System Platforms Java ME Platform Palm OS Symbian OS Linux OS Windows Mobile OS BlackBerry OS iphone
More informationLast Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
More informationMaking Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association
Making Multicore Work and Measuring its Benefits Markus Levy, president EEMBC and Multicore Association Agenda Why Multicore? Standards and issues in the multicore community What is Multicore Association?
More informationProcessor Scheduling. Queues Recall OS maintains various queues
Processor Scheduling Chapters 9 and 10 of [OS4e], Chapter 6 of [OSC]: Queues Scheduling Criteria Cooperative versus Preemptive Scheduling Scheduling Algorithms Multi-level Queues Multiprocessor and Real-Time
More informationOperating System: Scheduling
Process Management Operating System: Scheduling OS maintains a data structure for each process called Process Control Block (PCB) Information associated with each PCB: Process state: e.g. ready, or waiting
More informationLecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses
Overview of Real-Time Scheduling Embedded Real-Time Software Lecture 3 Lecture Outline Overview of real-time scheduling algorithms Clock-driven Weighted round-robin Priority-driven Dynamic vs. static Deadline
More informationNotes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.
Specifications for ARINC 653 compliant RTOS & Development Environment Notes and terms of conditions Vendor shall note the following terms and conditions/ information before they submit their quote. 1.
More informationTechnical Properties. Mobile Operating Systems. Overview Concepts of Mobile. Functions Processes. Lecture 11. Memory Management.
Overview Concepts of Mobile Operating Systems Lecture 11 Concepts of Mobile Operating Systems Mobile Business I (WS 2007/08) Prof Dr Kai Rannenberg Chair of Mobile Business and Multilateral Security Johann
More informationReal-Time Component Software. slide credits: H. Kopetz, P. Puschner
Real-Time Component Software slide credits: H. Kopetz, P. Puschner Overview OS services Task Structure Task Interaction Input/Output Error Detection 2 Operating System and Middleware Applica3on So5ware
More informationOperating System Organization. Purpose of an OS
Slide 3-1 Operating System Organization Purpose of an OS Slide 3-2 es Coordinate Use of the Abstractions he Abstractions Create the Abstractions 1 OS Requirements Slide 3-3 Provide resource abstractions
More informationHow To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X
(Advanced Topics in) Operating Systems Winter Term 2009 / 2010 Jun.-Prof. Dr.-Ing. André Brinkmann brinkman@upb.de Universität Paderborn PC 1 Overview Overview of chapter 3: Case Studies 3.1 Windows Architecture.....3
More informationCPU Scheduling. CPU Scheduling
CPU Scheduling Electrical and Computer Engineering Stephen Kim (dskim@iupui.edu) ECE/IUPUI RTOS & APPS 1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling
More informationChapter 13 Embedded Operating Systems
Operating Systems: Internals and Design Principles Chapter 13 Embedded Operating Systems Eighth Edition By William Stallings Embedded System Refers to the use of electronics and software within a product
More informationCPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS
CPU SCHEDULING CPU SCHEDULING (CONT D) Aims to assign processes to be executed by the CPU in a way that meets system objectives such as response time, throughput, and processor efficiency Broken down into
More informationOverview of Presentation. (Greek to English dictionary) Different systems have different goals. What should CPU scheduling optimize?
Overview of Presentation (Greek to English dictionary) introduction to : elements, purpose, goals, metrics lambda request arrival rate (e.g. 200/second) non-preemptive first-come-first-served, shortest-job-next
More informationChapter 19: Real-Time Systems. Overview of Real-Time Systems. Objectives. System Characteristics. Features of Real-Time Systems
Chapter 19: Real-Time Systems System Characteristics Features of Real-Time Systems Chapter 19: Real-Time Systems Implementing Real-Time Operating Systems Real-Time CPU Scheduling VxWorks 5.x 19.2 Silberschatz,
More informationCGI-based applications for distributed embedded systems for monitoring temperature and humidity
CGI-based applications for distributed embedded systems for monitoring temperature and humidity Grisha Spasov, Nikolay Kakanakov Abstract: The paper discusses the using of Common Gateway Interface in developing
More informationLinux Driver Devices. Why, When, Which, How?
Bertrand Mermet Sylvain Ract Linux Driver Devices. Why, When, Which, How? Since its creation in the early 1990 s Linux has been installed on millions of computers or embedded systems. These systems may
More informationCPU Scheduling. Core Definitions
CPU Scheduling General rule keep the CPU busy; an idle CPU is a wasted CPU Major source of CPU idleness: I/O (or waiting for it) Many programs have a characteristic CPU I/O burst cycle alternating phases
More informationProcesses and Non-Preemptive Scheduling. Otto J. Anshus
Processes and Non-Preemptive Scheduling Otto J. Anshus 1 Concurrency and Process Challenge: Physical reality is Concurrent Smart to do concurrent software instead of sequential? At least we want to have
More informationCPU Scheduling. Basic Concepts. Basic Concepts (2) Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems
Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems Based on original slides by Silberschatz, Galvin and Gagne 1 Basic Concepts CPU I/O Burst Cycle Process execution
More informationChapter 3 Operating-System Structures
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
More informationSpecial FEATURE. By Heinrich Munz
Special FEATURE By Heinrich Munz Heinrich Munz of KUKA Roboter discusses in this article how to bring Microsoft Windows CE and WindowsXP together on the same PC. He discusses system and application requirements,
More information4003-440/4003-713 Operating Systems I. Process Scheduling. Warren R. Carithers (wrc@cs.rit.edu) Rob Duncan (rwd@cs.rit.edu)
4003-440/4003-713 Operating Systems I Process Scheduling Warren R. Carithers (wrc@cs.rit.edu) Rob Duncan (rwd@cs.rit.edu) Review: Scheduling Policy Ideally, a scheduling policy should: Be: fair, predictable
More informationCPU Scheduling Outline
CPU Scheduling Outline What is scheduling in the OS? What are common scheduling criteria? How to evaluate scheduling algorithms? What are common scheduling algorithms? How is thread scheduling different
More informationOperating System Tutorial
Operating System Tutorial OPERATING SYSTEM TUTORIAL Simply Easy Learning by tutorialspoint.com tutorialspoint.com i ABOUT THE TUTORIAL Operating System Tutorial An operating system (OS) is a collection
More informationIntroduction to Embedded Systems. Software Update Problem
Introduction to Embedded Systems CS/ECE 6780/5780 Al Davis logistics minor Today s topics: more software development issues 1 CS 5780 Software Update Problem Lab machines work let us know if they don t
More informationDecomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces
Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The
More informationApplication of Android OS as Real-time Control Platform**
AUTOMATYKA/ AUTOMATICS 2013 Vol. 17 No. 2 http://dx.doi.org/10.7494/automat.2013.17.2.197 Krzysztof Ko³ek* Application of Android OS as Real-time Control Platform** 1. Introduction An android operating
More informationLinux A multi-purpose executive support for civil avionics applications?
August 2004 Serge GOIFFON Pierre GAUFILLET AIRBUS France Linux A multi-purpose executive support for civil avionics applications? Civil avionics software context Main characteristics Required dependability
More informationA Predictable and IO Bandwidth Reservation Task Scheduler
A Predictable and IO Bandwidth Reservation Task Scheduler By HAO CAI B.S., Nan Kai University, 1992 A Project Submitted in Partial Fulfillment of the Requirements for the Degree of MASTER OF SCIENCE In
More informationSecurity Overview of the Integrity Virtual Machines Architecture
Security Overview of the Integrity Virtual Machines Architecture Introduction... 2 Integrity Virtual Machines Architecture... 2 Virtual Machine Host System... 2 Virtual Machine Control... 2 Scheduling
More informationMain Points. Scheduling policy: what to do next, when there are multiple threads ready to run. Definitions. Uniprocessor policies
Scheduling Main Points Scheduling policy: what to do next, when there are multiple threads ready to run Or multiple packets to send, or web requests to serve, or Definitions response time, throughput,
More informationRTAI. Antonio Barbalace antonio.barbalace@unipd.it. (modified by M.Moro 2011) RTAI
Antonio Barbalace antonio.barbalace@unipd.it (modified by M.Moro 2011) Real Time Application Interface by Dipartimento di Ingegneria Aereospaziale dell Università di Milano (DIAPM) It is not a complete
More informationRadware ADC-VX Solution. The Agility of Virtual; The Predictability of Physical
Radware ADC-VX Solution The Agility of Virtual; The Predictability of Physical Table of Contents General... 3 Virtualization and consolidation trends in the data centers... 3 How virtualization and consolidation
More informationOverview and History of Operating Systems
Overview and History of Operating Systems These are the notes for lecture 1. Please review the Syllabus notes before these. Overview / Historical Developments An Operating System... Sits between hardware
More informationChapter 5 Process Scheduling
Chapter 5 Process Scheduling CPU Scheduling Objective: Basic Scheduling Concepts CPU Scheduling Algorithms Why Multiprogramming? Maximize CPU/Resources Utilization (Based on Some Criteria) CPU Scheduling
More informationOperating Systems. III. Scheduling. http://soc.eurecom.fr/os/
Operating Systems Institut Mines-Telecom III. Scheduling Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/os/ Outline Basics of Scheduling Definitions Switching
More informationMulticore Programming with LabVIEW Technical Resource Guide
Multicore Programming with LabVIEW Technical Resource Guide 2 INTRODUCTORY TOPICS UNDERSTANDING PARALLEL HARDWARE: MULTIPROCESSORS, HYPERTHREADING, DUAL- CORE, MULTICORE AND FPGAS... 5 DIFFERENCES BETWEEN
More informationAchieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging
Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging In some markets and scenarios where competitive advantage is all about speed, speed is measured in micro- and even nano-seconds.
More informationNetwork Scanning: A New Feature for Digital Copiers
Network Scanning: A New Feature for Digital Copiers Abstract Introduction The method of implementing electronic document capture and distribution, known as network scanning, into the traditional copier/printer
More informationA Survey of Fitting Device-Driver Implementations into Real-Time Theoretical Schedulability Analysis
A Survey of Fitting Device-Driver Implementations into Real-Time Theoretical Schedulability Analysis Mark Stanovich Florida State University, USA Contents 1 Introduction 2 2 Scheduling Theory 3 2.1 Workload
More informationRadware ADC-VX Solution. The Agility of Virtual; The Predictability of Physical
Radware ADC-VX Solution The Agility of Virtual; The Predictability of Physical Table of Contents General... 3 Virtualization and consolidation trends in the data centers... 3 How virtualization and consolidation
More informationReal-Time Operating Systems. http://soc.eurecom.fr/os/
Institut Mines-Telecom Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/os/ Outline 2/66 Fall 2014 Institut Mines-Telecom Definitions What is an Embedded
More informationEmbedded & Real-time Operating Systems
Universität Dortmund 12 Embedded & Real-time Operating Systems Peter Marwedel, Informatik 12 Germany Application Knowledge Structure of this course New clustering 3: Embedded System HW 2: Specifications
More informationCS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study
CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what
More informationLast Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
More informationWhy Threads Are A Bad Idea (for most purposes)
Why Threads Are A Bad Idea (for most purposes) John Ousterhout Sun Microsystems Laboratories john.ousterhout@eng.sun.com http://www.sunlabs.com/~ouster Introduction Threads: Grew up in OS world (processes).
More informationA Transport Protocol for Multimedia Wireless Sensor Networks
A Transport Protocol for Multimedia Wireless Sensor Networks Duarte Meneses, António Grilo, Paulo Rogério Pereira 1 NGI'2011: A Transport Protocol for Multimedia Wireless Sensor Networks Introduction Wireless
More information159.735. Final Report. Cluster Scheduling. Submitted by: Priti Lohani 04244354
159.735 Final Report Cluster Scheduling Submitted by: Priti Lohani 04244354 1 Table of contents: 159.735... 1 Final Report... 1 Cluster Scheduling... 1 Table of contents:... 2 1. Introduction:... 3 1.1
More informationExample of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
More informationHRG Assessment: Stratus everrun Enterprise
HRG Assessment: Stratus everrun Enterprise Today IT executive decision makers and their technology recommenders are faced with escalating demands for more effective technology based solutions while at
More informationW4118 Operating Systems. Instructor: Junfeng Yang
W4118 Operating Systems Instructor: Junfeng Yang Outline Introduction to scheduling Scheduling algorithms 1 Direction within course Until now: interrupts, processes, threads, synchronization Mostly mechanisms
More informationIntroduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu
Introduction to Operating Systems Indiana University Chen Yu Perspective of the Computer System Software A general piece of software with common functionalities that support many applications. Example:
More informationMulti-core architectures. Jernej Barbic 15-213, Spring 2007 May 3, 2007
Multi-core architectures Jernej Barbic 15-213, Spring 2007 May 3, 2007 1 Single-core computer 2 Single-core CPU chip the single core 3 Multi-core architectures This lecture is about a new trend in computer
More informationIntel DPDK Boosts Server Appliance Performance White Paper
Intel DPDK Boosts Server Appliance Performance Intel DPDK Boosts Server Appliance Performance Introduction As network speeds increase to 40G and above, both in the enterprise and data center, the bottlenecks
More informationCHAPTER 1 INTRODUCTION
1 CHAPTER 1 INTRODUCTION 1.1 MOTIVATION OF RESEARCH Multicore processors have two or more execution cores (processors) implemented on a single chip having their own set of execution and architectural recourses.
More informationDo AUTOSAR and functional safety rule each other out?
Software development Do AUTOSAR and functional safety rule each other out? While simplicity is a factor in safety-critical applications, AUTOSAR has over 6,000 configuration parameters and well over 100,000
More informationPrinciples and characteristics of distributed systems and environments
Principles and characteristics of distributed systems and environments Definition of a distributed system Distributed system is a collection of independent computers that appears to its users as a single
More information3 - Introduction to Operating Systems
3 - Introduction to Operating Systems Mark Handley What is an Operating System? An OS is a program that: manages the computer hardware. provides the basis on which application programs can be built and
More informationAnalyzing IBM i Performance Metrics
WHITE PAPER Analyzing IBM i Performance Metrics The IBM i operating system is very good at supplying system administrators with built-in tools for security, database management, auditing, and journaling.
More information