Real-Time Operating Systems. Ludovic Apvrille Eurecom, office
|
|
- Myrtle Anderson
- 5 years ago
- Views:
Transcription
1 Ludovic Apvrille Eurecom, office 470 Eurecom
2 Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems Outline Real-time and embedded Systems Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems 2/63 Fall 2018 Institut Mines-Telecom
3 USB EXT 3 1 L 2 1 TX RX DIGITAL TX RX PWR 1 ICSP Real-time and embedded Systems Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems What is an Embedded System? AREF GND RESET 3V3 POWER ANALOG IN 5V Gnd Vin PWR SEL ADRUINO Definitions Computer system designed for specific purpose Tightly coupled hardware and software integration 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/63 Fall 2018 Institut Mines-Telecom
4 Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems Example of Embedded Systems 4/63 Fall 2018 Institut Mines-Telecom
5 Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems 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 If failures may have major consequences, then the system must always perform correctly Hardware level: for example, a specification could be that the system should continue to work even if an electronic component fails (e.g. use of redundancy) Safety at software level: e.g., handling of possible bugs and crash Various execution modes 5/63 Fall 2018 Institut Mines-Telecom
6 Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems A Few Characteristics of Embedded Systems: 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 network switch Source: Providing Open Architecture High Availability solutions, Revision 1.0, Published by HA Forum, Feb /63 Fall 2018 Institut Mines-Telecom
7 Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems 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 System on a Chip (SoC) 7/63 Fall 2018 Institut Mines-Telecom
8 Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems High-level Architecture Embedded system = controlling system + controlled system + environment 8/63 Fall 2018 Institut Mines-Telecom
9 Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems Response to External Events 9/63 Fall 2018 Institut Mines-Telecom
10 Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems Typical Development Environment 10/63 Fall 2018 Institut Mines-Telecom
11 Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems Example of a Target Embedded System 11/63 Fall 2018 Institut Mines-Telecom
12 Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems 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) 12/63 Fall 2018 Institut Mines-Telecom
13 Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems 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 13/63 Fall 2018 Institut Mines-Telecom
14 Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems Response to External Events 14/63 Fall 2018 Institut Mines-Telecom
15 Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems Time Constraints Time constraint = Constraint imposed on the timing behavior of each job of a task 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 15/63 Fall 2018 Institut Mines-Telecom
16 Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems Latency and Jitter System latency = End-to-end delay between a change of state in the environment, and the corresponding output reaction produced by the system 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 16/63 Fall 2018 Institut Mines-Telecom
17 Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems Determinism Issue = incertitude on execution time Computing time Each activity can use various execution branches Communication time Status of messages queues, delay of signals, etc. Interrupts Software or hardware exceptions 17/63 Fall 2018 Institut Mines-Telecom
18 Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems 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 18/63 Fall 2018 Institut Mines-Telecom
19 Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems 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) 19/63 Fall 2018 Institut Mines-Telecom
20 Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems Example 1: A GSM Phone (Cont.) Constraints Timing constraints on sending and receiving Global constraint: Audio quality 20/63 Fall 2018 Institut Mines-Telecom
21 Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems 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! 21/63 Fall 2018 Institut Mines-Telecom
22 Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems Example 2: A Multimedia System (Cont.) 22/63 Fall 2018 Institut Mines-Telecom
23 Embedded systems in a nutshell Real-time systems in a nutshell Examples of real-time and embedded systems 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? 23/63 Fall 2018 Institut Mines-Telecom
24 Outline Real-time and embedded Systems 24/63 Fall 2018 Institut Mines-Telecom
25 Limitations of General-Purpose OS for Real-Time Systems Scheduling policies share CPUs in fair way They don t take into account timing constraints Memory management (MMU, cache, dynamic allocation) introduces non-deterministic execution time Input / output management is non-deterministic Communication mechanisms introduce non-deterministic temporal behavior Software timers used for managing time are not fine-grained enough Use of 25/63 Fall 2018 Institut Mines-Telecom
26 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 26/63 Fall 2018 Institut Mines-Telecom
27 Key Characteristics (Cont.) Performance CPU performance: MIPS Throughput performance: bps Compactness RTOS memory footprint should be small Scalability, i.e handling application-specific requirements Modular components File systems, protocol stacks, etc. 27/63 Fall 2018 Institut Mines-Telecom
28 Target Initialization Sequence 28/63 Fall 2018 Institut Mines-Telecom
29 Examples of RTOS RTOS FreeRTOS, ios, VxWorks Linux for RT and embedded systems RTAI, Xenomai, Wind River Linux, Android Using FOSS for Embedded Systems ( FFOS means Free and Open Source Software ) 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 29/63 Fall 2018 Institut Mines-Telecom
30 Tornado and VxWorks 30/63 Fall 2018 Institut Mines-Telecom
31 Debuging Using WindView 31/63 Fall 2018 Institut Mines-Telecom
32 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 /63 Fall 2018 Institut Mines-Telecom
33 Scheduling Limitations of schedulers in general-purpose OS Schedulers are defined with interactivity in mind Dynamic priorities Calculation tasks are penalized Timing constraints are not taken into account Schedulability analysis cannot be performed Schedulers for Real-Time Systems RMA, EDF, FCFS, Round-Robin, Fixed priority 33/63 Fall 2018 Institut Mines-Telecom
34 Preemption Latency in a Priority-Based System 34/63 Fall 2018 Institut Mines-Telecom
35 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 35/63 Fall 2018 Institut Mines-Telecom
36 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 36/63 Fall 2018 Institut Mines-Telecom
37 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 37/63 Fall 2018 Institut Mines-Telecom
38 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. 38/63 Fall 2018 Institut Mines-Telecom
39 Issue Real-time and embedded Systems 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) 39/63 Fall 2018 Institut Mines-Telecom
40 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 Pushing the reset button of the embedded system Interrupts = Asynchronous exceptions triggered by events external hardware devices generate 40/63 Fall 2018 Institut Mines-Telecom
41 Programmable Interrupt Controller Airbag sensor Highest Brake sensor High PIC Interrupt ISR Fuel level sensor Medium Interrupt vector Real-time clock Low 41/63 Fall 2018 Institut Mines-Telecom
42 Programmable Interrupt Controller (Cont.) 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 42/63 Fall 2018 Institut Mines-Telecom
43 Programmable Interrupt Controller: Example Source Priority Vector IRQ Max Description Address freq. Airbag Highest 14h 8 N/A Detects the sensor need to deploy airbags Brake High 18h 7 N/A Informs about sensor the current braking power Fuel Level Sensor Med 1Bh 6 20Hz Detects the level of fuel RTC Low 1Dh 5 100Hz Clock runs at 10ms tick 43/63 Fall 2018 Institut Mines-Telecom
44 Masking Interrupts Why masking? Reduce the total number of interrupts raised by devices Warning: Interrupts may be 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 44/63 Fall 2018 Institut Mines-Telecom
45 Classification of Exceptions Asynchronous Maskable Can be blocked or enabled by software Non-maskable Cannot 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 45/63 Fall 2018 Institut Mines-Telecom
46 General Exceptions Priorities 46/63 Fall 2018 Institut Mines-Telecom
47 Nested Interrupts 47/63 Fall 2018 Institut Mines-Telecom
48 Exceptions Timing ESR and ISR should be short Designers 1. Should avoid situations where interrupts could be missed 2. Should be aware of the interrupt frequency of each device Maximum allowed duration can be deduced from this information 3. Should take into account the fact that real-time tasks cannot execute when interrupts are being processed 48/63 Fall 2018 Institut Mines-Telecom
49 Exceptions Timing (Cont.) 49/63 Fall 2018 Institut Mines-Telecom
50 Cutting ISRs in Two Parts 50/63 Fall 2018 Institut Mines-Telecom
51 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 Urgent tasks have a chance to be executed sooner 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 51/63 Fall 2018 Institut Mines-Telecom
52 Timer and Timer Services Use of Applications often have to perform jobs after a given delay has elapsed Programmable Interval (PIT) 52/63 Fall 2018 Institut Mines-Telecom
53 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 53/63 Fall 2018 Institut Mines-Telecom
54 Steps in Servicing Timer Interrupt 54/63 Fall 2018 Institut Mines-Telecom
55 Soft-Timer Facility Goal 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 The timer ISR should be as fast as possible to avoid missing next timer interrupts 55/63 Fall 2018 Institut Mines-Telecom
56 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 56/63 Fall 2018 Institut Mines-Telecom
57 Limitations A few solutions Xenomai Outline Real-time and embedded Systems Limitations A few solutions Xenomai 57/63 Fall 2018 Institut Mines-Telecom
58 Limitations A few solutions Xenomai 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 58/63 Fall 2018 Institut Mines-Telecom
59 Limitations A few solutions Xenomai Towards a Linux for Real-Time Systems Introducing a real-time scheduler and preemption points Patching the kernel Adding new kernel modules 59/63 Fall 2018 Institut Mines-Telecom
60 Limitations A few solutions Xenomai 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 RT-Preempt patch 60/63 Fall 2018 Institut Mines-Telecom
61 Limitations A few solutions Xenomai 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 Main implementations RTAI ( Xenomai ( 61/63 Fall 2018 Institut Mines-Telecom
62 Limitations A few solutions Xenomai Architecture of the Linux Kernel 62/63 Fall 2018 Institut Mines-Telecom
63 Limitations A few solutions Xenomai Architecture of Xenomai Linux application VxWorks application POSIX application glibc glibc Xenomai libvxworks glibc Xenomai libpthread_rt Memory manager VFS Exploration d'architectures Xenomai RTOS core Linux Kernel Space Adeos (Hardware Abstraction Layer) Hardware 63/63 Fall 2018 Institut Mines-Telecom
Tasks. Task Implementation and management
Tasks Task Implementation and management Tasks Vocab Absolute time - real world time Relative time - time referenced to some event Interval - any slice of time characterized by start & end times Duration
More informationA Predictable RTOS. Mantis Cheng Department of Computer Science University of Victoria
A Predictable RTOS Mantis Cheng Department of Computer Science University of Victoria Outline I. Analysis of Timeliness Requirements II. Analysis of IO Requirements III. Time in Scheduling IV. IO in Scheduling
More informationEmbedded Systems. 5. Operating Systems. Lothar Thiele. Computer Engineering and Networks Laboratory
Embedded Systems 5. Operating Systems Lothar Thiele Computer Engineering and Networks Laboratory Embedded Operating Systems 5 2 Embedded Operating System (OS) Why an operating system (OS) at all? Same
More informationMultiprocessor and Real-Time Scheduling. Chapter 10
Multiprocessor and Real-Time Scheduling Chapter 10 1 Roadmap Multiprocessor Scheduling Real-Time Scheduling Linux Scheduling Unix SVR4 Scheduling Windows Scheduling Classifications of Multiprocessor Systems
More informationSMD149 - Operating Systems
SMD149 - Operating Systems Roland Parviainen November 3, 2005 1 / 45 Outline Overview 2 / 45 Process (tasks) are necessary for concurrency Instance of a program in execution Next invocation of the program
More informationOperating Systems. V. Input / Output
Operating Systems V. Input / Output Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/os/ @OS Eurecom Devices of a Computer System Applications OS CPU Memory
More informationWhat s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable
What s An OS? Provides environment for executing programs Process abstraction for multitasking/concurrency scheduling Hardware abstraction layer (device drivers) File systems Communication Do we need an
More informationReal-Time Concepts for Embedded Systems Author: Qing Li with Caroline Yao
Real-Time Concepts for Embedded Systems Author: Qing Li with Caroline Yao ISBN: 1-57820-124-1 CMPBooks Chapter 11 Timer and Timer Services Outline 11.1 Introduction 11.2 Real-Time Clocks and System Clocks
More informationReal-Time Operating Systems Design and Implementation. LS 12, TU Dortmund
Real-Time Operating Systems Design and Implementation (slides are based on Prof. Dr. Jian-Jia Chen) Anas Toma, Jian-Jia Chen LS 12, TU Dortmund October 19, 2017 Anas Toma, Jian-Jia Chen (LS 12, TU Dortmund)
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 informationEE458 - Embedded Systems Exceptions and Interrupts
EE458 - Embedded Systems Exceptions and Interrupts Outline Exceptions Interrupts References RTC: Chapters 10 CUG: Chapters 8, 21, 23 1 Introduction An exception is any event that disrupts the normal execution
More informationReference Model and Scheduling Policies for Real-Time Systems
ESG Seminar p.1/42 Reference Model and Scheduling Policies for Real-Time Systems Mayank Agarwal and Ankit Mathur Dept. of Computer Science and Engineering, Indian Institute of Technology Delhi ESG Seminar
More informationChapter 19: Real-Time Systems. Operating System Concepts 8 th Edition,
Chapter 19: Real-Time Systems, Silberschatz, Galvin and Gagne 2009 Chapter 19: Real-Time Systems System Characteristics Features of Real-Time Systems Implementing Real-Time Operating Systems Real-Time
More informationLecture Topics. Announcements. Today: Uniprocessor Scheduling (Stallings, chapter ) Next: Advanced Scheduling (Stallings, chapter
Lecture Topics Today: Uniprocessor Scheduling (Stallings, chapter 9.1-9.3) Next: Advanced Scheduling (Stallings, chapter 10.1-10.4) 1 Announcements Self-Study Exercise #10 Project #8 (due 11/16) Project
More informationEfficiency and memory footprint of Xilkernel for the Microblaze soft processor
Efficiency and memory footprint of Xilkernel for the Microblaze soft processor Dariusz Caban, Institute of Informatics, Gliwice, Poland - June 18, 2014 The use of a real-time multitasking kernel simplifies
More informationOPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5
OPERATING SYSTEMS CS3502 Spring 2018 Processor Scheduling Chapter 5 Goals of Processor Scheduling Scheduling is the sharing of the CPU among the processes in the ready queue The critical activities are:
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 Application Software
More informationMultiprocessor and Real- Time Scheduling. Chapter 10
Multiprocessor and Real- Time Scheduling Chapter 10 Classifications of Multiprocessor Loosely coupled multiprocessor each processor has its own memory and I/O channels Functionally specialized processors
More information6/20/2018. Lecture 2: Platforms & RTOS. Outline. Lab Setup (20 min) Labs work. Lecture: Platform + RTOS
Lecture 2: Platforms & RTOS 1 Outline Lab Setup (20 min) Labs work Workbench + vxworks Documentations (15 min) Project Management (25 min) Host Shell (25 min) Lecture: Platform + RTOS 2 1 3 Microcomputer
More informationCPU Scheduling: Objectives
CPU Scheduling: Objectives CPU scheduling, the basis for multiprogrammed operating systems CPU-scheduling algorithms Evaluation criteria for selecting a CPU-scheduling algorithm for a particular system
More informationChapter 6: CPU Scheduling. Operating System Concepts 9 th Edition
Chapter 6: CPU Scheduling Silberschatz, Galvin and Gagne 2013 Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Real-Time
More informationECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Processes and threads
ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part I: Operating system overview: Processes and threads 1 Overview Process concept Process scheduling Thread
More informationLecture Topics. Announcements. Today: Advanced Scheduling (Stallings, chapter ) Next: Deadlock (Stallings, chapter
Lecture Topics Today: Advanced Scheduling (Stallings, chapter 10.1-10.4) Next: Deadlock (Stallings, chapter 6.1-6.6) 1 Announcements Exam #2 returned today Self-Study Exercise #10 Project #8 (due 11/16)
More informationPROCESS SCHEDULING II. CS124 Operating Systems Fall , Lecture 13
PROCESS SCHEDULING II CS124 Operating Systems Fall 2017-2018, Lecture 13 2 Real-Time Systems Increasingly common to have systems with real-time scheduling requirements Real-time systems are driven by specific
More informationNuttX Realtime Programming
NuttX RTOS NuttX Realtime Programming Gregory Nutt Overview Interrupts Cooperative Scheduling Tasks Work Queues Realtime Schedulers Real Time == == Deterministic Response Latency Stimulus Response Deadline
More informationSE300 SWE Practices. Lecture 10 Introduction to Event- Driven Architectures. Tuesday, March 17, Sam Siewert
SE300 SWE Practices Lecture 10 Introduction to Event- Driven Architectures Tuesday, March 17, 2015 Sam Siewert Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. Four Common Types
More informationReal-time Support in Operating Systems
Real-time Support in Operating Systems Colin Perkins teaching/2003-2004/rtes4/lecture11.pdf Lecture Outline Overview of the rest of the module Real-time support in operating systems Overview of concepts
More informationConcurrent activities in daily life. Real world exposed programs. Scheduling of programs. Tasks in engine system. Engine system
Real world exposed programs Programs written to interact with the real world, outside the computer Programs handle input and output of data in pace matching the real world processes Necessitates ability
More informationSystemy RT i embedded Wykład 11 Systemy RTOS
Systemy RT i embedded Wykład 11 Systemy RTOS Wrocław 2013 Plan Introduction Tasks Queues Interrupts Resources Memory management Multiprocessor operation Introduction What s an Operating System? Provides
More informationOperating Systems. V. Input / Output. Eurecom
Operating Systems V. Input / Output Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/os/ @OS Eurecom Issues OS manages devices Protection Sharing Ease-of-use
More informationLecture 3. Introduction to Real-Time kernels. Real-Time Systems
Real-Time Systems Lecture 3 Introduction to Real-Time kernels Task States Generic architecture of Real-Time kernels Typical structures and functions of Real-Time kernels Last lecture (2) Computational
More informationChapter 13: I/O Systems. Operating System Concepts 9 th Edition
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne 2013 Chapter 13: I/O Systems Overview I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations
More informationReal-Time Operating Systems (Working Draft) What is an Operating System (OS)?
Real-Time Operating Systems (Working Draft) Originally Prepared by Sebastian Fischemeister Modified by Insup Lee CIS 541, Spring 2010 What is an Operating System (OS)? A program that acts as an intermediary
More informationREAL TIME OPERATING SYSTEM PROGRAMMING-I: VxWorks
REAL TIME OPERATING SYSTEM PROGRAMMING-I: I: µc/os-ii and VxWorks Lesson-1: RTOSes 1 1. Kernel of an RTOS 2 Kernel of an RTOS Used for real-time programming features to meet hard and soft real time constraints,
More informationLecture 3: Concurrency & Tasking
Lecture 3: Concurrency & Tasking 1 Real time systems interact asynchronously with external entities and must cope with multiple threads of control and react to events - the executing programs need to share
More informationProgramming Embedded Systems
Programming Embedded Systems Lecture 5 Interrupts, modes of multi-tasking Wednesday Feb 1, 2012 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/31 Lecture outline Interrupts Internal, external,
More informationScheduling Mar. 19, 2018
15-410...Everything old is new again... Scheduling Mar. 19, 2018 Dave Eckhardt Brian Railing Roger Dannenberg 1 Outline Chapter 5 (or Chapter 7): Scheduling Scheduling-people/textbook terminology note
More informationCommercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory
Commercial Real-time Operating Systems An Introduction Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory swamis@iastate.edu Outline Introduction RTOS Issues and functionalities LynxOS
More informationAUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann
AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel Alexander Züpke, Marc Bommert, Daniel Lohmann alexander.zuepke@hs-rm.de, marc.bommert@hs-rm.de, lohmann@cs.fau.de Motivation Automotive and Avionic industry
More informationLinux - Not real-time!
Linux - Not real-time! Date: 16.01.2015 Author(s): Michal Koziel www.bitvis.no 1 Abstract A system is said to be real-time if it can respond to external triggers and perform periodic tasks with deterministic
More informationGreen Hills Software, Inc.
Green Hills Software, Inc. A Safe Tasking Approach to Ada95 Jim Gleason Engineering Manager Ada Products 5.0-1 Overview Multiple approaches to safe tasking with Ada95 No Tasking - SPARK Ada95 Restricted
More informationGrundlagen Microcontroller Interrupts. Günther Gridling Bettina Weiss
Grundlagen Microcontroller Interrupts Günther Gridling Bettina Weiss 1 Interrupts Lecture Overview Definition Sources ISR Priorities & Nesting 2 Definition Interrupt: reaction to (asynchronous) external
More informationExam TI2720-C/TI2725-C Embedded Software
Exam TI2720-C/TI2725-C Embedded Software Wednesday April 16 2014 (18.30-21.30) Koen Langendoen In order to avoid misunderstanding on the syntactical correctness of code fragments in this examination, we
More informationOutline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview Use Cases Architecture Features Copyright Jaluna SA. All rights reserved
C5 Micro-Kernel: Real-Time Services for Embedded and Linux Systems Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 1 Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview
More informationCS 326: Operating Systems. CPU Scheduling. Lecture 6
CS 326: Operating Systems CPU Scheduling Lecture 6 Today s Schedule Agenda? Context Switches and Interrupts Basic Scheduling Algorithms Scheduling with I/O Symmetric multiprocessing 2/7/18 CS 326: Operating
More informationAnnouncements. Program #1. Program #0. Reading. Is due at 9:00 AM on Thursday. Re-grade requests are due by Monday at 11:59:59 PM.
Program #1 Announcements Is due at 9:00 AM on Thursday Program #0 Re-grade requests are due by Monday at 11:59:59 PM Reading Chapter 6 1 CPU Scheduling Manage CPU to achieve several objectives: maximize
More informationProcess Scheduling Queues
Process Control Process Scheduling Queues Job queue set of all processes in the system. Ready queue set of all processes residing in main memory, ready and waiting to execute. Device queues set of processes
More informationEmbedded Systems: OS
Embedded Systems: OS Jinkyu Jeong (Jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) Standalone
More informationEECS 571 Principles of Real-Time Embedded Systems. Lecture Note #10: More on Scheduling and Introduction of Real-Time OS
EECS 571 Principles of Real-Time Embedded Systems Lecture Note #10: More on Scheduling and Introduction of Real-Time OS Kang G. Shin EECS Department University of Michigan Mode Changes Changes in mission
More informationZilog Real-Time Kernel
An Company Configurable Compilation RZK allows you to specify system parameters at compile time. For example, the number of objects, such as threads and semaphores required, are specez80acclaim! Family
More informationFrequently Asked Questions about Real-Time
FAQ: RTX64 2013 Frequently Asked Questions about Real-Time What is Real-Time? Real-time describes an application which requires a response to an event within some small upper bounded time frame. Typically,
More informationThe Real Time Thing. What the hack is real time and what to do with it. 22C3 30. December Erwin Erkinger e.at
The Real Time Thing What the hack is real time and what to do with it 22C3 30. December 2005 Erwin Erkinger vindaome@p e.at Content Part 1: Introduction the vocabulary and the concepts Part 2: Practical
More informationTime Handling in Programming Language
CSE 237B Fall 2009 Time Handling in Programming Language Rajesh Gupta University of California, San Diego System Characteristics Complexity in function (and in size) Concurrent control of separate components
More informationMicrium µc/os II RTOS Introduction EE J. E. Lumpp
Micrium µc/os II RTOS Introduction (by Jean Labrosse) EE599 001 Fall 2012 J. E. Lumpp μc/os II μc/os II is a highly portable, ROMable, very scalable, preemptive real time, deterministic, multitasking kernel
More informationEmbedded Systems: OS. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
Embedded Systems: OS Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Standalone Applications Often no OS involved One large loop Microcontroller-based
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 informationDSP/BIOS Kernel Scalable, Real-Time Kernel TM. for TMS320 DSPs. Product Bulletin
Product Bulletin TM DSP/BIOS Kernel Scalable, Real-Time Kernel TM for TMS320 DSPs Key Features: Fast, deterministic real-time kernel Scalable to very small footprint Tight integration with Code Composer
More informationReal-Time & Embedded Operating Systems
Real-Time & Embedded Operating Systems VO Embedded Systems Engineering (Astrit ADEMAJ) Real-Time Operating Systems Scheduling Embedded Operating Systems Power Consumption Embedded Real-Time Operating Systems
More informationOperating Systems Comprehensive Exam. Spring Student ID # 3/16/2006
Operating Systems Comprehensive Exam Spring 2006 Student ID # 3/16/2006 You must complete all of part I (60%) You must complete two of the three sections in part II (20% each) In Part I, circle or select
More informationChapter 6: CPU Scheduling. Operating System Concepts 9 th Edition
Chapter 6: CPU Scheduling Silberschatz, Galvin and Gagne 2013 Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Real-Time
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 10 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Chapter 6: CPU Scheduling Basic Concepts
More informationFrequently Asked Questions about Real-Time
FAQ: RTX64 2014 Frequently Asked Questions about Real-Time What is Real-Time? Real-time describes an application which requires a response to an event within some small upper bounded time frame. Typically,
More informationMultiprocessor scheduling
Chapter 10 Multiprocessor scheduling When a computer system contains multiple processors, a few new issues arise. Multiprocessor systems can be categorized into the following: Loosely coupled or distributed.
More informationSubject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date:
Subject Name: OPERATING SYSTEMS Subject Code: 10EC65 Prepared By: Kala H S and Remya R Department: ECE Date: Unit 7 SCHEDULING TOPICS TO BE COVERED Preliminaries Non-preemptive scheduling policies Preemptive
More informationOperating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester
Operating System: Chap13 I/O Systems National Tsing-Hua University 2016, Fall Semester Outline Overview I/O Hardware I/O Methods Kernel I/O Subsystem Performance Application Interface Operating System
More informationCS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University
CS 571 Operating Systems Midterm Review Angelos Stavrou, George Mason University Class Midterm: Grading 2 Grading Midterm: 25% Theory Part 60% (1h 30m) Programming Part 40% (1h) Theory Part (Closed Books):
More informationCEC 450 Real-Time Systems
CEC 450 Real-Time Systems Lecture 2 Introduction Part 1 August 31, 2015 Sam Siewert So Why SW for HRT Systems? ASIC and FPGA State-Machine Solutions Offer Hardware Clocked Deterministic Solutions FPGAs
More information4. Hardware Platform: Real-Time Requirements
4. Hardware Platform: Real-Time Requirements Contents: 4.1 Evolution of Microprocessor Architecture 4.2 Performance-Increasing Concepts 4.3 Influences on System Architecture 4.4 A Real-Time Hardware Architecture
More informationCommon Computer-System and OS Structures
Common Computer-System and OS Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection General System Architecture Oct-03 1 Computer-System Architecture
More informationIntroduction to Real-Time Operating Systems
Introduction to Real-Time Operating Systems GPOS vs RTOS General purpose operating systems Real-time operating systems GPOS vs RTOS: Similarities Multitasking Resource management OS services to applications
More informationMARUTHI SCHOOL OF BANKING (MSB)
MARUTHI SCHOOL OF BANKING (MSB) SO IT - OPERATING SYSTEM(2017) 1. is mainly responsible for allocating the resources as per process requirement? 1.RAM 2.Compiler 3.Operating Systems 4.Software 2.Which
More informationIntroduction to Real-time Systems. Advanced Operating Systems (M) Lecture 2
Introduction to Real-time Systems Advanced Operating Systems (M) Lecture 2 Introduction to Real-time Systems Real-time systems deliver services while meeting some timing constraints Not necessarily fast,
More informationCS3733: Operating Systems
CS3733: Operating Systems Topics: Process (CPU) Scheduling (SGG 5.1-5.3, 6.7 and web notes) Instructor: Dr. Dakai Zhu 1 Updates and Q&A Homework-02: late submission allowed until Friday!! Submit on Blackboard
More informationCPU Scheduling. Daniel Mosse. (Most slides are from Sherif Khattab and Silberschatz, Galvin and Gagne 2013)
CPU Scheduling Daniel Mosse (Most slides are from Sherif Khattab and Silberschatz, Galvin and Gagne 2013) Basic Concepts Maximum CPU utilization obtained with multiprogramming CPU I/O Burst Cycle Process
More informationA comparison between the scheduling algorithms used in RTLinux and in VxWorks - both from a theoretical and a contextual view
A comparison between the scheduling algorithms used in RTLinux and in VxWorks - both from a theoretical and a contextual view Authors and Affiliation Oskar Hermansson and Stefan Holmer studying the third
More informationLecture 21 Disk Devices and Timers
CS 423 Operating Systems Design Lecture 21 Disk Devices and Timers Klara Nahrstedt Fall 2011 Based on slides by YY Zhou and Andrew S. Tanenbaum CS 423 - Fall 2011 Overview Administrative announcements
More informationChapter 13: I/O Systems
Chapter 13: I/O Systems DM510-14 Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS Performance 13.2 Objectives
More informationAgenda. Threads. Single and Multi-threaded Processes. What is Thread. CSCI 444/544 Operating Systems Fall 2008
Agenda Threads CSCI 444/544 Operating Systems Fall 2008 Thread concept Thread vs process Thread implementation - user-level - kernel-level - hybrid Inter-process (inter-thread) communication What is Thread
More informationPredictable Interrupt Management and Scheduling in the Composite Component-based System
Predictable Interrupt Management and Scheduling in the Composite Component-based System Gabriel Parmer and Richard West Computer Science Department Boston University Boston, MA 02215 {gabep1, richwest}@cs.bu.edu
More informationReal-Time Technology in Linux
Real-Time Technology in Linux Sven-Thorsten Dietrich Real-Time Architect Introductions MontaVista Software is a leading global supplier of systems software and development tools for intelligent connected
More informationPROCESS SCHEDULING Operating Systems Design Euiseong Seo
PROCESS SCHEDULING 2017 Operating Systems Design Euiseong Seo (euiseong@skku.edu) Histogram of CPU Burst Cycles Alternating Sequence of CPU and IO Processor Scheduling Selects from among the processes
More informationToday s class. Scheduling. Informationsteknologi. Tuesday, October 9, 2007 Computer Systems/Operating Systems - Class 14 1
Today s class Scheduling Tuesday, October 9, 2007 Computer Systems/Operating Systems - Class 14 1 Aim of Scheduling Assign processes to be executed by the processor(s) Need to meet system objectives regarding:
More informationI/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic)
I/O Systems Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) I/O Systems 1393/9/15 1 / 57 Motivation Amir H. Payberah (Tehran
More informationOverall Structure of RT Systems
Course Outline Introduction Characteristics of RTS Real Time Operating Systems (RTOS) OS support: scheduling, resource handling Real Time Programming Languages Language support, e.g. Ada tasking Scheduling
More informationReal Time Linux patches: history and usage
Real Time Linux patches: history and usage Presentation first given at: FOSDEM 2006 Embedded Development Room See www.fosdem.org Klaas van Gend Field Application Engineer for Europe Why Linux in Real-Time
More informationMultimedia Systems 2011/2012
Multimedia Systems 2011/2012 System Architecture Prof. Dr. Paul Müller University of Kaiserslautern Department of Computer Science Integrated Communication Systems ICSY http://www.icsy.de Sitemap 2 Hardware
More informationOperating Systems. IV. Memory Management
Operating Systems IV. Memory Management Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/os/ @OS Eurecom Outline Basics of Memory Management Hardware Architecture
More informationLecture 2: September 9
CMPSCI 377 Operating Systems Fall 2010 Lecture 2: September 9 Lecturer: Prashant Shenoy TA: Antony Partensky & Tim Wood 2.1 OS & Computer Architecture The operating system is the interface between a user
More information8: Scheduling. Scheduling. Mark Handley
8: Scheduling Mark Handley Scheduling On a multiprocessing system, more than one process may be available to run. The task of deciding which process to run next is called scheduling, and is performed by
More informationChapter 12: I/O Systems
Chapter 12: I/O Systems Chapter 12: I/O Systems I/O Hardware! Application I/O Interface! Kernel I/O Subsystem! Transforming I/O Requests to Hardware Operations! STREAMS! Performance! Silberschatz, Galvin
More informationChapter 13: I/O Systems
Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS Performance Silberschatz, Galvin and
More informationChapter 12: I/O Systems. Operating System Concepts Essentials 8 th Edition
Chapter 12: I/O Systems Silberschatz, Galvin and Gagne 2011 Chapter 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS
More informationChapter 5: CPU Scheduling
Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Operating Systems Examples Algorithm Evaluation Chapter 5: CPU Scheduling
More informationDesign Patterns for Real-Time Computer Music Systems
Design Patterns for Real-Time Computer Music Systems Roger B. Dannenberg and Ross Bencina 4 September 2005 This document contains a set of design patterns for real time systems, particularly for computer
More informationCourse Syllabus. Operating Systems
Course Syllabus. Introduction - History; Views; Concepts; Structure 2. Process Management - Processes; State + Resources; Threads; Unix implementation of Processes 3. Scheduling Paradigms; Unix; Modeling
More informationMain Points of the Computer Organization and System Software Module
Main Points of the Computer Organization and System Software Module You can find below the topics we have covered during the COSS module. Reading the relevant parts of the textbooks is essential for a
More informationProcess Monitoring in Operating System Linux
Process Monitoring in Operating System Linux ZDENEK SLANINA, VILEM SROVNAL Department of Measurement and Control VSB Technical University of Ostrava 17. listopadu 15, 708 33 Ostrava-Poruba CZECH REPUBLIC
More informationMeasuring the impacts of the Preempt-RT patch
Measuring the impacts of the Preempt-RT patch maxime.chevallier@smile.fr October 25, 2017 RT Linux projects Simulation platform : bi-xeon, lots ot RAM 200µs wakeup latency, networking Test bench : Intel
More informationA Comparison of Scheduling Latency in Linux, PREEMPT_RT, and LITMUS RT. Felipe Cerqueira and Björn Brandenburg
A Comparison of Scheduling Latency in Linux, PREEMPT_RT, and LITMUS RT Felipe Cerqueira and Björn Brandenburg July 9th, 2013 1 Linux as a Real-Time OS 2 Linux as a Real-Time OS Optimizing system responsiveness
More informationTwo Real-Time Operating Systems and Their Scheduling Algorithms: QNX vs. RTLinux
Two Real-Time Operating Systems and Their Scheduling Algorithms: QNX vs. RTLinux Daniel Svärd dansv077@student.liu.se Freddie Åström freas157@student.liu.se November 19, 2006 Abstract This report tries
More information