Embedded Operating Systems - II
|
|
- Bryan Tucker
- 7 years ago
- Views:
Transcription
1 Embedded Operating Systems - II 馮立琪 lcfeng@mail.cgu.edu.tw 長庚大學資訊工程系計算機系統實驗室
2 Agenda A Brief History of Operating Systems Defining an RTOS Defining a Task Task States and Scheduling Typical Task Operations The Scheduler Objects Services Key Characteristics of an RTOS 計算機系統實驗室 2
3 A Brief History of Operating Systems In the early days, developers created software applications that included lowlevel machine code To initialize and interact with the hardware Result in no-portable, bug-prone applications Operating systems thus provide the basic software foundation Facilitate the abstraction of the underlying hardware from the application code 計算機系統實驗室 3
4 A Brief History of Operating Systems (Cont.) The evolution of operating systems helped shift the design of software applications from large, monolithic applications to more modular, interconnected applications that could run on top of the OS environment. 計算機系統實驗室 4
5 A Brief History of Operating Systems (Cont.) General-purpose operating systems (GPOS) UNIX In the 60s and 70s, multi-user access to expensive mid-sized and mainframe computing system Eventually, ported to all types of machines Microsoft Windows Drive the personal-computing era Real-time operating systems For post-pc, embedded-computing era VxWork, uclinux 計算機系統實驗室 5
6 Functional Similarities Between a RTOS and GPOS Abstracting the hardware from the software application Software and hardware resource management Provision of underlying OS services to applications Some level of multitasking 計算機系統實驗室 6
7 Functional Differences Between a RTOS and GPOS Better reliability in embedded application contexts The ability to scale up and down to meeting application needs Faster performance Reduced memory requirements Scheduling policies tailored for real-time embedded systems Support for diskless embedded systems by allowing executables to boot and run from ROM or RAM Better portability to different hardware platforms 計算機系統實驗室 7
8 GPOSes vs. RTOSes GPOSes typically require a lot more memory are not well suited to real-time embedded devices with limited memory and high performance requirements RTOSes Reliable, compact, scalable, and perform well in real-time embedded systems Can be easily tailored to use only those components required for a particular applications 計算機系統實驗室 8
9 Defining an RTOS RTOS is a program that Schedules execution in a timely manner Manage system resources Provide a consistent foundation for developing application code A good RTOS should be scalable To meeting different requirements for different applications 計算機系統實驗室 9
10 Defining an RTOS (Cont.) In some applications, an RTOS comprises only a kernel The core supervisory software that provides minimal logic, scheduling, and resource-management algorithms. An RTOS can be a combination of various modules Kernel, File system, Networking protocol stacks, Other components required for a particular application 計算機系統實驗室 10
11 High-Level View of an RTOS 計算機系統實驗室 11
12 RTOS Kernel Most RTOS kernels contain the following components Scheduler Algorithms that determine which task executes Objects Round-robin, preemptive scheduling Special kernel construct that helps developer create applications Tasks, semaphores, and message queues Services Operations that the kernel performs on an object Generally operations such as timing, interrupt handling, and resource management 計算機系統實驗室 12
13 Common Components in an RTOS kernel 計算機系統實驗室 13
14 The Scheduler At the heart of every kernel Provides the algorithms to determine which task executes when Related topics Schedulable entities Multitasking Context switching Dispatcher Scheduling algorithms 計算機系統實驗室 14
15 Schedulable Entities A kernel object that can compete for execution time on a system Task An independent thread of execution that contains a sequence of independently schedulable instructions Processes differ from tasks in that They provide better memory protection features, at the expense of performance and memory overhead. 計算機系統實驗室 15
16 Multitasking The ability of the OS to handle multiple activities within set deadlines Many threads of execution appear to be running concurrently However, they are actually interleaved executions sequentially 計算機系統實驗室 16
17 Multitasking Using a Context Switch 計算機系統實驗室 17
18 The Context Switch Each task has its own context the state of the CPU registers required for tasks running When a task running, its context is highly dynamic Context switch Occurred when a scheduler switches from one task to another TCB: Task Control Block A data structure used by the kernel to maintain task-specific information The dynamic context of a task is stored in its TCB 計算機系統實驗室 18
19 The Context Switch (Cont.) Steps in context switches The kernel saves task 1 s context information in its TCB It loads task 2 s context information from its TCB, which becomes the current thread of execution The context of task 1 is frozen while task 2 executes If the scheduler needs to run task 1 again, task 1 continues from where it left off just before context switch 計算機系統實驗室 19
20 The Dispatcher The part of scheduler that performs context switching and changes the flow of execution Three areas that is passed through by the flow of execution (or flow of control) Through an application task Through an ISR Through the kernel 計算機系統實驗室 20
21 The Dispatcher (Cont.) A task or ISR makes a system call Flow of control passes to the kernel to execute one of system routines provided by the kernel When leaving the kernel Dispatcher passes control to one of the tasks in user s application Notably, not necessary the original task that made the system call Depend on the scheduling algorithms 計算機系統實驗室 21
22 Defining a Task Task An independent thread of execution Compete with other concurrent tasks for processor execution time An application can be decomposed into multiple concurrent tasks 計算機系統實驗室 22
23 Task Defined by its set of parameters and supporting data structures Associated name Unique ID Priority Task control block Stack Task routine 計算機系統實驗室 23
24 A Task, its Associated Parameters, and Supporting Data Structures 計算機系統實驗室 24
25 System Tasks Created when the kernel first starts The parameters are assigned from a set of reserved priority levels Used internally by the RTOS User applications should avoid using these priority levels 計算機系統實驗室 25
26 System Tasks (Cont.) Examples Initialization or startup task Initialize the system and create and start system tasks Idle task Used up processor idle cycles when no other activity is present Logging task Logs system messages Exception-handling task Handle exceptions Debug agent task Allow debug with a host debugger 計算機系統實驗室 26
27 Idle Task Set to the lowest priority and execute in an endless loop Run when either no other task can run or when no other tasks exist CPU needs to be continued running unless it can be suspended Idle task may be replaced by a userconfigured routine to implement special function Power conservation code that suspends system after a period of idle time 計算機系統實驗室 27
28 Create a Task Developer must assign a new task via kernel APIs Task name Priority Stack size Task routine Then, the kernel Assign each task a unique ID Create an associated TCB and stack space in memory 計算機系統實驗室 28
29 Task States and Scheduling Ready state The task is ready to run but cannot because a higher priority task is executing Blocked state Request a resource but is not yet available Request to wait until some event occurs Delay itself for some duration Running state The task is currently the highest priority task and is running 計算機系統實驗室 29
30 A Typical Finite State Machine for Task Execution States 計算機系統實驗室 30
31 Ready State When a task is first created Kernel put it into the ready state Cannot move to the blocking state A task first needs to run so it can make a blocking call Can only move to the running state 計算機系統實驗室 31
32 Ready State (Cont.) Two implementations Only one task per priority level The highest priority task that is ready runs More than one tasks per priority levles Need a task-ready list 計算機系統實驗室 32
33 Running State A running task can move to the blocked states in Making a call that requests an unavailable resource Making a call that requests to wait for an event to occur Making a call to delay the task for some duration 計算機系統實驗室 33
34 Blocked State The possibility of blocked states is important in a system Lower priority tasks have chances to run Examples of unblocking conditions A semaphore token for which a task is waiting is released A message, on which the task is waiting, arrives in a message queue A time delay imposed on the task expires 計算機系統實驗室 34
35 Typical Task Operations Kernel must provide task-management services The actions that a kernel performs to support task Create and maintain the TCB and task stacks The API that a kernel provides for developer to manipulate tasks Create and delete tasks Control task scheduling Obtain task information 計算機系統實驗室 35
36 Scheduling Algorithms Also called scheduling policy Two common scheduling algorithms Preemptive priority-based scheduling Round-robin scheduling Developers can create and define their own scheduling algorithms 計算機系統實驗室 36
37 Preemptive Priority-Based Scheduling Most real-time kernels use preemptive priority-based scheduling by default Real-time kernel generally support 256 priority levels Priority assignment Static: assign priority to tasks when created Dynamic: priority can be changed dynamically 計算機系統實驗室 37
38 Preemptive Priority-Based Scheduling 計算機系統實驗室 38
39 Preemptive Priority-Based Scheduling (Cont.) The ability to change task priorities dynamically allows an embedded application the flexibility to adjust to external events as they occur creating a true real-time, responsive system However, the misuse of this capability can lead to priority inversion, deadlock, and eventual system failure. 計算機系統實驗室 39
40 Priority Inversion Priority inversion is a situation in which a low-priority task executes while a higher priority task waits on it due to resource contentions 計算機系統實驗室 40
41 Resource Access Control Protocol A resource access control protocol is a set of rules that defines the conditions under which a resource can be granted to a requesting task and governs the execution scheduling property of the task holding the resource 計算機系統實驗室 41
42 Priority Inheritance Protocol Priority Inheritance Protocol rules. when a task T requests a resource R Rule # Description 1 If R is in use, T is blocked. 2 If R is free, R is allocated to T. 3 When a task of a higher priority requests the same resource, T's execution priority is raised to the requesting task's priority level. 4 The task returns to its previous priority when it releases R. 計算機系統實驗室 42
43 Priority Inheritance Protocol 計算機系統實驗室 43
44 Transitive priority promotion example 計算機系統實驗室 44
45 Round-Robin Scheduling Provide each task an equal share of the CPU execution time Pure RR (Round-Robin) scheduling cannot satisfy real-time system requirements Preemptive, priority-based scheduling can be augmented with round-robin scheduling Equal allocation of CPU time for tasks of the same priority 計算機系統實驗室 45
46 Round-Robin Scheduling (Cont.) If a task in a round-robin cycle is preempted by a higher-priority task its time quantum left is saved and then restored when the interrupted task is again eligible for execution. 計算機系統實驗室 46
47 Round-Robin and Preemptive Scheduling 計算機系統實驗室 47
48 Objects Kernel objects are special constructs that are the building blocks for application development Tasks concurrent and independent threads of execution that can compete for CPU execution time Semaphores token-like objects that can be incremented or decremented by tasks for synchronization or mutual exclusion Message Queues buffer-like data structures that can be used for synchronization, mutual exclusion, and data exchange by passing messages between tasks 計算機系統實驗室 48
49 Services Along with objects, most kernels provide services that help developers create applications for real-time embedded systems. Sets of API calls that can be used to Perform operations on kernel objects Facilitate Timer management Interrupt handling Device I/O Memory management 計算機系統實驗室 49
50 Key Characteristics of an RTOS An application's requirements define the requirements of its underlying RTOS. Some of the more common attributes are Reliability Predictability Performance Compactness Scalability 計算機系統實驗室 50
51 Reliability A reliable system Be available (continue to provide service) and does not fail Different degrees of reliability might be acceptable Quantified by the downtime per year Number of 9s: the percent of the total time that a system must be available To determine system reliability The combination of all system elements determines the reliability of a system Hardware, BSP, RTOS, and application 計算機系統實驗室 51
52 Categorizing Highly Available Systems by Allowable Downtime 計算機系統實驗室 52
53 Predictability Many embedded systems are also real-time systems meeting time requirements is key to ensuring proper operation For real-time systems, the RTOS needs to be predictable The completion of operating system calls occurs within known timeframes The variance of the response times for each type of system call should be small 計算機系統實驗室 53
54 Performance An embedded system must perform fast enough to fulfill its timing requirements Processor s performance MIPS: million instructions per second Throughput may be used to measure the overall performance of a system the rate at which a system can generate output based on the inputs coming in Call-by-call method may be used to measure RTOS performance Produce timestamps when a system call starts and when it completes 計算機系統實驗室 54
55 Compactness To determine how compact an embedded system be Application design constraints, Cost constraints For example, a cell phone must be small, portable and low cost Limit system memory Limit the size of application and operating system To meet total system requirements, designers must understand both the static and dynamic memory consumption of the RTOS and the application that will run on it. 計算機系統實驗室 55
56 Scalability RTOSes can be used in a wide variety of embedded systems Be able to scale up or down to meet applicationspecific requirements An RTOS should be capable of adding or deleting modular components, including file systems and protocol stacks. Depending on how much functionality is required For example, an RTOS may be used in both a cellular phone project and a base station project To save time and money 計算機系統實驗室 56
Performance Comparison of RTOS
Performance Comparison of RTOS Shahmil Merchant, Kalpen Dedhia Dept Of Computer Science. Columbia University Abstract: Embedded systems are becoming an integral part of commercial products today. Mobile
More 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 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 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 informationRoad Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010.
Road Map Scheduling Dickinson College Computer Science 354 Spring 2010 Past: What an OS is, why we have them, what they do. Base hardware and support for operating systems Process Management Threads Present:
More informationChapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines Operating System Concepts 3.1 Common System Components
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 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 informationCS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study
CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what
More 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 informationLecture 1 Operating System Overview
Lecture 1 Operating System Overview What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. The Major Objectives of an Operating system
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 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 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 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 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 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 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 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 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 informationReview from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture
Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2
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 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 informationComp 204: Computer Systems and Their Implementation. Lecture 12: Scheduling Algorithms cont d
Comp 204: Computer Systems and Their Implementation Lecture 12: Scheduling Algorithms cont d 1 Today Scheduling continued Multilevel queues Examples Thread scheduling 2 Question A starvation-free job-scheduling
More informationW4118 Operating Systems. Instructor: Junfeng Yang
W4118 Operating Systems Instructor: Junfeng Yang Outline Introduction to scheduling Scheduling algorithms 1 Direction within course Until now: interrupts, processes, threads, synchronization Mostly mechanisms
More 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 informationProcess Scheduling CS 241. February 24, 2012. Copyright University of Illinois CS 241 Staff
Process Scheduling CS 241 February 24, 2012 Copyright University of Illinois CS 241 Staff 1 Announcements Mid-semester feedback survey (linked off web page) MP4 due Friday (not Tuesday) Midterm Next Tuesday,
More informationCHAPTER 15: Operating Systems: An Overview
CHAPTER 15: Operating Systems: An Overview The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint
More 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 informationOperating Systems Lecture #6: Process Management
Lecture #6: Process Written by based on the lecture series of Dr. Dayou Li and the book Understanding 4th ed. by I.M.Flynn and A.McIver McHoes (2006) Department of Computer Science and Technology,., 2013
More informationPriority Inversion Problem and Deadlock Situations
INTER-PROCESS COMMUNICATION AND SYNCHRONISATION: Lesson-11: Priority Inversion Problem and Deadlock Situations 1 1. Priority Inversion 2 Assume Priorities of tasks be in an order such that task I highest
More informationLesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization
Lesson Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization AE3B33OSD Lesson 1 / Page 2 What is an Operating System? A
More informationProcesses and Non-Preemptive Scheduling. Otto J. Anshus
Processes and Non-Preemptive Scheduling Otto J. Anshus 1 Concurrency and Process Challenge: Physical reality is Concurrent Smart to do concurrent software instead of sequential? At least we want to have
More 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 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 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 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 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 informationObjectives. 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
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 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 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 System: Scheduling
Process Management Operating System: Scheduling OS maintains a data structure for each process called Process Control Block (PCB) Information associated with each PCB: Process state: e.g. ready, or waiting
More informationOverview of Presentation. (Greek to English dictionary) Different systems have different goals. What should CPU scheduling optimize?
Overview of Presentation (Greek to English dictionary) introduction to : elements, purpose, goals, metrics lambda request arrival rate (e.g. 200/second) non-preemptive first-come-first-served, shortest-job-next
More information4003-440/4003-713 Operating Systems I. Process Scheduling. Warren R. Carithers (wrc@cs.rit.edu) Rob Duncan (rwd@cs.rit.edu)
4003-440/4003-713 Operating Systems I Process Scheduling Warren R. Carithers (wrc@cs.rit.edu) Rob Duncan (rwd@cs.rit.edu) Review: Scheduling Policy Ideally, a scheduling policy should: Be: fair, predictable
More informationCHAPTER 1 INTRODUCTION
1 CHAPTER 1 INTRODUCTION 1.1 MOTIVATION OF RESEARCH Multicore processors have two or more execution cores (processors) implemented on a single chip having their own set of execution and architectural recourses.
More 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 informationCSE 544 Principles of Database Management Systems. Magdalena Balazinska Fall 2007 Lecture 5 - DBMS Architecture
CSE 544 Principles of Database Management Systems Magdalena Balazinska Fall 2007 Lecture 5 - DBMS Architecture References Anatomy of a database system. J. Hellerstein and M. Stonebraker. In Red Book (4th
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 informationThis 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
More informationExample of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
More informationChapter 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
More informationReal-Time Operating Systems. http://soc.eurecom.fr/os/
Institut Mines-Telecom Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/os/ Outline 2/66 Fall 2014 Institut Mines-Telecom Definitions What is an Embedded
More informationModule 6. Embedded System Software. Version 2 EE IIT, Kharagpur 1
Module 6 Embedded System Software Version 2 EE IIT, Kharagpur 1 Lesson 31 Concepts in Real-Time Operating Systems Version 2 EE IIT, Kharagpur 2 Specific Instructional Objectives At the end of this lesson,
More informationWeighted Total Mark. Weighted Exam Mark
CMP2204 Operating System Technologies Period per Week Contact Hour per Semester Total Mark Exam Mark Continuous Assessment Mark Credit Units LH PH TH CH WTM WEM WCM CU 45 30 00 60 100 40 100 4 Rationale
More informationObjectives. Chapter 5: Process Scheduling. Chapter 5: Process Scheduling. 5.1 Basic Concepts. To introduce CPU scheduling
Objectives To introduce CPU scheduling To describe various CPU-scheduling algorithms Chapter 5: Process Scheduling To discuss evaluation criteria for selecting the CPUscheduling algorithm for a particular
More informationSystem Structures. Services Interface Structure
System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface
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 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 informationò Paper reading assigned for next Thursday ò Lab 2 due next Friday ò What is cooperative multitasking? ò What is preemptive multitasking?
Housekeeping Paper reading assigned for next Thursday Scheduling Lab 2 due next Friday Don Porter CSE 506 Lecture goals Undergrad review Understand low-level building blocks of a scheduler Understand competing
More informationCS0206 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
More informationOperating 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
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 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 informationCSE 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
More informationAnalysis and Comparison of CPU Scheduling Algorithms
Analysis and Comparison of CPU Scheduling Algorithms Pushpraj Singh 1, Vinod Singh 2, Anjani Pandey 3 1,2,3 Assistant Professor, VITS Engineering College Satna (MP), India Abstract Scheduling is a fundamental
More informationKernel 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
More informationSpecial FEATURE. By Heinrich Munz
Special FEATURE By Heinrich Munz Heinrich Munz of KUKA Roboter discusses in this article how to bring Microsoft Windows CE and WindowsXP together on the same PC. He discusses system and application requirements,
More 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 informationEmbedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C
Embedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C 1 An essential part of any embedded system design Programming 2 Programming in Assembly or HLL Processor and memory-sensitive
More informationChapter 1: Introduction. Chapter 1: Introduction. Operating System Concepts, 7th Edition. Objectives
Chapter 1: Introduction Chapter 1: Introduction 1.1 What Operating Systems Do 1.2 Computer-System Organization 1.3 Computer-System Architecture 1.4 Operating-System Structure 1.5 Operating-System Operations
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 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 informationMultiprogramming. IT 3123 Hardware and Software Concepts. Program Dispatching. Multiprogramming. Program Dispatching. Program Dispatching
IT 3123 Hardware and Software Concepts Operating Systems II October 26 Multiprogramming Two or more application programs in memory. Consider one CPU and more than one program. This can be generalized to
More informationOracle9i Release 2 Database Architecture on Windows. An Oracle Technical White Paper April 2003
Oracle9i Release 2 Database Architecture on Windows An Oracle Technical White Paper April 2003 Oracle9i Release 2 Database Architecture on Windows Executive Overview... 3 Introduction... 3 Oracle9i Release
More informationAn Implementation Of Multiprocessor Linux
An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than
More informationReal-Time Operating Systems for MPSoCs
Real-Time Operating Systems for MPSoCs Hiroyuki Tomiyama Graduate School of Information Science Nagoya University http://member.acm.org/~hiroyuki MPSoC 2009 1 Contributors Hiroaki Takada Director and Professor
More informationfind model parameters, to validate models, and to develop inputs for models. c 1994 Raj Jain 7.1
Monitors Monitor: A tool used to observe the activities on a system. Usage: A system programmer may use a monitor to improve software performance. Find frequently used segments of the software. A systems
More informationOS OBJECTIVE QUESTIONS
OS OBJECTIVE QUESTIONS Which one of the following is Little s formula Where n is the average queue length, W is the time that a process waits 1)n=Lambda*W 2)n=Lambda/W 3)n=Lambda^W 4)n=Lambda*(W-n) Answer:1
More informationIntroduction. Scheduling. Types of scheduling. The basics
Introduction In multiprogramming systems, when there is more than one runable (i.e., ready), the operating system must decide which one to activate. The decision is made by the part of the operating system
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 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 informationDesign Issues in a Bare PC Web Server
Design Issues in a Bare PC Web Server Long He, Ramesh K. Karne, Alexander L. Wijesinha, Sandeep Girumala, and Gholam H. Khaksari Department of Computer & Information Sciences, Towson University, 78 York
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 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 informationComputer-System Architecture
Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection General System Architecture 2.1 Computer-System Architecture 2.2 Computer-System
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 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 informationProcessor Scheduling. Queues Recall OS maintains various queues
Processor Scheduling Chapters 9 and 10 of [OS4e], Chapter 6 of [OSC]: Queues Scheduling Criteria Cooperative versus Preemptive Scheduling Scheduling Algorithms Multi-level Queues Multiprocessor and Real-Time
More informationOperating Systems: Basic Concepts and History
Introduction to Operating Systems Operating Systems: Basic Concepts and History An operating system is the interface between the user and the architecture. User Applications Operating System Hardware Virtual
More informationLynxOS RTOS (Real-Time Operating System)
LynxOS RTOS (Real-Time Operating System) Stephen J. Franz CS-550 Section 1 Fall 2005 1 Summary LynxOS is one of two real time operating systems (RTOS) developed and marketed by LynuxWorks of San José,
More informationOperating 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
More informationComponents of a Computing System. What is an Operating System? Resources. Abstract Resources. Goals of an OS. System Software
What is an Operating System? An operating system (OS) is a collection of software that acts as an intermediary between users and the computer hardware One can view an OS as a manager of system resources
More informationDebugging A MotoHawk Application using the Application Monitor
CONTROL SYSTEM SOLUTIONS Debugging A MotoHawk Application using the Application Monitor Author(s): New Eagle Consulting 3588 Plymouth Road, #274 Ann Arbor, MI 48105-2603 Phone: +1 (734) 929-4557 Ben Hoffman
More informationWindows8 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
More informationTechnology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Eleventh Edition. Copyright 2015 Pearson Education, Inc.
Technology in Action Alan Evans Kendall Martin Mary Anne Poatsy Eleventh Edition Technology in Action Chapter 4 System Software: The Operating System, Utility Programs, and File Management. Chapter Topics
More informationJob Scheduling Model
Scheduling 1 Job Scheduling Model problem scenario: a set of jobs needs to be executed using a single server, on which only one job at a time may run for theith job, we have an arrival timea i and a run
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 informationOperating 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
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 information