Real Time Operating System for Embedded DSP Applications

Size: px
Start display at page:

Download "Real Time Operating System for Embedded DSP Applications"

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 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 information

Operating Systems 4 th Class

Operating 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 information

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run

Deciding 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 information

Embedded Systems. 6. Real-Time Operating Systems

Embedded 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 information

Module 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 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 information

What is best for embedded development? Do most embedded projects still need an RTOS?

What 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 information

SYSTEM ecos Embedded Configurable Operating System

SYSTEM 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 information

Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6

Multiprocessor 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 information

Tasks Schedule Analysis in RTAI/Linux-GPL

Tasks 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 information

Lecture 25 Symbian OS

Lecture 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 information

Performance Comparison of RTOS

Performance 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 information

Real- Time Scheduling

Real- 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 information

Scheduling. 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 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 information

Operating Systems Concepts: Chapter 7: Scheduling Strategies

Operating 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 information

Chapter 2: OS Overview

Chapter 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 information

White 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 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 information

Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems

Page 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 information

Real-Time Scheduling 1 / 39

Real-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 information

Operatin 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 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 information

Predictable response times in event-driven real-time systems

Predictable 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 information

Real Time Programming: Concepts

Real 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 information

CHAPTER 15: Operating Systems: An Overview

CHAPTER 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 information

OPERATING SYSTEMS SCHEDULING

OPERATING 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 information

REAL TIME OPERATING SYSTEMS. Lesson-10:

REAL 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 information

ICS 143 - Principles of Operating Systems

ICS 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 information

Lecture 3 Theoretical Foundations of RTOS

Lecture 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 information

An Implementation Of Multiprocessor Linux

An 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 information

EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications

EWeb: 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 information

theguard! ApplicationManager System Windows Data Collector

theguard! 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 information

Comparison between scheduling algorithms in RTLinux and VxWorks

Comparison 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 information

Process 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 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 information

Operating Systems. Lecture 03. February 11, 2013

Operating 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 information

10.04.2008. Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details

10.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 information

Types Of Operating Systems

Types 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 information

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

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 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 information

Aperiodic Task Scheduling

Aperiodic 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 information

Contents. Chapter 1. Introduction

Contents. 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 information

Objectives. Chapter 5: CPU Scheduling. CPU Scheduler. Non-preemptive and preemptive. Dispatcher. Alternating Sequence of CPU And I/O Bursts

Objectives. 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 information

Real-Time Operating Systems for MPSoCs

Real-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 information

Mobile Operating Systems. Week I

Mobile 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 information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Last 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 information

Making 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 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 information

Processor Scheduling. Queues Recall OS maintains various queues

Processor 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 information

Operating System: Scheduling

Operating 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 information

Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses

Lecture 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 information

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.

Notes 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 information

Technical Properties. Mobile Operating Systems. Overview Concepts of Mobile. Functions Processes. Lecture 11. Memory Management.

Technical 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 information

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner

Real-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 information

Operating System Organization. Purpose of an OS

Operating 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 information

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X

How 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 information

CPU Scheduling. CPU Scheduling

CPU 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 information

Chapter 13 Embedded Operating Systems

Chapter 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 information

CPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS

CPU 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 information

Overview of Presentation. (Greek to English dictionary) Different systems have different goals. What should CPU scheduling optimize?

Overview 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 information

Chapter 19: Real-Time Systems. Overview of Real-Time Systems. Objectives. System Characteristics. Features of Real-Time Systems

Chapter 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 information

CGI-based applications for distributed embedded systems for monitoring temperature and humidity

CGI-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 information

Linux Driver Devices. Why, When, Which, How?

Linux 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 information

CPU Scheduling. Core Definitions

CPU 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 information

Processes and Non-Preemptive Scheduling. Otto J. Anshus

Processes 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 information

CPU Scheduling. Basic Concepts. Basic Concepts (2) Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems

CPU 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 information

Chapter 3 Operating-System Structures

Chapter 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 information

Special FEATURE. By Heinrich Munz

Special 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 information

4003-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) 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 information

CPU Scheduling Outline

CPU 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 information

Operating System Tutorial

Operating 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 information

Introduction to Embedded Systems. Software Update Problem

Introduction 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 information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition 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 information

Application of Android OS as Real-time Control Platform**

Application 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 information

Linux A multi-purpose executive support for civil avionics applications?

Linux 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 information

A Predictable and IO Bandwidth Reservation Task Scheduler

A 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 information

Security Overview of the Integrity Virtual Machines Architecture

Security 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 information

Main Points. Scheduling policy: what to do next, when there are multiple threads ready to run. Definitions. Uniprocessor policies

Main 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 information

RTAI. Antonio Barbalace antonio.barbalace@unipd.it. (modified by M.Moro 2011) RTAI

RTAI. 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 information

Radware ADC-VX Solution. The Agility of Virtual; The Predictability of Physical

Radware 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 information

Overview and History of Operating Systems

Overview 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 information

Chapter 5 Process Scheduling

Chapter 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 information

Operating Systems. III. Scheduling. http://soc.eurecom.fr/os/

Operating 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 information

Multicore Programming with LabVIEW Technical Resource Guide

Multicore 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 information

Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging

Achieving 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 information

Network Scanning: A New Feature for Digital Copiers

Network 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 information

A 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 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 information

Radware ADC-VX Solution. The Agility of Virtual; The Predictability of Physical

Radware 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 information

Real-Time Operating Systems. http://soc.eurecom.fr/os/

Real-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 information

Embedded & Real-time Operating Systems

Embedded & 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 information

CS 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. 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 information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Last 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 information

Why Threads Are A Bad Idea (for most purposes)

Why 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 information

A Transport Protocol for Multimedia Wireless Sensor Networks

A 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 information

159.735. Final Report. Cluster Scheduling. Submitted by: Priti Lohani 04244354

159.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 information

Example of Standard API

Example 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 information

HRG Assessment: Stratus everrun Enterprise

HRG 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 information

W4118 Operating Systems. Instructor: Junfeng Yang

W4118 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 information

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu

Introduction 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 information

Multi-core architectures. Jernej Barbic 15-213, Spring 2007 May 3, 2007

Multi-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 information

Intel DPDK Boosts Server Appliance Performance White Paper

Intel 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 information

CHAPTER 1 INTRODUCTION

CHAPTER 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 information

Do AUTOSAR and functional safety rule each other out?

Do 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 information

Principles and characteristics of distributed systems and environments

Principles 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 information

3 - Introduction to Operating Systems

3 - 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 information

Analyzing IBM i Performance Metrics

Analyzing 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