Real-Time Operating Systems.
|
|
- Harry Hampton
- 8 years ago
- Views:
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 Overview Introduction OS and RTOS RTOS taxonomy and architecture Application areas Mixed-criticality systems Examples:
More informationOperating Systems. III. Scheduling. http://soc.eurecom.fr/os/
Operating Systems Institut Mines-Telecom III. Scheduling Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/os/ Outline Basics of Scheduling Definitions Switching
More informationPredictable response times in event-driven real-time systems
Predictable response times in event-driven real-time systems Automotive 2006 - Security and Reliability in Automotive Systems Stuttgart, October 2006. Presented by: Michael González Harbour mgh@unican.es
More informationLecture 3 Theoretical Foundations of RTOS
CENG 383 Real-Time Systems Lecture 3 Theoretical Foundations of RTOS Asst. Prof. Tolga Ayav, Ph.D. Department of Computer Engineering Task States Executing Ready Suspended (or blocked) Dormant (or sleeping)
More informationEmbedded Systems. 6. Real-Time Operating Systems
Embedded Systems 6. Real-Time Operating Systems Lothar Thiele 6-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic
More informationSYSTEM ecos Embedded Configurable Operating System
BELONGS TO THE CYGNUS SOLUTIONS founded about 1989 initiative connected with an idea of free software ( commercial support for the free software ). Recently merged with RedHat. CYGNUS was also the original
More informationReal-Time Component Software. slide credits: H. Kopetz, P. Puschner
Real-Time Component Software slide credits: H. Kopetz, P. Puschner Overview OS services Task Structure Task Interaction Input/Output Error Detection 2 Operating System and Middleware Applica3on So5ware
More informationModule 8. Industrial Embedded and Communication Systems. Version 2 EE IIT, Kharagpur 1
Module 8 Industrial Embedded and Communication Systems Version 2 EE IIT, Kharagpur 1 Lesson 37 Real-Time Operating Systems: Introduction and Process Management Version 2 EE IIT, Kharagpur 2 Instructional
More informationReal-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 informationREAL TIME OPERATING SYSTEMS. Lesson-10:
REAL TIME OPERATING SYSTEMS Lesson-10: Real Time Operating System 1 1. Real Time Operating System Definition 2 Real Time A real time is the time which continuously increments at regular intervals after
More informationOperating 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 informationWhat is best for embedded development? Do most embedded projects still need an RTOS?
RTOS versus GPOS: What is best for embedded development? Do most embedded projects still need an RTOS? It is a good question, given the speed of today s high-performance processors and the availability
More informationWhite Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux
White Paper Real-time Capabilities for Linux SGI REACT Real-Time for Linux Abstract This white paper describes the real-time capabilities provided by SGI REACT Real-Time for Linux. software. REACT enables
More informationPOSIX. 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 informationOperating Systems Concepts: Chapter 7: Scheduling Strategies
Operating Systems Concepts: Chapter 7: Scheduling Strategies Olav Beckmann Huxley 449 http://www.doc.ic.ac.uk/~ob3 Acknowledgements: There are lots. See end of Chapter 1. Home Page for the course: http://www.doc.ic.ac.uk/~ob3/teaching/operatingsystemsconcepts/
More informationMultiprocessor Scheduling and Scheduling in Linux Kernel 2.6
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Winter Term 2008 / 2009 Jun.-Prof. Dr. André Brinkmann Andre.Brinkmann@uni-paderborn.de Universität Paderborn PC² Agenda Multiprocessor and
More informationLecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses
Overview of Real-Time Scheduling Embedded Real-Time Software Lecture 3 Lecture Outline Overview of real-time scheduling algorithms Clock-driven Weighted round-robin Priority-driven Dynamic vs. static Deadline
More informationHard 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 informationComparison between scheduling algorithms in RTLinux and VxWorks
Comparison between scheduling algorithms in RTLinux and VxWorks Linköpings Universitet Linköping 2006-11-19 Daniel Forsberg (danfo601@student.liu.se) Magnus Nilsson (magni141@student.liu.se) Abstract The
More informationLinux 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 informationOperating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
More informationEnhancing 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 informationCPU Scheduling. CPU Scheduling
CPU Scheduling Electrical and Computer Engineering Stephen Kim (dskim@iupui.edu) ECE/IUPUI RTOS & APPS 1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling
More informationCPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS
CPU SCHEDULING CPU SCHEDULING (CONT D) Aims to assign processes to be executed by the CPU in a way that meets system objectives such as response time, throughput, and processor efficiency Broken down into
More informationHow 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 informationReal-Time Scheduling 1 / 39
Real-Time Scheduling 1 / 39 Multiple Real-Time Processes A runs every 30 msec; each time it needs 10 msec of CPU time B runs 25 times/sec for 15 msec C runs 20 times/sec for 5 msec For our equation, A
More informationPage 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems
Lecture Outline Operating Systems Objectives Describe the functions and layers of an operating system List the resources allocated by the operating system and describe the allocation process Explain how
More informationChapter 19: Real-Time Systems. Overview of Real-Time Systems. Objectives. System Characteristics. Features of Real-Time Systems
Chapter 19: Real-Time Systems System Characteristics Features of Real-Time Systems Chapter 19: Real-Time Systems Implementing Real-Time Operating Systems Real-Time CPU Scheduling VxWorks 5.x 19.2 Silberschatz,
More informationException 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 information10.04.2008. Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details
Thomas Fahrig Senior Developer Hypervisor Team Hypervisor Architecture Terminology Goals Basics Details Scheduling Interval External Interrupt Handling Reserves, Weights and Caps Context Switch Waiting
More informationEmbedded & Real-time Operating Systems
Universität Dortmund 12 Embedded & Real-time Operating Systems Peter Marwedel, Informatik 12 Germany Application Knowledge Structure of this course New clustering 3: Embedded System HW 2: Specifications
More informationReal- Time Scheduling
Real- Time Scheduling Chenyang Lu CSE 467S Embedded Compu5ng Systems Readings Ø Single-Processor Scheduling: Hard Real-Time Computing Systems, by G. Buttazzo. q Chapter 4 Periodic Task Scheduling q Chapter
More informationA Survey of Fitting Device-Driver Implementations into Real-Time Theoretical Schedulability Analysis
A Survey of Fitting Device-Driver Implementations into Real-Time Theoretical Schedulability Analysis Mark Stanovich Florida State University, USA Contents 1 Introduction 2 2 Scheduling Theory 3 2.1 Workload
More informationReal Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
More informationCPU Scheduling. Basic Concepts. Basic Concepts (2) Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems
Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems Based on original slides by Silberschatz, Galvin and Gagne 1 Basic Concepts CPU I/O Burst Cycle Process execution
More informationObjectives. Chapter 5: CPU Scheduling. CPU Scheduler. Non-preemptive and preemptive. Dispatcher. Alternating Sequence of CPU And I/O Bursts
Objectives Chapter 5: CPU Scheduling Introduce CPU scheduling, which is the basis for multiprogrammed operating systems Describe various CPU-scheduling algorithms Discuss evaluation criteria for selecting
More informationTypes Of Operating Systems
Types Of Operating Systems Date 10/01/2004 1/24/2004 Operating Systems 1 Brief history of OS design In the beginning OSes were runtime libraries The OS was just code you linked with your program and loaded
More informationADVANCED 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 informationTasks Schedule Analysis in RTAI/Linux-GPL
Tasks Schedule Analysis in RTAI/Linux-GPL Claudio Aciti and Nelson Acosta INTIA - Depto de Computación y Sistemas - Facultad de Ciencias Exactas Universidad Nacional del Centro de la Provincia de Buenos
More informationA Predictable and IO Bandwidth Reservation Task Scheduler
A Predictable and IO Bandwidth Reservation Task Scheduler By HAO CAI B.S., Nan Kai University, 1992 A Project Submitted in Partial Fulfillment of the Requirements for the Degree of MASTER OF SCIENCE In
More informationChapter 2: OS Overview
Chapter 2: OS Overview CmSc 335 Operating Systems 1. Operating system objectives and functions Operating systems control and support the usage of computer systems. a. usage users of a computer system:
More information2. 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 informationPerformance Comparison of RTOS
Performance Comparison of RTOS Shahmil Merchant, Kalpen Dedhia Dept Of Computer Science. Columbia University Abstract: Embedded systems are becoming an integral part of commercial products today. Mobile
More informationCSC 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 informationOPERATING SYSTEMS SCHEDULING
OPERATING SYSTEMS SCHEDULING Jerry Breecher 5: CPU- 1 CPU What Is In This Chapter? This chapter is about how to get a process attached to a processor. It centers around efficient algorithms that perform
More informationLast Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
More informationPorting 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 informationA 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 informationThe 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 informationRTAI. Antonio Barbalace antonio.barbalace@unipd.it. (modified by M.Moro 2011) RTAI
Antonio Barbalace antonio.barbalace@unipd.it (modified by M.Moro 2011) Real Time Application Interface by Dipartimento di Ingegneria Aereospaziale dell Università di Milano (DIAPM) It is not a complete
More informationOverview 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 informationDeciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run
SFWR ENG 3BB4 Software Design 3 Concurrent System Design 2 SFWR ENG 3BB4 Software Design 3 Concurrent System Design 11.8 10 CPU Scheduling Chapter 11 CPU Scheduling Policies Deciding which process to run
More informationProcess 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 informationScheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum
Scheduling Yücel Saygın These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum 1 Scheduling Introduction to Scheduling (1) Bursts of CPU usage alternate with periods
More informationOperating Systems. 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 informationLinux A multi-purpose executive support for civil avionics applications?
August 2004 Serge GOIFFON Pierre GAUFILLET AIRBUS France Linux A multi-purpose executive support for civil avionics applications? Civil avionics software context Main characteristics Required dependability
More informationOverview 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 informationChapter 3 Operating-System Structures
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
More informationPikeOS: 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 informationNotes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.
Specifications for ARINC 653 compliant RTOS & Development Environment Notes and terms of conditions Vendor shall note the following terms and conditions/ information before they submit their quote. 1.
More informationthe 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 informationOperatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings
Operatin g Systems: Internals and Design Principle s Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings Operating Systems: Internals and Design Principles Bear in mind,
More informationRun-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 informationICS 143 - Principles of Operating Systems
ICS 143 - Principles of Operating Systems Lecture 5 - CPU Scheduling Prof. Nalini Venkatasubramanian nalini@ics.uci.edu Note that some slides are adapted from course text slides 2008 Silberschatz. Some
More informationResource 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 informationChapter 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 informationevm 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 informationThe 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 informationReal 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 informationFastboot 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 informationSoftware 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 informationReal-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 informationChapter 5 Process Scheduling
Chapter 5 Process Scheduling CPU Scheduling Objective: Basic Scheduling Concepts CPU Scheduling Algorithms Why Multiprogramming? Maximize CPU/Resources Utilization (Based on Some Criteria) CPU Scheduling
More informationIntroduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu
Introduction to Operating Systems Indiana University Chen Yu Perspective of the Computer System Software A general piece of software with common functionalities that support many applications. Example:
More informationOutline. 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 informationPerformance 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 informationCPU Scheduling. Core Definitions
CPU Scheduling General rule keep the CPU busy; an idle CPU is a wasted CPU Major source of CPU idleness: I/O (or waiting for it) Many programs have a characteristic CPU I/O burst cycle alternating phases
More informationCPU Scheduling Outline
CPU Scheduling Outline What is scheduling in the OS? What are common scheduling criteria? How to evaluate scheduling algorithms? What are common scheduling algorithms? How is thread scheduling different
More informationLong-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 informationReal 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 informationModular 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 informationVtRES 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 informationCPU 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 informationThe 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 informationRed 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 informationIntroduction. 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 informationLinux 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 informationArchitectures 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 informationCGL 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 informationWhat 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 informationOperating System Tutorial
Operating System Tutorial OPERATING SYSTEM TUTORIAL Simply Easy Learning by tutorialspoint.com tutorialspoint.com i ABOUT THE TUTORIAL Operating System Tutorial An operating system (OS) is a collection
More informationMobile Operating Systems. Week I
Mobile Operating Systems Week I Overview Introduction Mobile Operating System Structure Mobile Operating System Platforms Java ME Platform Palm OS Symbian OS Linux OS Windows Mobile OS BlackBerry OS iphone
More informationLecture 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 informationReal-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 informationWhy Threads Are A Bad Idea (for most purposes)
Why Threads Are A Bad Idea (for most purposes) John Ousterhout Sun Microsystems Laboratories john.ousterhout@eng.sun.com http://www.sunlabs.com/~ouster Introduction Threads: Grew up in OS world (processes).
More informationQuality 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 informationTools 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 informationChapter 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 informationChapter 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 informationDigitale 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