Real-Time Operating Systems.

Size: px
Start display at page:

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

Transcription

1 Institut Mines-Telecom Ludovic Apvrille Eurecom, office Outline 2/66 Fall 2014 Institut Mines-Telecom

2 Definitions What is an Embedded System? Computer system designed for specific purpose Tightly coupled hardware and software integration An embedding system may include several embedded systems PC vs. embedded systems PC: general-purpose microprocessor and OS High power consumption, heat production, large size Embedded system Dedicated system Dedicated hardware (e.g., DSPs) and software Constraints of consumption, heat, size, performance, price,... 3/66 Fall 2014 Institut Mines-Telecom A Few Characteristics of Embedded Systems Environment The system evolves in an environment that must be taken into account: Temperature, vibration, impacts, variable power supply, interferences, corrosion, fire, water, radiations, etc. Criticality Failures may have major consequences The system should always perform correctly! Hardware level: for example, a specification could be that the system should continue to work even if an electronic component fails (redundancy) Safety at software level: e.g., handling of possible bugs and crash Various execution modes 4/66 Fall 2014 Institut Mines-Telecom

3 Highly Available Systems Number of 9s Downtime per year Typical application 3 Nines (99.9%) 9h Desktop 4 Nines (99.99%) 1h Enterprise server 5 Nines (99.999%) 5mn Carrier-class server 6 Nines ( %) 30s Carrier-switch equipment Source: Providing Open Architecture High Availability solutions, Revision 1.0, Published by HA Forum, Feb /66 Fall 2014 Institut Mines-Telecom A Few Characteristics of Embedded Systems (Cont.) Reduced space, weight and consumption Example: smartphones Memory size is small with regards to PCs Reduced computation power Various techniques Mix of analog, digital, software functions Hardware / software co-design System on a Chip (SoC) 6/66 Fall 2014 Institut Mines-Telecom

4 High-level Architecture Embedded system = controlling system + controlled system + environment 7/66 Fall 2014 Institut Mines-Telecom Response to External Events 8/66 Fall 2014 Institut Mines-Telecom

5 Example of Embedded Systems 9/66 Fall 2014 Institut Mines-Telecom Typical Cross-Platform Environment for the Development of Embedded Systems 10/66 Fall 2014 Institut Mines-Telecom

6 View of the Target Embedded System 11/66 Fall 2014 Institut Mines-Telecom Debugging ROM Monitor Uses serial line On-Chip Debugging (OCD) = built-in microprocessor debugging capabilities BDM - Background Debug Mode JTAG - Joint Test Action Group No need for underlying software support on chip OCD debugging information: Content of processor registers System memory dump Instruction under execution... 12/66 Fall 2014 Institut Mines-Telecom

7 What is a Real-Time System? Real-Time Systems have been defined as: Those systems in which the correctness of the system depends not only on the logical results of the computation, but also on the time at which the results are produced (J. Stankovic, Misconceptions About Real-Time Computing, IEEE Computer, 21(10), October 1988) 13/66 Fall 2014 Institut Mines-Telecom What is a Real-Time System? (Cont.) More precisely, a system is said to be a Real-Time System if: It reacts to external stimuli System interacting with its environment It reacts to these stimuli within a limit of time, regardless of the load of the system WCET = Worst Case Execution Time Timing correctness Vs. usual systems Only logical correctness Manage the average case Best effort 14/66 Fall 2014 Institut Mines-Telecom

8 Response to External Events 15/66 Fall 2014 Institut Mines-Telecom Definition Jobs and Tasks A task is a set of related jobs joined to provide functions A job is a unit of work executed by the system Parameters Temporal behavior E.g., a job lasting less than 20ms, a periodic task with period = 30ms Functional: intrinsic properties of the job (e.g., taps of filter) Resource requirements (e.g., 10kb of memory) Interconnection: its communication with other jobs E.g., a decoding job must send its result to a displaying job Relies on shared memory, message queues, etc. 16/66 Fall 2014 Institut Mines-Telecom

