Real Time Programming: Concepts
|
|
|
- Debra Anthony
- 9 years ago
- Views:
Transcription
1 Real Time Programming: Concepts Radek Pelánek
2 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 these concepts
3 Concurrent Programming Real Time and Concurrency typical architecture of embedded real time system: several input units computation output unit data logging/storing i.e., handling several concurrent activities concurrency is natural for real time systems motivation: Johan Nordlander s slides
4 Concurrent Programming Concurrent Programming programming notation and techniques expressing potential parallelism and solving the resulting synchronization and communication problems implementation of parallelism is essentially independent of concurrent programming concurrent programming provides an abstract setting in which to study parallelism without getting bogged down in the implementation details
5 Concurrent Programming Automatic Interleaving interleaving of processes (threads) is automatic programmer doesn t have to execute specific instructions to make switching processes happen, or take specific action to save the local context when switching occurs programmer must be prepared that switching might occur at any time who does the switching?
6 Concurrent Programming Support for Concurrent Programming support by the programming language examples: Ada, Java advantages: readability, OS independence, checking of interactions by compiler support by libraries and the operating system examples: C/C++ with POSIX advantages: multi-language composition, possibly more efficient, OS standards More about these issues in the next lecture.
7 Concurrent Programming Implementation of Concurrent Programming multiprogramming processes multiplex their execution on a single processor multiprocessing processes multiplex their execution on a multiprocessor system with access to shared memory distributed processing processes multiplex their execution on several processors which do not share memory
8 Concurrent Programming Variation Concurrent programming languages differ in: structure: static: the number of processes fixed and known at compile time dynamic: processes created at run-time level: flat: processes are defined only at the outermost level of the program nested: processes are allowed to be defined within another processes granularity: coarse: few long-lived processes fine: many short-lived processes
9 Processes and Threads About Processes... what is process process vs thread lifecycle of a process creation, termination interprocess relations
10 Processes and Threads Process process is a running instance of a program processes execute their own virtual machine to avoid interference from other processes it contains information about program resources and execution state, e.g.: environment, working directory,... program instructions registers, heap, stack file descriptors signal actions, inter-process communication tools (pipes, messages)
11 Processes and Threads Thread exists within a process, uses process resources unique execution of machine instructions, can can be scheduled by OS and run as independent entities keeps it own: execution stack, local data, etc. share global process data and resources lightweight (compared to processes)
12 Processes and Threads Processes and Threads Unix process Threads within a unix process
13 Processes and Threads Threads: Resource Sharing changes made by one thread to shared system resources (such as closing a file) will be seen by all other threads two pointers having the same value point to the same data reading and writing to the same memory locations is possible, and therefore requires explicit synchronization by the programmer
14 Processes and Threads Processes and Threads in most of the following we will not strictly distinguish between processes and threads we use process as a general term
15 Processes and Threads Process States
16 Processes and Threads Process Representation explicit process declaration cobegin, coend fork and join
17 Processes and Threads Process Termination completion of execution of the process body suicide by execution of a self-terminate statement abortion, through the explicit action of another process occurrence of an error condition never (process is a non-terminating loop)
18 Processes and Threads Interprocess Relations parent-child: a parent is a process that created a child; parent may be delayed while child is being created and initialized guardian-dependent: a guardian is affected by termination of a dependent
19 Processes and Threads Process States II
20 Processes and Threads Concurrency is Complicated... Source: G. Holzmann
21 Processes and Threads Source: G. Holzmann
22 Processes and Threads Source: G. Holzmann
23 Processes and Threads Source: G. Holzmann
24 Processes and Threads Puzzle (puzzle illustrating that concurrency is complicated) c := 1, x 1 := 0, x 2 := 0 x 1 := c x 2 := c x 1 := x 1 + c x 2 := x 2 + c c := x 1 c := x 2 Both processes repeat the given block of 3 commands. Can c attain value 5? Can c attain any natural value?
25 Communication and Synchronization synchronization communication satisfaction of constraints on the interleaving of actions of processes e.g., action by one process occurring after an action by another the passing of information from one process to another
26 Communication and Synchronization Linked concepts: communication requires synchronization synchronization contentless communication
27 Data Communication shared variables message passing
28 Shared Variables Shared Variables Communication unrestricted use of shared variables is unreliable multiple update problem example: shared variable X, assignment X := X + 1 load value of X into a register increment value of the register store the value in the register back to X two processes executing these instructions certain interleavings can produce incorrect results
29 Shared Variables Avoiding Interference parts of process that access shared variables must be executed indivisibly with respect to each other these parts are called critical section required protection is called mutual exclusion
30 Shared Variables Process States III
31 Shared Variables Mutual Exclusion specialized protocols (Peterson, Fischer,...) semaphores monitors
32 Shared Variables Semaphores semaphore may be initialized to non-negative value (typically 1) wait operation: decrements the semaphore value, if the value becomes negative, the caller becomes blocked signal operation: increments the semaphore value, if the value is not positive, then one process blocked by the semaphore is unblocked (usually in FIFO order) both operations are atomic
33 Shared Variables Criticism of Semaphores elegant low-level primitive usage is error-prone hard to debug more structured synchronization primitive is useful
34 Shared Variables Monitores encapsulation and efficient condition synchronization critical regions are written as procedures all encapsulated in a single module all variables that must be accessed under mutual exclusion are hidden procedure calls into the module are guaranteed to be mutually exclusive
35 Shared Variables Monitors Hoare style Java style
36 Message Passing Messages Passing: Synchronization Models asynchronous (no-wait) send operation is not blocking, requires buffer space synchronous (rendezvous) send operation is blocking, no buffer required remote invocation (extended rendezvous) sender is blocked until reply is received
37 Message Passing Synchronous Messages
38 Message Passing Asynchronous Messages
39 Message Passing Asynchronous with Bounded Buffer
40 Message Passing Message Passing: Naming (in)direction direct naming: send msg to process-name indirect naming: send msg to mailbox symmetry symmetric: both sender and receiver name each other asymmetric: receiver names no specific source
41 General Remarks Aspects of Real Time An external process to sample a program can read a real-time clock just as it samples any external process value (e.g. the temperature) An external process to react to a program can let certain points in time denote events (e.g. by means of interrupts by a clock) An external process to be constrained by a program might be required to hurry enough so that some externally visible action can be performed before a certain point in time
42 General Remarks What Time? units? seconds, milliseconds, cpu cycles, system ticks,... since when? Christ s birth, Jan , system boot, program start, explicit request,... real time, cpu time,... resolution
43 General Remarks Importance of Units Mars Climate Orbiter, $125 million project failure mix up between metric and imperial units
44 General Remarks Requirements for Interaction with time For RT programming, it is desirable to have: access to clocks delays timeouts deadline specification and scheduling
45 General Remarks Access to Clock requires a hardware clock that can be read like a regular external device mostly offered as an OS service, if direct interfacing to the hardware is not allowed
46 General Remarks Delays absolute delay (wake me at 2 hours) relative delay (wake me in 2 hours) delaying (sleeping) amounts to defining a point in time before which execution will not continue a lower real-time constraint
47 Delays Delays
48 Delays A Cyclic Task (An Attempt) while (1) { delay(100); do_work(); } What is wrong with this piece of code?
49 Delays A Cyclic Task (An Attempt) while (1) { delay(100); do_work(); } What is wrong with this piece of code? Nothing, but... if the intent is to have do work() run every 100 miliseconds the effect will not be the expected one accumulating drift
50 Delays Accumulating Drift Each turn in the loop will take at least x milliseconds, where x is the time taken to perform do work()
51 Delays Accumulating Drift II Delay is just lower bound, a delaying process is not guaranteed access to the processor (the delay does not compensate for this)
52 Delays Eliminating Drift: Timers set an alarm clock, do some work, and then wait for whatever time is left before the alarm rings this is done with timers a timer could be set to ring at regular intervals thread is told to wait until the next ring accumulating drift is eliminated even with timers, drift may still occur, but it does not accumulate (local drift)
53 Delays Timeouts timeouts useful for communication and synchronization implemented by timers
54 Delays Summary real time programming is closely connected with concurrent programming processes (threads), process states, initialization, termination, relations communication, synchronization: shared variables (mutual exclusion), message passing real time requirements: access to clocks, delaying, timeouts
Embedded Systems. 6. Real-Time Operating Systems
Embedded Systems 6. Real-Time Operating Systems Lothar Thiele 6-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic
Chapter 6, The Operating System Machine Level
Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General
Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 26 Real - Time POSIX. (Contd.) Ok Good morning, so let us get
Mutual Exclusion using Monitors
Mutual Exclusion using Monitors Some programming languages, such as Concurrent Pascal, Modula-2 and Java provide mutual exclusion facilities called monitors. They are similar to modules in languages that
Operating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
Overview and History of Operating Systems
Overview and History of Operating Systems These are the notes for lecture 1. Please review the Syllabus notes before these. Overview / Historical Developments An Operating System... Sits between hardware
OPERATING SYSTEM SERVICES
OPERATING SYSTEM SERVICES USER INTERFACE Command line interface(cli):uses text commands and a method for entering them Batch interface(bi):commands and directives to control those commands are entered
Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:
Tools Page 1 of 13 ON PROGRAM TRANSLATION A priori, we have two translation mechanisms available: Interpretation Compilation On interpretation: Statements are translated one at a time and executed immediately.
Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023
Operating Systems Autumn 2013 Outline 1 2 Types of 2.4, SGG The OS Kernel The kernel is the central component of an OS It has complete control over everything that occurs in the system Kernel overview
Lecture 6: Semaphores and Monitors
HW 2 Due Tuesday 10/18 Lecture 6: Semaphores and Monitors CSE 120: Principles of Operating Systems Alex C. Snoeren Higher-Level Synchronization We looked at using locks to provide mutual exclusion Locks
SYSTEM ecos Embedded Configurable Operating System
BELONGS TO THE CYGNUS SOLUTIONS founded about 1989 initiative connected with an idea of free software ( commercial support for the free software ). Recently merged with RedHat. CYGNUS was also the original
Operating Systems Concepts: Chapter 7: Scheduling Strategies
Operating Systems Concepts: Chapter 7: Scheduling Strategies Olav Beckmann Huxley 449 http://www.doc.ic.ac.uk/~ob3 Acknowledgements: There are lots. See end of Chapter 1. Home Page for the course: http://www.doc.ic.ac.uk/~ob3/teaching/operatingsystemsconcepts/
Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu
Introduction to Operating Systems Indiana University Chen Yu Perspective of the Computer System Software A general piece of software with common functionalities that support many applications. Example:
Chapter 2: OS Overview
Chapter 2: OS Overview CmSc 335 Operating Systems 1. Operating system objectives and functions Operating systems control and support the usage of computer systems. a. usage users of a computer system:
Introduction. What is an Operating System?
Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization
Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.
Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures
CS420: Operating Systems OS Services & System Calls
NK YORK COLLEGE OF PENNSYLVANIA HG OK 2 YORK COLLEGE OF PENNSYLVAN OS Services & System Calls James Moscola Department of Physical Sciences York College of Pennsylvania Based on Operating System Concepts,
1 Organization of Operating Systems
COMP 730 (242) Class Notes Section 10: Organization of Operating Systems 1 Organization of Operating Systems We have studied in detail the organization of Xinu. Naturally, this organization is far from
Operating Systems and Networks
recap Operating Systems and Networks How OS manages multiple tasks Virtual memory Brief Linux demo Lecture 04: Introduction to OS-part 3 Behzad Bordbar 47 48 Contents Dual mode API to wrap system calls
Module 8. Industrial Embedded and Communication Systems. Version 2 EE IIT, Kharagpur 1
Module 8 Industrial Embedded and Communication Systems Version 2 EE IIT, Kharagpur 1 Lesson 37 Real-Time Operating Systems: Introduction and Process Management Version 2 EE IIT, Kharagpur 2 Instructional
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
SSC - Concurrency and Multi-threading Java multithreading programming - Synchronisation (I)
SSC - Concurrency and Multi-threading Java multithreading programming - Synchronisation (I) Shan He School for Computational Science University of Birmingham Module 06-19321: SSC Outline Outline of Topics
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Winter Term 2008 / 2009 Jun.-Prof. Dr. André Brinkmann [email protected] Universität Paderborn PC² Agenda Multiprocessor and
Chapter 13 Embedded Operating Systems
Operating Systems: Internals and Design Principles Chapter 13 Embedded Operating Systems Eighth Edition By William Stallings Embedded System Refers to the use of electronics and software within a product
Technical Properties. Mobile Operating Systems. Overview Concepts of Mobile. Functions Processes. Lecture 11. Memory Management.
Overview Concepts of Mobile Operating Systems Lecture 11 Concepts of Mobile Operating Systems Mobile Business I (WS 2007/08) Prof Dr Kai Rannenberg Chair of Mobile Business and Multilateral Security Johann
Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest
Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest 1. Introduction Few years ago, parallel computers could
Processes and Non-Preemptive Scheduling. Otto J. Anshus
Processes and Non-Preemptive Scheduling Otto J. Anshus 1 Concurrency and Process Challenge: Physical reality is Concurrent Smart to do concurrent software instead of sequential? At least we want to have
Outline of this lecture G52CON: Concepts of Concurrency
Outline of this lecture G52CON: Concepts of Concurrency Lecture 10 Synchronisation in Java Natasha Alechina School of Computer Science [email protected] mutual exclusion in Java condition synchronisation
CS3600 SYSTEMS AND NETWORKS
CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 2: Operating System Structures Prof. Alan Mislove ([email protected]) Operating System Services Operating systems provide an environment for
Last Class: Semaphores
Last Class: Semaphores A semaphore S supports two atomic operations: S Wait(): get a semaphore, wait if busy semaphore S is available. S Signal(): release the semaphore, wake up a process if one is waiting
Concurrent Programming
Concurrent Programming Principles and Practice Gregory R. Andrews The University of Arizona Technische Hochschule Darmstadt FACHBEREICH INFCRMATIK BIBLIOTHEK Inventar-Nr.:..ZP.vAh... Sachgebiete:..?r.:..\).
A Look through the Android Stack
A Look through the Android Stack A Look through the Android Stack Free Electrons Maxime Ripard Free Electrons Embedded Linux Developers c Copyright 2004-2012, Free Electrons. Creative Commons BY-SA 3.0
Operating Systems. 05. Threads. Paul Krzyzanowski. Rutgers University. Spring 2015
Operating Systems 05. Threads Paul Krzyzanowski Rutgers University Spring 2015 February 9, 2015 2014-2015 Paul Krzyzanowski 1 Thread of execution Single sequence of instructions Pointed to by the program
Real-Time Component Software. slide credits: H. Kopetz, P. Puschner
Real-Time Component Software slide credits: H. Kopetz, P. Puschner Overview OS services Task Structure Task Interaction Input/Output Error Detection 2 Operating System and Middleware Applica3on So5ware
Operating System Tutorial
Operating System Tutorial OPERATING SYSTEM TUTORIAL Simply Easy Learning by tutorialspoint.com tutorialspoint.com i ABOUT THE TUTORIAL Operating System Tutorial An operating system (OS) is a collection
Operating System Structures
COP 4610: Introduction to Operating Systems (Spring 2015) Operating System Structures Zhi Wang Florida State University Content Operating system services User interface System calls System programs Operating
Chapter 1 FUNDAMENTALS OF OPERATING SYSTEM
Chapter 1 FUNDAMENTALS OF OPERATING SYSTEM An operating system is a program that acts as an intermediary between a user of a computer and the computer hardware. The purpose of an operating system is to
Performance Comparison of RTOS
Performance Comparison of RTOS Shahmil Merchant, Kalpen Dedhia Dept Of Computer Science. Columbia University Abstract: Embedded systems are becoming an integral part of commercial products today. Mobile
Shared Address Space Computing: Programming
Shared Address Space Computing: Programming Alistair Rendell See Chapter 6 or Lin and Synder, Chapter 7 of Grama, Gupta, Karypis and Kumar, and Chapter 8 of Wilkinson and Allen Fork/Join Programming Model
Have both hardware and software. Want to hide the details from the programmer (user).
Input/Output Devices Chapter 5 of Tanenbaum. Have both hardware and software. Want to hide the details from the programmer (user). Ideally have the same interface to all devices (device independence).
Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems
Lecture Outline Operating Systems Objectives Describe the functions and layers of an operating system List the resources allocated by the operating system and describe the allocation process Explain how
Example of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
Operating Systems. III. Scheduling. http://soc.eurecom.fr/os/
Operating Systems Institut Mines-Telecom III. Scheduling Ludovic Apvrille [email protected] Eurecom, office 470 http://soc.eurecom.fr/os/ Outline Basics of Scheduling Definitions Switching
Chapter 3 Operating-System Structures
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
CHAPTER 15: Operating Systems: An Overview
CHAPTER 15: Operating Systems: An Overview The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint
This tutorial will take you through step by step approach while learning Operating System concepts.
About the Tutorial An operating system (OS) is a collection of software that manages computer hardware resources and provides common services for computer programs. The operating system is a vital component
Operating System Components
Lecture Overview Operating system software introduction OS components OS services OS structure Operating Systems - April 24, 2001 Operating System Components Process management Memory management Secondary
CS0206 OPERATING SYSTEMS Prerequisite CS0201, CS0203
CS0206 OPERATING SYSTEMS Prerequisite CS0201, CS0203 L T P C 3 0 0 3 PURPOSE Every computer professional should have a basic understanding of how an operating system controls the computing resources and
Resource Utilization of Middleware Components in Embedded Systems
Resource Utilization of Middleware Components in Embedded Systems 3 Introduction System memory, CPU, and network resources are critical to the operation and performance of any software system. These system
REAL TIME OPERATING SYSTEMS. Lesson-10:
REAL TIME OPERATING SYSTEMS Lesson-10: Real Time Operating System 1 1. Real Time Operating System Definition 2 Real Time A real time is the time which continuously increments at regular intervals after
Exokernel : An Operating System Architecture for Application-Level Resource Management. Joong Won Roh
Exokernel : An Operating System Architecture for Application-Level Resource Management Joong Won Roh Goal of Exokernel The goal of an exokernel is to give efficient control of resources to untrusted applications
! Past few lectures: Ø Locks: provide mutual exclusion Ø Condition variables: provide conditional synchronization
1 Synchronization Constructs! Synchronization Ø Coordinating execution of multiple threads that share data structures Semaphores and Monitors: High-level Synchronization Constructs! Past few lectures:
Chapter 1: Introduction. What is an Operating System?
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Computing Environments
Client/Server Computing Distributed Processing, Client/Server, and Clusters
Client/Server Computing Distributed Processing, Client/Server, and Clusters Chapter 13 Client machines are generally single-user PCs or workstations that provide a highly userfriendly interface to the
POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2)
RTOSes Part I Christopher Kenna September 24, 2010 POSIX Portable Operating System for UnIX Application portability at source-code level POSIX Family formally known as IEEE 1003 Originally 17 separate
A Survey of Parallel Processing in Linux
A Survey of Parallel Processing in Linux Kojiro Akasaka Computer Science Department San Jose State University San Jose, CA 95192 408 924 1000 [email protected] ABSTRACT Any kernel with parallel processing
Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification
Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by
10.04.2008. Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details
Thomas Fahrig Senior Developer Hypervisor Team Hypervisor Architecture Terminology Goals Basics Details Scheduling Interval External Interrupt Handling Reserves, Weights and Caps Context Switch Waiting
Computer Science 4302 Operating Systems. Student Learning Outcomes
Computer Science 4302 Operating Systems Student Learning Outcomes 1. The student will learn what operating systems are, what they do, and how they are designed and constructed. The student will be introduced
Lecture 3 Theoretical Foundations of RTOS
CENG 383 Real-Time Systems Lecture 3 Theoretical Foundations of RTOS Asst. Prof. Tolga Ayav, Ph.D. Department of Computer Engineering Task States Executing Ready Suspended (or blocked) Dormant (or sleeping)
Programming real-time systems with C/C++ and POSIX
Programming real-time systems with C/C++ and POSIX Michael González Harbour 1. Introduction The C language [1], developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories, is the most widely
CPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS
CPU SCHEDULING CPU SCHEDULING (CONT D) Aims to assign processes to be executed by the CPU in a way that meets system objectives such as response time, throughput, and processor efficiency Broken down into
Operatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings
Operatin g Systems: Internals and Design Principle s Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings Operating Systems: Internals and Design Principles Bear in mind,
How to design and implement firmware for embedded systems
How to design and implement firmware for embedded systems Last changes: 17.06.2010 Author: Rico Möckel The very beginning: What should I avoid when implementing firmware for embedded systems? Writing code
Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 06 Basics of Real-Time Task Scheduling Let us get started.
Middleware. Peter Marwedel TU Dortmund, Informatik 12 Germany. technische universität dortmund. fakultät für informatik informatik 12
Universität Dortmund 12 Middleware Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: Alexandra Nolte, Gesine Marwedel, 2003 2010 年 11 月 26 日 These slides use Microsoft clip arts. Microsoft copyright
Chapter 2 System Structures
Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices
RT Language Classes. Real-Time Programming Languages (ADA and Esterel as Examples) Implementation. Synchroneous Systems Synchronous Languages
RT Language Classes Real-Time Programming Languages (ADA and Esterel as Examples) HLL suitable for RT-Analysis (e.g., rms or time-driven) Synchronous HLL (clock driven) Esterel Lustre (State Charts) RT-Euclid
COMMMUNICATING COOPERATING PROCESSES
COMMMUNICATING COOPERATING PROCESSES The producer-consumer paradigm A buffer of items can be filled by the producer and emptied by the consumer. The producer and the consumer must be synchronized: the
OPERATING SYSTEM INDEX
OPERATING SYSTEM INDEX LESSON 1: INTRODUCTION TO OPERATING SYSTEM LESSON 2: FILE SYSTEM I LESSON 3: FILE SYSTEM II LESSON 4: CPU SCHEDULING LESSON 5: MEMORY MANAGEMENT I LESSON 6: MEMORY MANAGEMENT II
Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C
Embedded Systems A Review of ANSI C and Considerations for Embedded C Programming Dr. Jeff Jackson Lecture 2-1 Review of ANSI C Topics Basic features of C C fundamentals Basic data types Expressions Selection
Red Hat Linux Internals
Red Hat Linux Internals Learn how the Linux kernel functions and start developing modules. Red Hat Linux internals teaches you all the fundamental requirements necessary to understand and start developing
Operating Systems. Lecture 03. February 11, 2013
Operating Systems Lecture 03 February 11, 2013 Goals for Today Interrupts, traps and signals Hardware Protection System Calls Interrupts, Traps, and Signals The occurrence of an event is usually signaled
Operating Systems. Rafael Ramirez (T, S) [email protected] 55.316
Operating Systems Rafael Ramirez (T, S) [email protected] 55.316 Sergio Giraldo(P, S) [email protected] Matteo Segnorini (P, S) [email protected] T=Teoria; S=Seminarios; P=Prácticas Operating
Operating system Dr. Shroouq J.
3 OPERATING SYSTEM STRUCTURES An operating system provides the environment within which programs are executed. The design of a new operating system is a major task. The goals of the system must be well
Chapter 3: Operating-System Structures. Common System Components
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1
Using Power to Improve C Programming Education
Using Power to Improve C Programming Education Jonas Skeppstedt Department of Computer Science Lund University Lund, Sweden [email protected] jonasskeppstedt.net jonasskeppstedt.net [email protected]
Predictable response times in event-driven real-time systems
Predictable response times in event-driven real-time systems Automotive 2006 - Security and Reliability in Automotive Systems Stuttgart, October 2006. Presented by: Michael González Harbour [email protected]
Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses
Overview of Real-Time Scheduling Embedded Real-Time Software Lecture 3 Lecture Outline Overview of real-time scheduling algorithms Clock-driven Weighted round-robin Priority-driven Dynamic vs. static Deadline
CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure
CSE 120 Principles of Operating Systems Fall 2000 Lecture 3: Operating System Modules, Interfaces, and Structure Geoffrey M. Voelker Modules, Interfaces, Structure We roughly defined an OS as the layer
Course Development of Programming for General-Purpose Multicore Processors
Course Development of Programming for General-Purpose Multicore Processors Wei Zhang Department of Electrical and Computer Engineering Virginia Commonwealth University Richmond, VA 23284 [email protected]
Kernel Synchronization and Interrupt Handling
Kernel Synchronization and Interrupt Handling Oliver Sengpie, Jan van Esdonk Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultt fr Mathematik, Informatik und Naturwissenschaften Universitt
Lecture 25 Symbian OS
CS 423 Operating Systems Design Lecture 25 Symbian OS Klara Nahrstedt Fall 2011 Based on slides from Andrew S. Tanenbaum textbook and other web-material (see acknowledgements) cs423 Fall 2011 1 Overview
1.4 SOFTWARE CONCEPTS
22 INTRODUCTION CHAP. 1 1.4 SOFTWARE CONCEPTS Hardware for distributed systems is important, but it is software that largely determines what a distributed system actually looks like. Distributed systems
CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study
CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what
Multi-core Programming System Overview
Multi-core Programming System Overview Based on slides from Intel Software College and Multi-Core Programming increasing performance through software multi-threading by Shameem Akhter and Jason Roberts,
Types Of Operating Systems
Types Of Operating Systems Date 10/01/2004 1/24/2004 Operating Systems 1 Brief history of OS design In the beginning OSes were runtime libraries The OS was just code you linked with your program and loaded
White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux
White Paper Real-time Capabilities for Linux SGI REACT Real-Time for Linux Abstract This white paper describes the real-time capabilities provided by SGI REACT Real-Time for Linux. software. REACT enables
Windows8 Internals, Sixth Edition, Part 1
Microsoft Windows8 Internals, Sixth Edition, Part 1 Mark Russinovich David A. Solomon Alex lonescu Windows Internals, Sixth Edition, Part i Introduction xvii Chapter 1 Concepts and Tools 1 Windows Operating
First-class User Level Threads
First-class User Level Threads based on paper: First-Class User Level Threads by Marsh, Scott, LeBlanc, and Markatos research paper, not merely an implementation report User-level Threads Threads managed
How To Understand And Understand An Operating System In C Programming
ELEC 377 Operating Systems Thomas R. Dean Instructor Tom Dean Office:! WLH 421 Email:! [email protected] Hours:! Wed 14:30 16:00 (Tentative)! and by appointment! 6 years industrial experience ECE Rep
PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design
PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions Slide 1 Outline Principles for performance oriented design Performance testing Performance tuning General
Introduction. System Calls
TDDB68 Concurrent programming and operating systems Introduction. System Calls [SGG7/8/9] Chapter 1.1-1.7 Chapter 2.3-2.5 Overview of the major operating systems components Interrupts, Dual mode, System