9 Time Constraints Time constraint = Constraint imposed on the timing behavior of a job Release time Instant of time when a job becomes available for execution Deadline Instant of time at which a job is required to be completed Absolute deadline = release time + relative deadline Response Time Difference between the completion time and the release time of a job 17/66 Fall 2014 Institut Mines-Telecom System Latency System latency = End-to-end delay between a change of state in the environment, and the corresponding output reaction produced by the system Latency involves: delay for scanning the environment, delay due to the OS, delay for executing calculations, delay for producing output results (communication delay) Jitter = incertitude on delays Load of the system, etc. Should be low with regards to the latency 18/66 Fall 2014 Institut Mines-Telecom

10 Determinism Issue Computing time Each activity can use various execution branches Communication time Status of messages queues, delay of signals, etc. Interrupts Software or hardware exceptions 19/66 Fall 2014 Institut Mines-Telecom Hard and Soft Real-Time Systems Comparison between hard and soft systems 1. The degree of tolerance of missed deadlines 2. The usefulness of computed results after missed deadlines 3. The severity of penalty incurred for failing to meet deadlines Hard system Soft system 1 Zero tolerance Non-zero 2 Useless Not zero right after passing deadline 3 Catastrophic Non-catastrophic Complex real-time and embedded systems A complex real-time and embedded system is commonly a mix of hard and soft subsystems 20/66 Fall 2014 Institut Mines-Telecom

11 Example 1: A GSM Phone Specification Software is in charge Of some operations performed at physical level (receiving, sending, measuring the level of the electromagnetic field, etc.) Of logical operations such as scanning for incoming calls, maintaining connections when changing of beams, etc. Sending and receiving voice data is a critical task 577µs of voice data are transmitted every 4.6ms 577µs of voice data are received every 4.6ms Management of the mobility issue If the distance to the relay is increasing, data should be emitted earlier to remain synchronized with the relay (Doppler effect) 21/66 Fall 2014 Institut Mines-Telecom Example 1: A GSM Phone (Cont.) Constraints Temporal constraints on sending and receiving Global constraint: Audio quality 22/66 Fall 2014 Institut Mines-Telecom

12 Example 2: A Multimedia System Discrete media vs. continuous media Discrete media (= static): Media characterized by their spatial dimension: text, images Continuous media (= dynamic ): Media with a temporal dimension: sound, video and animations Quality of Service (QoS) Fundamental issue! Use of synchronization techniques 23/66 Fall 2014 Institut Mines-Telecom Example 2: A Multimedia System (Cont.) 24/66 Fall 2014 Institut Mines-Telecom

13 True or False? A real-time system runs faster than usual systems? An elevator controlling system is a real-time system? A real-time application can be executed on every operating systems? 25/66 Fall 2014 Institut Mines-Telecom Outline 26/66 Fall 2014 Institut Mines-Telecom

14 Limitations of General-Purpose OS for Real-Time Systems Scheduling policies share CPUs in fair way They don t take into account temporal constraints Communication mechanisms introduce non-deterministic temporal behavior Time is wasted at input / output management level Memory management (MMU, cache, dynamic allocation) introduces non-deterministic execution time Software timers used for managing time are not fine-grained enough Use of 27/66 Fall 2014 Institut Mines-Telecom Key Characteristics Reliability Need to operate for a long period of time System reliability depends on all system elements Hardware, BSP, RTOS and application(s) Predictability To a certain degree, and at least better than in GPOS Completion of system calls occurs within known frames Benchmark on the variance of the response times for each system calls WCET 28/66 Fall 2014 Institut Mines-Telecom

15 Key Characteristics (Cont.) Performance CPU performance: MIPS Throughput performance: bps Performance should be measured as a whole Compactness RTOS memory footprint should be small Scalability, i.e handling application-specific requirements Modular components File systems, protocol stacks, etc. 29/66 Fall 2014 Institut Mines-Telecom Target System Software Initialization Sequence 30/66 Fall 2014 Institut Mines-Telecom

16 Examples of RTOS VxWorks LynuxWorks QNX Windows Mobile, ios, Symbian, BlackBerry Operating System 1 Linux for RT and embedded systems µclinux RTLinux RTAI Android 1 It is based on QNX 31/66 Fall 2014 Institut Mines-Telecom Developing an Application for VxWorks with Tornado 32/66 Fall 2014 Institut Mines-Telecom

17 Debuging Using WindView 33/66 Fall 2014 Institut Mines-Telecom Using Free and Open-Source OS for Embedded Systems No royalties when distributing the embedded system Source code is available Maintenance can be performed for as long as desired Systems can be built from this source code 34/66 Fall 2014 Institut Mines-Telecom

18 How to Make UNIX more Real-Time UNIX Real-Time UNIX Time-sharing based scheduling Real-time scheduling classes Services not reentrant Fully reentrant libraries IPC non deterministic Reworking IPC with deterministic communication time Large memory footprint Modularity (micro-kernels) Timing issues, timer accuracy Preemptive kernel /66 Fall 2014 Institut Mines-Telecom Scheduling Limitations of schedulers in general-purpose OS Schedulers are defined with interactivity in mind Dynamic priorities Calculation tasks are penalized Temporal constraints are not taken into account Schedulability analysis cannot be performed Schedulers for Real-Time Systems RMA, EDF, FCFS, Round-Robin, Fixed priority 36/66 Fall 2014 Institut Mines-Telecom

19 Preemption Latency in a Priority-Based System 37/66 Fall 2014 Institut Mines-Telecom Preemption Points Adding preemption points in the kernel ( Fully preemptive kernel) Define a slice of time during which no preemption is allowed (e.g., 2,000 instructions) Rewrite all kernel primitives: The duration during which no preemption is allowed must always be shorter than the defined slice of instructions After each slice, call the scheduler (just in case) Limitation: Defining the slice is not obvious Too long average preemption latency is higher Too short important overhead 38/66 Fall 2014 Institut Mines-Telecom

20 Memory Management Dynamic allocations Should be avoided at run-time Algorithms are based on fixed-size blocks Pools of objects Avoid frequent allocation and fragmentation No memory compaction Real-time compaction algorithms might be used Most of the time, virtual addressing (i.e., MMU) is not used And sometimes even not implemented in RTOS! Page fault introduces non-determinism 39/66 Fall 2014 Institut Mines-Telecom IPC - Inter Process Communications Limitations for RT systems No deterministic transmission delay for: Signals, pipes, message passing, semaphores, shared memory A Few Solutions Implementation with deterministic processing time Example: RT-FIFO RT-FIFO = FIFO with predefined maximum size and with pre-allocated messages 40/66 Fall 2014 Institut Mines-Telecom

21 Input / Output Management Limitations for RT systems Difficult or impossible to bound the time to perform an I/O operation Solutions Drivers working closely with the kernel Deterministic delay in all inter-process communications Communication structures with basic and deterministic algorithms RT-FIFO, RT-signals, etc. 41/66 Fall 2014 Institut Mines-Telecom Issue Reentrant Runtime Libraries Libraries offer services such as: Input / Output operations, dynamic memory allocations, etc. Services may have an internal state: buffer (I/O), pointer to the next chunk of free memory, etc. If preemption occurs when a service is being called, internal state of the service may be corrupted Solutions Protection at application level: mutex, semaphore, etc. Safe, but costly Use a reentrant version of the library (if available) Safe, less costly (but more costly than non-reentrant librairies) 42/66 Fall 2014 Institut Mines-Telecom

22 Exceptions and Interrupts Exceptions Events that disrupt the normal execution flow of the processor and force the processor to execute special instructions in a privileged state Synchronous exceptions Divide by zero Asynchronous exceptions Interrupts Pushing the reset button of the embedded system = Asynchronous exceptions triggered by events external hardware devices generate 43/66 Fall 2014 Institut Mines-Telecom Programmable Interrupt Controller Hardware-implemented Prioritizing multiple interrupt sources so that at any time the highest priority interrupt is presented to the core CPU for processing PICs have a set of Interrupt Request Lines Interrupt = physical signal on a given line Handlers specified at PIC level ESR = Exception Service Routine ISR = Interrupt Service Routine 44/66 Fall 2014 Institut Mines-Telecom

23 Source Airbag sensor Brake sensor Fuel Level Sensor Programmable Interrupt Controller: Example Priority Vector Address IRQ Max freq. Description Highest 14h 8 N/A Detects the need to deploy airbags High 18h 7 N/A Informs about the current braking power Med 1Bh 6 20Hz Detects the level of fuel RTC Low 1Dh 5 100Hz Clock runs at 10ms tick 46/66 Fall 2014 Institut Mines-Telecom

24 Masking Interrupts Why masking? Reduce the total number of interrupts raised by devices Interrupts are lost when masked Function being processed is non-reentrant Atomic operations How is masking done? Disable the device so that it cannot assert additional interrupts Mask the interrupts of equal or lower priority levels Disable the line between the PIC and the core processor Interrupts of any priority level do not reach the processor 47/66 Fall 2014 Institut Mines-Telecom Classification of Exceptions Asynchronous Non-maskable Cannot be blocked or enabled by software Maskable Can be blocked or enabled by software Synchronous Precise Program counter points to the exact instruction which caused the exception (Offending instruction) Processor knows where to resume the execution Non-precise Because of prefetching and pipelining techniques, no knowledge about the exact instruction that caused the exception 48/66 Fall 2014 Institut Mines-Telecom

25 General Exceptions Priorities 49/66 Fall 2014 Institut Mines-Telecom Nested Interrupts 50/66 Fall 2014 Institut Mines-Telecom

26 Exceptions Timing ESR and ISR should be short Designers Should avoid situations where interrupts could be missed Should be aware of the interrupt frequency of each device Maximum allowed duration can be deduced from this information Should take into account the fact that real-time tasks cannot execute when interrupts are being processed 51/66 Fall 2014 Institut Mines-Telecom Exceptions Timing (Cont.) 52/66 Fall 2014 Institut Mines-Telecom

27 Cutting ISRs in Two Parts 53/66 Fall 2014 Institut Mines-Telecom Figure: The caption Conclusion on ISRs Benefits about cutting ISRs in two parts Lower priority interrupts can be handled Reduces the chance of missing interrupts Increase concurrency because devices can start working on next operations earlier General guide for implementing ISRs An ISR should disable interrupts of the same level An ISR should mask all interrupts if it needs to execute a sequence of code as one atomic operation An ISR should avoid calling non-reentrant functions and blocking system calls 54/66 Fall 2014 Institut Mines-Telecom

28 Timer and Timer Services Use of Applications often have to perform jobs after a given delay has elapsed Programmable Interval (PIT) 55/66 Fall 2014 Institut Mines-Telecom Timer Interrupt Service Routine Updating the system clock Absolute time (calendar) Elapsed time (since power up) Calling a registered kernel function to notify the occurrence of a pre-programmed period announce time tick() Calls the Scheduler and the Soft-timer facility Acknowledging the interrupt, reinitializing the necessary timer control register and returning from interrupt 56/66 Fall 2014 Institut Mines-Telecom

29 Steps in Servicing Timer Interrupt 57/66 Fall 2014 Institut Mines-Telecom Goal Implementing the Soft-Timer Handling Facility Allowing applications to start a timer A callback function is called when the timer expires Allowing applications to stop or cancel a previously installed timer Internally maintaining the application timers Implementation: timer ISR The timer ISR should be as fast as possible to avoid missing next timer interrupts 58/66 Fall 2014 Institut Mines-Telecom

30 Timer Inaccuracy Due to Processing Delays ISR triggers asynchronous events to signal a task of the expiration of its timer E.g., sending of a message, release of a semaphore Task scheduling delay, context switch Higher priority task may be running 59/66 Fall 2014 Institut Mines-Telecom Limitations A few solutions RTAI Outline Limitations A few solutions RTAI 60/66 Fall 2014 Institut Mines-Telecom

31 Limitations A few solutions RTAI Limitations of Linux for Real-Time Systems Time-sharing system Interactivity-based scheduling: strict priority-based approach is needed in real-time systems! Long code sections where all external events are masked Preemption is not possible Kernel cannot be preempted When executing a system call (so, interrupts may be missed!) When executing an ISR Device management Partial support for POSIX.4 61/66 Fall 2014 Institut Mines-Telecom Limitations A few solutions RTAI Towards a Linux for Real-Time Systems Introducing a real-time scheduler and preemption points Patching the kernel Adding new kernel modules 62/66 Fall 2014 Institut Mines-Telecom

32 Limitations A few solutions RTAI Introducing a Real-Time Scheduler (Patch) Patchs are said to be preemptive Kernel s latency is reduced Limited to soft real-time systems? RT-Preempt Based on call to the scheduler whenever possible Kernel s data are protected with mutex Low Latency Adds preemption points at carefully chosen places in the code Approach is less systematic Performance study demonstrates its efficiency with regards to the Preempt kernel patch 63/66 Fall 2014 Institut Mines-Telecom Limitations A few solutions RTAI Modifying the Kernel (Modules) Basic idea: the Linux kernel will never be real-time Another scheduler is added to the kernel Priority-based scheduling policy Non real-time tasks are scheduled by the default Linux scheduler Real-time tasks are programmed as linux kernel modules Hard real-time system Two main implementations RTAI ( RTLinux (FSMLabs) 64/66 Fall 2014 Institut Mines-Telecom

33 Limitations A few solutions RTAI Architecture of the Linux Kernel 65/66 Fall 2014 Institut Mines-Telecom Limitations A few solutions RTAI Architecture of RTAI 66/66 Fall 2014 Institut Mines-Telecom

Real-time Operating Systems. VO Embedded Systems Engineering Armin Wasicek 11.12.2012

Real-time Operating Systems. VO Embedded Systems Engineering Armin Wasicek 11.12.2012 Real-time Operating Systems VO Embedded Systems Engineering Armin Wasicek 11.12.2012 Overview Introduction OS and RTOS RTOS taxonomy and architecture Application areas Mixed-criticality systems Examples:

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

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

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

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

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

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

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

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

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

Operating Systems, 6 th ed. Test Bank Chapter 7

Operating Systems, 6 th ed. Test Bank Chapter 7 True / False Questions: Chapter 7 Memory Management 1. T / F In a multiprogramming system, main memory is divided into multiple sections: one for the operating system (resident monitor, kernel) and one

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

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

POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2)

POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2) RTOSes Part I Christopher Kenna September 24, 2010 POSIX Portable Operating System for UnIX Application portability at source-code level POSIX Family formally known as IEEE 1003 Originally 17 separate

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

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

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

Hard Real-Time Linux

Hard Real-Time Linux Hard Real-Time Linux (or: How to Get RT Performances Using Linux) Andrea Bastoni University of Rome Tor Vergata System Programming Research Group bastoni@sprg.uniroma2.it Linux Kernel Hacking Free Course

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

Linux 2.4. Linux. Windows

Linux 2.4. Linux. Windows Linux 2.4 Non-preemptible kernel A system call might take long time to complete Coarse timer resolution Tasks can be released only with 10ms precision Virtual memory Introduces unpredictable amount of

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

Enhancing the Monitoring of Real-Time Performance in Linux

Enhancing the Monitoring of Real-Time Performance in Linux Master of Science Thesis Enhancing the Monitoring of Real-Time Performance in Linux Author: Nima Asadi nai10001@student.mdh.se Supervisor: Mehrdad Saadatmand mehrdad.saadatmand@mdh.se Examiner: Mikael

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

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

How To Compare Real Time Scheduling To A Scheduled Scheduler On Linux On A Computer System With A Visualization System

How To Compare Real Time Scheduling To A Scheduled Scheduler On Linux On A Computer System With A Visualization System MS project proposal: A comparison of real-time scheduling algorithms using visualization of tasks and evaluation of real-time extensions to Linux Kevin Churnetski Computer Science-RIT 8/21/2003 Abstract:

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

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

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

Exception and Interrupt Handling in ARM

Exception and Interrupt Handling in ARM Exception and Interrupt Handling in ARM Architectures and Design Methods for Embedded Systems Summer Semester 2006 Author: Ahmed Fathy Mohammed Abdelrazek Advisor: Dominik Lücke Abstract We discuss exceptions

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

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

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

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

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

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

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

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

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM 1 The ARM architecture processors popular in Mobile phone systems 2 ARM Features ARM has 32-bit architecture but supports 16 bit

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

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

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

2. is the number of processes that are completed per time unit. A) CPU utilization B) Response time C) Turnaround time D) Throughput

2. is the number of processes that are completed per time unit. A) CPU utilization B) Response time C) Turnaround time D) Throughput Import Settings: Base Settings: Brownstone Default Highest Answer Letter: D Multiple Keywords in Same Paragraph: No Chapter: Chapter 5 Multiple Choice 1. Which of the following is true of cooperative scheduling?

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

CSC 2405: Computer Systems II

CSC 2405: Computer Systems II CSC 2405: Computer Systems II Spring 2013 (TR 8:30-9:45 in G86) Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Introductions Mirela Damian Room 167A in the Mendel Science Building mirela.damian@villanova.edu

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

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

Porting ecos to the Analog Devices BLACKfin DSP

Porting ecos to the Analog Devices BLACKfin DSP Faculty of Computer Science Real-Time Systems Group Diploma thesis Porting ecos to the Analog Devices BLACKfin DSP André Liesk Chemnitz, October 2 nd, 2006 student : André Liesk, 30562 born on November

More information

A High Resolution Performance Monitoring Software on the Pentium

A High Resolution Performance Monitoring Software on the Pentium A High Resolution Performance Monitoring Software on the Pentium Ong Cheng Soon*, Fadhli Wong Mohd Hasan Wong**, Lai Weng Kin* * Software Lab, MIMOS Berhad lai@mimos.my, csong@mimos.my ** Dept of Electrical

More information

The Design and Implementation of Real-Time Schedulers in RED-Linux

The Design and Implementation of Real-Time Schedulers in RED-Linux The Design and Implementation of Real-Time Schedulers in RED-Linux KWEI-JAY LIN, SENIOR MEMBER, IEEE AND YU-CHUNG WANG Invited Paper Researchers in the real-time system community have designed and studied

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

Overview of Operating Systems Instructor: Dr. Tongping Liu

Overview of Operating Systems Instructor: Dr. Tongping Liu Overview of Operating Systems Instructor: Dr. Tongping Liu Thank Dr. Dakai Zhu and Dr. Palden Lama for providing their slides. 1 Lecture Outline Operating System: what is it? Evolution of Computer Systems

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

Process Description and Control. 2004-2008 william stallings, maurizio pizzonia - sistemi operativi

Process Description and Control. 2004-2008 william stallings, maurizio pizzonia - sistemi operativi Process Description and Control 1 Process A program in execution (running) on a computer The entity that can be assigned to and executed on a processor A unit of activity characterized by a at least one

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

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

Overview of the Cortex-M3

Overview of the Cortex-M3 CHAPTER Overview of the Cortex-M3 2 In This Chapter Fundamentals 11 Registers 12 Operation Modes 14 The Built-In Nested Vectored Interrupt Controller 15 The Memory Map 16 The Bus Interface 17 The MPU 18

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

PikeOS: Multi-Core RTOS for IMA. Dr. Sergey Tverdyshev SYSGO AG 29.10.2012, Moscow

PikeOS: Multi-Core RTOS for IMA. Dr. Sergey Tverdyshev SYSGO AG 29.10.2012, Moscow PikeOS: Multi-Core RTOS for IMA Dr. Sergey Tverdyshev SYSGO AG 29.10.2012, Moscow Contents Multi Core Overview Hardware Considerations Multi Core Software Design Certification Consideratins PikeOS Multi-Core

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

the high-performance embedded kernel User Guide Version 5.0 Express Logic, Inc. 858.613.6640 Toll Free 888.THREADX FAX 858.521.

the high-performance embedded kernel User Guide Version 5.0 Express Logic, Inc. 858.613.6640 Toll Free 888.THREADX FAX 858.521. the high-performance embedded kernel Version 5.0 Express Logic, Inc. 858.613.6640 Toll Free 888.THREADX FAX 858.521.4259 http://www.expresslogic.com 1997-2006 by Express Logic, Inc. All rights reserved.

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

Run-Time Scheduling Support for Hybrid CPU/FPGA SoCs

Run-Time Scheduling Support for Hybrid CPU/FPGA SoCs Run-Time Scheduling Support for Hybrid CPU/FPGA SoCs Jason Agron jagron@ittc.ku.edu Acknowledgements I would like to thank Dr. Andrews, Dr. Alexander, and Dr. Sass for assistance and advice in both research

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

Resource Utilization of Middleware Components in Embedded Systems

Resource Utilization of Middleware Components in Embedded Systems Resource Utilization of Middleware Components in Embedded Systems 3 Introduction System memory, CPU, and network resources are critical to the operation and performance of any software system. These system

More information

Chapter 11 I/O Management and Disk Scheduling

Chapter 11 I/O Management and Disk Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ 2008, Prentice Hall I/O Devices Roadmap Organization

More information

evm Virtualization Platform for Windows

evm Virtualization Platform for Windows B A C K G R O U N D E R evm Virtualization Platform for Windows Host your Embedded OS and Windows on a Single Hardware Platform using Intel Virtualization Technology April, 2008 TenAsys Corporation 1400

More information

The Real-Time Operating System ucos-ii

The Real-Time Operating System ucos-ii The Real-Time Operating System ucos-ii Enric Pastor Dept. Arquitectura de Computadors µc/os-ii Overview µc/os-ii Task Management Rate Monotonic Scheduling Memory Management µc/gui µc/fs Books and Resources

More information

Real Time Operating System for Embedded DSP Applications

Real Time Operating System for Embedded DSP Applications 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

More information

Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems

Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems Fastboot Techniques for x86 Architectures Marcus Bortel Field Application Engineer QNX Software Systems Agenda Introduction BIOS and BIOS boot time Fastboot versus BIOS? Fastboot time Customizing the boot

More information

Software engineering for real-time systems

Software engineering for real-time systems Introduction Software engineering for real-time systems Objectives To: Section 1 Introduction to real-time systems Outline the differences between general-purpose applications and real-time systems. Give

More information

Real-Time Operating Systems With Example PICOS18. What is an Operating System?

Real-Time Operating Systems With Example PICOS18. What is an Operating System? Real-Time Operating Systems With Example PICOS18 Sebastian Fischmeister 1 What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware Operating

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

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

Outline. Introduction. Multiprocessor Systems on Chip. A MPSoC Example: Nexperia DVP. A New Paradigm: Network on Chip

Outline. Introduction. Multiprocessor Systems on Chip. A MPSoC Example: Nexperia DVP. A New Paradigm: Network on Chip Outline Modeling, simulation and optimization of Multi-Processor SoCs (MPSoCs) Università of Verona Dipartimento di Informatica MPSoCs: Multi-Processor Systems on Chip A simulation platform for a MPSoC

More information

Performance Evaluation of Linux Bridge

Performance Evaluation of Linux Bridge Performance Evaluation of Linux Bridge James T. Yu School of Computer Science, Telecommunications, and Information System (CTI) DePaul University ABSTRACT This paper studies a unique network feature, Ethernet

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

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

Long-term monitoring of apparent latency in PREEMPT RT Linux real-time systems

Long-term monitoring of apparent latency in PREEMPT RT Linux real-time systems Long-term monitoring of apparent latency in PREEMPT RT Linux real-time systems Carsten Emde Open Source Automation Development Lab (OSADL) eg Aichhalder Str. 39, 78713 Schramberg, Germany C.Emde@osadl.org

More information

Real Time Operating Systems. Tajana Simunic Rosing Department of Computer Science and Engineering University of California, San Diego.

Real Time Operating Systems. Tajana Simunic Rosing Department of Computer Science and Engineering University of California, San Diego. Real Time Operating Systems Tajana Simunic Rosing Department of Computer Science and Engineering University of California, San Diego. 1 Software components Operating systems schedulers Middleware Standard

More information

Modular Real-Time Linux

Modular Real-Time Linux Modular Real-Time Linux Shinpei Kato Department of Information and Computer Science, Keio University 3-14-1 Hiyoshi, Kohoku, Yokohama, Japan shinpei@ny.ics.keio.ac.jp Nobuyuki Yamasaki Department of Information

More information

VtRES 2013. Towards Hardware Embedded Virtualization Technology: Architectural Enhancements to an ARM SoC. ESRG Embedded Systems Research Group

VtRES 2013. Towards Hardware Embedded Virtualization Technology: Architectural Enhancements to an ARM SoC. ESRG Embedded Systems Research Group Towards Hardware Embedded Virtualization Technology: Architectural Enhancements to an ARM SoC VtRES 2013 P. Garcia, T. Gomes, F. Salgado, J. Monteiro, A. Tavares Summary 1. Current landscape in 2. Embedded

More information

CPU Scheduling. Multitasking operating systems come in two flavours: cooperative multitasking and preemptive multitasking.

CPU Scheduling. Multitasking operating systems come in two flavours: cooperative multitasking and preemptive multitasking. CPU Scheduling The scheduler is the component of the kernel that selects which process to run next. The scheduler (or process scheduler, as it is sometimes called) can be viewed as the code that divides

More information

The Microsoft Windows Hypervisor High Level Architecture

The Microsoft Windows Hypervisor High Level Architecture The Microsoft Windows Hypervisor High Level Architecture September 21, 2007 Abstract The Microsoft Windows hypervisor brings new virtualization capabilities to the Windows Server operating system. Its

More information

Red Hat Linux Internals

Red Hat Linux Internals Red Hat Linux Internals Learn how the Linux kernel functions and start developing modules. Red Hat Linux internals teaches you all the fundamental requirements necessary to understand and start developing

More information

Introduction. What is an Operating System?

Introduction. What is an Operating System? Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization

More information

Linux for Embedded and Real-Time Systems

Linux for Embedded and Real-Time Systems Linux for Embedded and Real-Time Systems Kaiserslautern 9 June 2005 Samir Amiry (samir.amiry@iese.fhg.de) Fraunhofer IESE Institut Experimentelles Software Engineering Outlines Introduction. Linux: the

More information

Architectures and Platforms

Architectures and Platforms Hardware/Software Codesign Arch&Platf. - 1 Architectures and Platforms 1. Architecture Selection: The Basic Trade-Offs 2. General Purpose vs. Application-Specific Processors 3. Processor Specialisation

More information

CGL Architecture Specification

CGL Architecture Specification CGL Architecture Specification Mika Karlstedt Helsinki 19th February 2003 Seminar paper for Seminar on High Availability and Timeliness in Linux University of Helsinki Department of Computer science i

More information

What is an RTOS? Introduction to Real-Time Operating Systems. So what is an RTOS?(contd)

What is an RTOS? Introduction to Real-Time Operating Systems. So what is an RTOS?(contd) Introduction to Real-Time Operating Systems Mahesh Balasubramaniam What is an RTOS? An RTOS is a class of operating systems that are intended for real time-applications What is a real time application?

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

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

Lecture 6: Interrupts. CSC 469H1F Fall 2006 Angela Demke Brown

Lecture 6: Interrupts. CSC 469H1F Fall 2006 Angela Demke Brown Lecture 6: Interrupts CSC 469H1F Fall 2006 Angela Demke Brown Topics What is an interrupt? How do operating systems handle interrupts? FreeBSD example Linux in tutorial Interrupts Defn: an event external

More information

Real-Time Software. Basic Scheduling and Response-Time Analysis. René Rydhof Hansen. 21. september 2010

Real-Time Software. Basic Scheduling and Response-Time Analysis. René Rydhof Hansen. 21. september 2010 Real-Time Software Basic Scheduling and Response-Time Analysis René Rydhof Hansen 21. september 2010 TSW (2010e) (Lecture 05) Real-Time Software 21. september 2010 1 / 28 Last Time Time in a real-time

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

Quality of Service su Linux: Passato Presente e Futuro

Quality of Service su Linux: Passato Presente e Futuro Quality of Service su Linux: Passato Presente e Futuro Luca Abeni luca.abeni@unitn.it Università di Trento Quality of Service su Linux:Passato Presente e Futuro p. 1 Quality of Service Time Sensitive applications

More information

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available: Tools Page 1 of 13 ON PROGRAM TRANSLATION A priori, we have two translation mechanisms available: Interpretation Compilation On interpretation: Statements are translated one at a time and executed immediately.

More information

Chapter 11 I/O Management and Disk Scheduling

Chapter 11 I/O Management and Disk Scheduling Operatin g Systems: Internals and Design Principle s Chapter 11 I/O Management and Disk Scheduling Seventh Edition By William Stallings Operating Systems: Internals and Design Principles An artifact can

More information

Chapter 6, The Operating System Machine Level

Chapter 6, The Operating System Machine Level Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General

More information

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai 2007. Jens Onno Krah

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai 2007. Jens Onno Krah (DSF) Soft Core Prozessor NIOS II Stand Mai 2007 Jens Onno Krah Cologne University of Applied Sciences www.fh-koeln.de jens_onno.krah@fh-koeln.de NIOS II 1 1 What is Nios II? Altera s Second Generation

More information