Embedded and Real-Time Operating Systems
|
|
- Domenic Milton Norton
- 5 years ago
- Views:
Transcription
1 Embedded and Real-Time Operating Systems
2 K.C. Wang Embedded and Real-Time Operating Systems 123
3 K.C. Wang School of Electrical Engineering and Computer Science Washington State University Pullman, WA USA ISBN ISBN (ebook) DOI / Library of Congress Control Number: Springer International Publishing AG 2017 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, express or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. Printed on acid-free paper This Springer imprint is published by Springer Nature The registered company is Springer International Publishing AG The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
4 Dedicated to Cindy
5 Preface Since the publication of my first book on the Design and Implementation of the MTX Operating System by Springer in 2015, I have received inquiries from many enthusiastic readers about how to run the MTX OS on their ARM based mobile devices, such as ipods or iphones, etc. which motivated me to write this book. The purpose of this book is to provide a suitable platform for teaching and learning the theory and practice of embedded and real-time operating systems. It covers the basic concepts and principles of operating systems, and it shows how to apply them to the design and implementation of complete operating systems for embedded and real-time systems. In order to do these in a concrete and meaningful way, it uses the ARM toolchain for program development, and it uses ARM virtual machines to demonstrate the design principles and implementation techniques. Due to its technical contents, this book is not intended for entry-level courses that teach only the concepts and principles of operating systems without any programming practice. It is intended for technically oriented Computer Science/Engineering courses on embedded and real-time systems that emphasize both theory and practice. The book s evolutional style, coupled with detailed source code and complete working sample systems, make it especially suitable for self-study. Undertaking this book project has proved to be yet another very demanding and time-consuming endeavor, but I enjoyed the challenges. While preparing the book manuscripts for publication, I have been blessed with the encouragements and helps from numerous people, including many of my former TaiDa EE60 classmates. I would like to take this opportunity to thank all of them. I am also grateful to Springer International Publishing AG for allowing me to disclose the source code of this book to the public for free, which are available at for download. Special thanks go to Cindy for her continuing support and inspirations, which have made this book possible. Last but not least, I would like to thank my family again for bearing with me with endless excuses of being busy all the time. Pullman, WA October, 2016 K.C. Wang vii
6 Contents 1 Introduction About This Book Motivations of This Book Objective and Intended Audience Unique Features of This Book Book Contents Use This Book as a Textbook for Embedded Systems Use This Book as a Textbook for Operating Systems Use This Book for Self-study References ARM Architecture and Programming ARM Processor Modes ARM CPU Registers General Registers Status Registers Change ARM Processor Mode Instruction Pipeline ARM Instructions Condition Flags and Conditions Branch Instructions Arithmetic Operations Comparison Operations Logical Operations Data Movement Operations Immediate Value and Barrel Shifter Multiply Instructions LOAD and Store Instructions Base Register Block Data Transfer Stack Operations Stack and Subroutines Software Interrupt (SWI) PSR Transfer Instructions Coprocessor Instructions ARM Toolchain ARM System Emulators ARM Programming ARM Assembly Programming Example ARM Assembly Programming Example Combine Assembly with C Programming ix
7 x Contents 2.8 Device Drivers System Memory Map GPIO Programming UART Driver for Serial I/O Color LCD Display Driver Summary References Interrupts and Exceptions Processing ARM Exceptions ARM Processor Modes ARM Exceptions Exceptions Vector Table Exception Handlers Return from Exception Handlers Interrupts and Interrupts Processing Interrupt Types Interrupt Controllers Primary and Secondary Interrupt Controllers Interrupt Processing Vector Table Contents Hardware Interrupt Sequence Interrupts Control in Software Interrupt Handlers Non-nested Interrupt Handler Timer Driver ARM Versatile 926EJS Timers Timer Driver Program Keyboard Driver ARM PL050 Mouse-Keyboard Interface Keyboard Driver Interrupt-Driven Driver Design Keyboard Driver Program UART Driver ARM PL011 UART Interface UART Registers Interrupt-Driven UART Driver Program Secure Digital (SD) Cards SD Card Protocols SD Card Driver Improved SDC Driver Multi-sector Data Transfer Vectored Interrupts ARM PL190 Vectored Interrupts Controller (VIC) Configure VIC for Vectored Interrupts Vectored Interrupts Handlers Demonstration of Vectored Interrupts Nested Interrupts Why Nested Interrupts Nested Interrupts in ARM Handle Nested Interrupts in SYS Mode Demonstration of Nested Interrupts
8 Contents xi 3.10 Nested Interrupts and Process Switch Summary References Models of Embedded Systems Program Structures of Embedded Systems Super-Loop Model Super-Loop Program Examples Event-Driven Model Shortcomings of Super-Loop Programs Events Periodic Event-Driven Program Asynchronous Event-Driven Program Event Priorities Process Models Uniprocessor Process Model Multiprocessor Process Model Real Address Space Process Model Virtual Address Space Process Model Static Process Model Dynamic Process Model Non-preemptive Process Model Preemptive Process Model Uniprocessor (UP) Kernel Model Uniprocessor (UP) Operating System Model Multiprocessor (MP) System Model Real-Time (RT) System Model Design Methodology of Embedded System Software High-Level Language Support for Event-Driven Programming State Machine Model StateChart Model Summary References Process Management in Embedded Systems Multitasking The Process Concept Multitasking and Context Switch A Simple Multitasking Program Context Switching Demonstration of Multitasking Dynamic Processes Dynamic Process Creation Demonstration of Dynamic Processes Process Scheduling Process Scheduling Terminology Goals, Policy and Algorithms of Process Scheduling Process Scheduling in Embedded Systems Process Synchronization Sleep and Wakeup Device Drivers Using Sleep/Wakeup
9 xii Contents 5.7 Event-Driven Embedded Systems Using Sleep/Wakeup Demonstration of Event-Driven Embedded System Using Sleep/Wakeup Resource Management Using Sleep/Wakeup Shortcomings of Sleep/Wakeup Semaphores Applications of Semaphores Semaphore Lock Mutex lock Resource Management using Semaphore Wait for Interrupts and Messages Process Cooperation Advantages of Semaphores Cautions of Using Semaphores Use Semaphores in Embedded Systems Other Synchronization Mechanisms Event Flags in OpenVMS Event Variables in MVS ENQ/DEQ in MVS High-Level Synchronization Constructs Condition Variables Monitors Process Communication Shared Memory Pipes Signals Message Passing Uniprocessor (UP) Embedded System Kernel Non-preemptive UP Kernel Demonstration of Non-preemptive UP Kernel Preemptive UP Kernel Demonstration of Preemptive UP Kernel Summary References Memory Management in ARM Process Address Spaces Memory Management Unit (MMU) in ARM MMU Registers Accessing MMU Registers Enabling and Disabling the MMU Domain Access Control Translation Table Base Register Domain Access Control Register Fault Status Registers Fault Address Register Virtual Address Translations Translation Table Base Translation Table Level-One Descriptor Translation of Section References
10 Contents xiii 6.7 Translation of Page References Level-1 Page Table Level-2 Page Descriptors Translation of Small Page References Translation of Large Page References Memory Management Example Programs One-Level Paging Using 1 MB Sections Two-Level Paging Using 4 KB Pages One-Level Paging with High VA Space Two-Level Paging with High VA Space Summary Reference User Mode Process and System Calls User Mode Processes Virtual Address Space Mapping User Mode Process User Mode Image System Kernel Supporting User Mode Processes PROC Structure Reset Handler Kernel Code Kernel Compile-Link Script Demonstration of Kernel with User Mode Process Embedded System with User Mode Processes Processes in the Same Domain Demonstration of Processes in the Same Domain Processes with Individual Domains Demonstration of Processes with Individual Domains RAMDisk Creating RAM Disk Image Process Image File Loader Process Management Process Creation Process Termination Process Family Tree Wait for Child Process Termination Fork-Exec in Unix/Linux Implementation of Fork Implementation of Exec Demonstration of Fork-Exec Simple sh for Command Execution vfork Demonstration of vfork Threads Thread Creation Demonstration of Threads Threads Synchronization Embedded System with Two-Level Paging Static 2-Level Paging Demonstration of Static 2-Level Paging Dynamic 2-Level Paging Demonstration of 2-Level Dynamic Paging
11 xiv Contents 7.10 KMH Memory Mapping KMH Using One-Level Static Paging KMH Using Two-Level Static Paging KMH Using Two-Level Dynamic Paging Embedded System Supporting File Systems Create SD Card Image Format SD Card Partitions as File Systems Create Loop Devices for SD Card Partitions Embedded System with SDC File System SD Card Driver Using Semaphore System Kernel Using SD File System Demonstration of SDC File System Boot Kernel Image from SDC SDC Booter Program Demonstration of Booting Kernel from SDC Booting Kernel from SDC with Dynamic Paging Two-Stage Booting Demonstration of Two-Stage Booting Summary References General Purpose Embedded Operating Systems General Purpose Operating Systems Embedded General Purpose Operating Systems Porting Existing GPOS to Embedded Systems Develop an Embedded GPOS for ARM Organization of EOS Hardware Platform EOS Source File Tree EOS Kernel Files Capabilities of EOS Startup Sequence of EOS Process Management in EOS Assembly Code of EOS Kernel Files of EOS Process Management Functions Pipes Message Passing Demonstration of Message Passing Memory Management in EOS Memory Map of EOS Virtual Address Spaces Kernel Mode Pgdir and Page Tables Process User Mode Page Tables Switch Pgdir During Process Switch Dynamic Paging Exception and Signal Processing Signal Processing in Unix/Linux Signal Processing in EOS Signals in PROC Resource Signal Origins in EOS Deliver Signal to Process Change Signal Handler in Kernel
12 Contents xv Signal Handling in EOS Kernel Dispatch Signal Catcher for Execution in User Mode Device Drivers Process Scheduling in EOS Timer Service in EOS File System File Operation Levels File I/O Operations EXT2 File System in EOS Implementation of Level-1 FS Implementation of Level-2 FS Implementation of Level-3 FS Block Device I/O Buffering I/O Buffer Management Algorithm Performance of the I/O Buffer Cache User Interface The INIT Program The Login Program The sh Program Demonstration of EOS EOS Startup Command Processing in EOS Signal and Exception Handling in EOS Summary References Multiprocessing in Embedded Systems Multiprocessing SMP System Requirements ARM MPcore Processors ARM Cortex-A9 MPcore Processor Processor Cores Snoop Control Unit (SCU) Generic Interrupt Controller (GIC) GIC Programming Example Configure the GIC to Route Interrupts Explanations of the GIC Configuration Code Interrupt Priority and Interrupt Mask Demonstration of GIC Programming Startup Sequence of ARM MPcores Raw Startup Sequence Booter Assisted Startup Sequence SMP Booting on Virtual Machines ARM SMP Startup Examples ARM SMP Startup Example Demonstration of SMP Startup Example ARM SMP Startup Example Demonstration of ARM SMP Startup Example Critical Regions in SMP Implementation of Critical Regions in SMP Shortcomings of XCHG/SWAP Operations ARM Synchronization Instructions for SMP
13 xvi Contents 9.9 Synchronization Primitives in SMP Spinlocks Spinlock Example Demonstration of SMP Startup with Spinlock Mutex in SMP Implementation of Mutex Using Spinlock Demonstration of SMP Startup with Mutex Lock Global and Local Timers Demonstration of Local Timers in SMP Semaphores in SMP Applications of Semaphores in SMP Conditional Locking Conditional Spinlock Conditional Mutex Conditional Semaphore Operations Memory Management in SMP Memory Management Models in SMP Uniform VA Spaces Non-uniform VA Spaces Parallel Computing in Non-uniform VA Spaces Multitasking in SMP SMP Kernel for Process Management The ts.s file The t.c file Kernel.c file Device Driver and Interrupt Handlers in SMP Demonstration of Process Management in SMP General Purpose SMP Operating System Organization of SMP_EOS SMP_EOS Source File Tree SMP_EOS Kernel Files Process Management in SMP_EOS Protect Kernel Data Structures in SMP Deadlock Prevention in SMP Adapt UP Algorithms for SMP Device Driver and Interrupt Handlers in SMP SMP_EOS Demonstration System Startup Sequence of SMP_EOS Capabilities of SMP_EOS Demonstration of SMP_EOS Summary References Embedded Real-Time Operating Systems Concepts of RTOS Task Scheduling in RTOS Rate-Monotonic Scheduling (RMS) Earliest-Deadline-First (EDF) Scheduling Deadline-Monotonic Scheduling (DMS) Priority Inversion Priority Inversion Prevention Priority Ceiling Priority Inheritance
14 Contents xvii 10.5 Survey of RTOS FreeRTOS MicroC/OS (µc/os) NuttX VxWorks QNX Real-time Linux Critique of Existing RTOS Design Principles of RTOS Interrupts Processing Task Management Task Scheduling Synchronization Tools Task Communication Memory Management File System Tracing and Debugging Uniprocessor RTOS (UP_RTOS) Task Management in UP_RTOS Task Synchronization in UP_RTOS Task Scheduling in UP_RTOS Task Communication in UP_RTOS Protection of Critical Regions File System and Logging UP_RTOS with Static Periodic Tasks and Round-Robin Scheduling UP_RTOS with Static Periodic Tasks and Preemptive Scheduling UP_RTOS with Dynamic Tasks Sharing Resources Multiprocessor RTOS (SMP_RTOS) SMP_RTOS Kernel for Task Management Adapt UP_RTOS to SMP Nested Interrupts in SMP_RTOS Preemptive Task Scheduling in SMP_RTOS Task Switch by SGI Timesliced Task Scheduling in SMP_RTOS Preemptive Task Scheduling in SMP_RTOS Priority Inheritance Demonstration of the SMP_RTOS System Summary References Index
15 About the Author K.C. Wang received the BSEE degree from National Taiwan University, in 1960 and the Ph.D. degree in Electrical Engineering from Northwestern University, Evanston, Ill in He is currently a Professor in the School of Electrical Engineering and Computer Science at Washington State University. His academic interests are in Operating Systems, Distributed Systems and Parallel Computing. xix
Design and Implementation of the MTX Operating System
Design and Implementation of the MTX Operating System K. C. Wang Design and Implementation of the MTX Operating System 1 3 K. C. Wang School of Electrical Engineering and Computer Science Washington State
More informationFailure-Modes-Based Software Reading
SPRINGER BRIEFS IN COMPUTER SCIENCE Yang-Ming Zhu Failure-Modes-Based Software Reading SpringerBriefs in Computer Science More information about this series at http://www.springer.com/series/10028 Yang-Ming
More informationLow Level X Window Programming
Low Level X Window Programming Ross J. Maloney Low Level X Window Programming An Introduction by Examples 123 Dr. Ross J. Maloney Yenolam Corporation Booragoon, WA Australia ISBN 978-3-319-74249-6 ISBN
More informationPhilip Andrew Simpson. FPGA Design. Best Practices for Team-based Reuse. Second Edition
FPGA Design Philip Andrew Simpson FPGA Design Best Practices for Team-based Reuse Second Edition Philip Andrew Simpson San Jose, CA, USA ISBN 978-3-319-17923-0 DOI 10.1007/978-3-319-17924-7 ISBN 978-3-319-17924-7
More informationMobile Phone Security and Forensics
Mobile Phone Security and Forensics Iosif I. Androulidakis Mobile Phone Security and Forensics A Practical Approach Second Edition Iosif I. Androulidakis Pedini Ioannina Greece ISBN 978-3-319-29741-5
More informationLecture notes Lectures 1 through 5 (up through lecture 5 slide 63) Book Chapters 1-4
EE445M Midterm Study Guide (Spring 2017) (updated February 25, 2017): Instructions: Open book and open notes. No calculators or any electronic devices (turn cell phones off). Please be sure that your answers
More informationIntroduction to Computer Networking
Introduction to Computer Networking Thomas G. Robertazzi Introduction to Computer Networking 123 Thomas G. Robertazzi Department of Electrical and Computer Engineering Stony Brook University Stony Brook,
More informationProgramming with POSIX Threads
Programming with POSIX Threads David R. Butenhof :vaddison-wesley Boston San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sidney Tokyo Singapore Mexico City Contents List of
More informationFundamentals of Java Programming
Fundamentals of Java Programming Mitsunori Ogihara Fundamentals of Java Programming 123 Mitsunori Ogihara Department of Computer Science University of Miami Miami, FL, USA ISBN 978-3-319-89490-4 ISBN 978-3-319-89491-1
More informationIntelligent Systems Reference Library
Intelligent Systems Reference Library Volume 145 Series editors Janusz Kacprzyk, Polish Academy of Sciences, Warsaw, Poland e-mail: kacprzyk@ibspan.waw.pl Lakhmi C. Jain, University of Canberra, Canberra,
More informationLesson 5: Software for embedding in System- Part 2
Lesson 5: Software for embedding in System- Part 2 Device drivers, Device manager, OS, RTOS and Software tools 1 Outline Device drivers Device manager Multitasking using an operating system (OS) and Real
More informationWireless Networks. Series Editor Xuemin Sherman Shen University of Waterloo Waterloo, Ontario, Canada
Wireless Networks Series Editor Xuemin Sherman Shen University of Waterloo Waterloo, Ontario, Canada More information about this series at http://www.springer.com/series/14180 Sachin Shetty Xuebiao Yuchi
More informationUNIT -3 PROCESS AND OPERATING SYSTEMS 2marks 1. Define Process? Process is a computational unit that processes on a CPU under the control of a scheduling kernel of an OS. It has a process structure, called
More informationComputers as Components Principles of Embedded Computing System Design
Computers as Components Principles of Embedded Computing System Design Third Edition Marilyn Wolf ELSEVIER AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY
More informationTimers 1 / 46. Jiffies. Potent and Evil Magic
Timers 1 / 46 Jiffies Each timer tick, a variable called jiffies is incremented It is thus (roughly) the number of HZ since system boot A 32-bit counter incremented at 1000 Hz wraps around in about 50
More informationResearch on Industrial Security Theory
Research on Industrial Security Theory Menggang Li Research on Industrial Security Theory Menggang Li China Centre for Industrial Security Research Beijing, People s Republic of China ISBN 978-3-642-36951-3
More informationSpringerBriefs in Computer Science
SpringerBriefs in Computer Science Series Editors Stan Zdonik Peng Ning Shashi Shekhar Jonathan Katz Xindong Wu Lakhmi C. Jain David Padua Xuemin (Sherman) Shen Borko Furht V.S. Subrahmanian Martial Hebert
More informationApplication Programming
Multicore Application Programming For Windows, Linux, and Oracle Solaris Darryl Gove AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris
More informationCortex-A9 MPCore Software Development
Cortex-A9 MPCore Software Development Course Description Cortex-A9 MPCore software development is a 4 days ARM official course. The course goes into great depth and provides all necessary know-how to develop
More informationARMv8-A Software Development
ARMv8-A Software Development Course Description ARMv8-A software development is a 4 days ARM official course. The course goes into great depth and provides all necessary know-how to develop software for
More informationKernel Internals. Course Duration: 5 days. Pre-Requisites : Course Objective: Course Outline
Course Duration: 5 days Pre-Requisites : Good C programming skills. Required knowledge Linux as a User Course Objective: To get Kernel and User Space of Linux and related programming Linux Advance Programming
More informationComputer Communications and Networks. Series editor A.J. Sammes Centre for Forensic Computing Cranfield University, Shrivenham campus Swindon, UK
Computer Communications and Networks Series editor A.J. Sammes Centre for Forensic Computing Cranfield University, Shrivenham campus Swindon, UK The Computer Communications and Networks series is a range
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 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 informationFunctional Programming in R
Functional Programming in R Advanced Statistical Programming for Data Science, Analysis and Finance Thomas Mailund Functional Programming in R: Advanced Statistical Programming for Data Science, Analysis
More informationGeorge Grätzer. Practical L A TEX
Practical L A TEX George Grätzer Practical L A TEX 123 George Grätzer Toronto, ON, Canada Additional material to this book can be downloaded from http://extras.springer.com ISBN 978-3-319-06424-6 ISBN
More informationPro MERN Stack. Full Stack Web App Development with Mongo, Express, React, and Node. Vasan Subramanian
Pro MERN Stack Full Stack Web App Development with Mongo, Express, React, and Node Vasan Subramanian Pro MERN Stack Vasan Subramanian Bangalore, Karnataka, India ISBN-13 (pbk): 978-1-4842-2652-0 ISBN-13
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 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 informationSpringerBriefs in Computer Science
SpringerBriefs in Computer Science Series editors Stan Zdonik, Brown University, Providence, Rhode Island, USA Shashi Shekhar, University of Minnesota, Minneapolis, Minnesota, USA Xindong Wu, University
More informationUniversity of Waterloo Midterm Examination Model Solution CS350 Operating Systems
University of Waterloo Midterm Examination Model Solution CS350 Operating Systems Fall, 2003 1. (10 total marks) Suppose that two processes, a and b, are running in a uniprocessor system. a has three threads.
More informationEssential Angular for ASP.NET Core MVC
Essential Angular for ASP.NET Core MVC Adam Freeman Essential Angular for ASP.NET Core MVC Adam Freeman London, UK ISBN-13 (pbk): 978-1-4842-2915-6 ISBN-13 (electronic): 978-1-4842-2916-3 DOI 10.1007/978-1-4842-2916-3
More informationTo Everyone... iii To Educators... v To Students... vi Acknowledgments... vii Final Words... ix References... x. 1 ADialogueontheBook 1
Contents To Everyone.............................. iii To Educators.............................. v To Students............................... vi Acknowledgments........................... vii Final Words..............................
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 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 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 informationOverview. This Lecture. Interrupts and exceptions Source: ULK ch 4, ELDD ch1, ch2 & ch4. COSC440 Lecture 3: Interrupts 1
This Lecture Overview Interrupts and exceptions Source: ULK ch 4, ELDD ch1, ch2 & ch4 COSC440 Lecture 3: Interrupts 1 Three reasons for interrupts System calls Program/hardware faults External device interrupts
More informationReal-Time Systems Hermann Härtig Real-Time Operating Systems Brief Overview
Real-Time Systems Hermann Härtig Real-Time Operating Systems Brief Overview 02/02/12 Outline Introduction Basic variants of RTOSes Real-Time paradigms Common requirements for all RTOSes High level resources
More information(MCQZ-CS604 Operating Systems)
command to resume the execution of a suspended job in the foreground fg (Page 68) bg jobs kill commands in Linux is used to copy file is cp (Page 30) mv mkdir The process id returned to the child process
More informationReal-Time Systems. Real-Time Operating Systems
Real-Time Systems Real-Time Operating Systems Hermann Härtig WS 2018/19 Outline Introduction Basic variants of RTOSes Real-Time paradigms Common requirements for all RTOSes High level resources Non-Real-Time
More informationSubject: Operating System (BTCOC403) Class: S.Y.B.Tech. (Computer Engineering)
A. Multiple Choice Questions (60 questions) Subject: Operating System (BTCOC403) Class: S.Y.B.Tech. (Computer Engineering) Unit-I 1. What is operating system? a) collection of programs that manages hardware
More informationTrue/False: In Signal and Wait, the signaller finishes execution while the signalled process waits for its turn
Question Define the Rate Monotonic algorithm and the Earliest Deadline First algorithm. Give and example of both algorithms using execution history of processes. True/False: In Signal and Wait, the signaller
More informationMicroprocessor Theory
Microprocessor Theory and Applications with 68000/68020 and Pentium M. RAFIQUZZAMAN, Ph.D. Professor California State Polytechnic University Pomona, California and President Rafi Systems, Inc. WILEY A
More informationCortex-A15 MPCore Software Development
Cortex-A15 MPCore Software Development Course Description Cortex-A15 MPCore software development is a 4 days ARM official course. The course goes into great depth and provides all necessary know-how to
More informationJava Quick Syntax Reference. Second Edition. Mikael Olsson
Java Quick Syntax Reference Second Edition Mikael Olsson Java Quick Syntax Reference Second Edition Mikael Olsson Java Quick Syntax Reference Mikael Olsson Hammarland, Länsi-Suomi, Finland ISBN-13 (pbk):
More informationEnglish for Academic Research. Series editor Adrian Wallwork Pisa Italy
English for Academic Research Series editor Adrian Wallwork Pisa Italy This series aims to help non-native, English-speaking researchers communicate in English. The books in this series are designed like
More informationShort Term Courses (Including Project Work)
Short Term Courses (Including Project Work) Courses: 1.) Microcontrollers and Embedded C Programming (8051, PIC & ARM, includes a project on Robotics) 2.) DSP (Code Composer Studio & MATLAB, includes Embedded
More informationQUESTION BANK UNIT I
QUESTION BANK Subject Name: Operating Systems UNIT I 1) Differentiate between tightly coupled systems and loosely coupled systems. 2) Define OS 3) What are the differences between Batch OS and Multiprogramming?
More informationLinux Driver and Embedded Developer
Linux Driver and Embedded Developer Course Highlights The flagship training program from Veda Solutions, successfully being conducted from the past 10 years A comprehensive expert level course covering
More informationSistemas Operacionais I. Valeria Menezes Bastos
Sistemas Operacionais I Valeria Menezes Bastos Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Eighth Edition By William Stallings Summary Basic Elements Evolution
More informationUsing the FreeRTOS Real Time Kernel
Using the FreeRTOS Real Time Kernel i ii Using the FreeRTOS Real Time Kernel Renesas RX600 Edition Richard Barry iii First edition published 2011. All text, source code and diagrams are the exclusive property
More informationRT3 - FreeRTOS Real Time Programming
Formation FreeRTOS Real Time Programming: Real-time programming applied to the FreeRTOS operating system - Systèmes d'exploitation: RTOS RT3 - FreeRTOS Real Time Programming Real-time programming applied
More informationFundamentals of Operating Systems. Fifth Edition
Fundamentals of Operating Systems Fifth Edition Fundamentals of Operating Systems A.M. Lister University of Queensland R. D. Eager University of Kent at Canterbury Fifth Edition Springer Science+Business
More informationOperating Systems. II. Processes
Operating Systems II. Processes Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/os/ @OS Eurecom Outline Concepts Definitions and basic concepts Process
More informationCIS 21 Final Study Guide. Final covers ch. 1-20, except for 17. Need to know:
CIS 21 Final Study Guide Final covers ch. 1-20, except for 17. Need to know: I. Amdahl's Law II. Moore s Law III. Processes and Threading A. What is a process? B. What is a thread? C. Modes (kernel mode,
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 informationAC OB S. Multi-threaded FW framework (OS) for embedded ARM systems Torsten Jaekel, June 2014
AC OB S Multi-threaded FW framework (OS) for embedded ARM systems Torsten Jaekel, June 2014 ACOBS ACtive OBject (operating) System Simplified FW System for Multi-Threading on ARM embedded systems ACOBS
More informationLinux Kernel Architecture
Professional Linux Kernel Architecture Wolf gang Mauerer WILEY Wiley Publishing, Inc. Introduction xxvii Chapter 1: Introduction and Overview 1 Tasks of the Kernel v -- 2 Implementation Strategies 3 Elements
More informationThe Dark Side of Silicon
The Dark Side of Silicon Amir M. Rahmani Pasi Liljeberg Ahmed Hemani Axel Jantsch Hannu Tenhunen Editors The Dark Side of Silicon Energy Efficient Computing in the Dark Silicon Era 123 Editors Amir M.
More informationCSC 4320 Test 1 Spring 2017
CSC 4320 Test 1 Spring 2017 Name 1. What are the three main purposes of an operating system? 2. Which of the following instructions should be privileged? a. Set value of timer. b. Read the clock. c. Clear
More informationOperating Systems Overview. Chapter 2
Operating Systems Overview Chapter 2 Operating System A program that controls the execution of application programs An interface between the user and hardware Masks the details of the hardware Layers and
More informationMid Term from Feb-2005 to Nov 2012 CS604- Operating System
Mid Term from Feb-2005 to Nov 2012 CS604- Operating System Latest Solved from Mid term Papers Resource Person Hina 1-The problem with priority scheduling algorithm is. Deadlock Starvation (Page# 84) Aging
More informationLINUX INTERNALS & NETWORKING Weekend Workshop
Here to take you beyond LINUX INTERNALS & NETWORKING Weekend Workshop Linux Internals & Networking Weekend workshop Objectives: To get you started with writing system programs in Linux Build deeper view
More informationWindows 10 Revealed. The Universal Windows Operating System for PC, Tablets, and Windows Phone. Kinnary Jangla
Windows 10 Revealed The Universal Windows Operating System for PC, Tablets, and Windows Phone Kinnary Jangla Windows 10 Revealed Kinnary Jangla Bing Maps San Francisco, California, USA ISBN-13 (pbk): 978-1-4842-0687-4
More informationEmbedded Linux Architecture
Embedded Linux Architecture Types of Operating Systems Real-Time Executive Monolithic Kernel Microkernel Real-Time Executive For MMU-less processors The entire address space is flat or linear with no memory
More informationThe Definitive Guide to the ARM Cortex-M3
The Definitive Guide to the ARM Cortex-M3 Joseph Yiu AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO Newnes is an imprint of Elsevier Newnes Forewopd
More informationBuilding Custom Tasks for SQL Server Integration Services
Building Custom Tasks for SQL Server Integration Services Andy Leonard Building Custom Tasks for SQL Server Integration Services Andy Leonard Farmville, Virginia, USA ISBN-13 (pbk): 978-1-4842-2939-2 ISBN-13
More informationGuide to OSI and TCP/IP Models
SPRINGER BRIEFS IN COMPUTER SCIENCE Mohammed M. Alani Guide to OSI and TCP/IP Models SpringerBriefs in Computer Science Series editors Stan Zdonik Peng Ning Shashi Shekhar Jonathan Katz Xindong Wu Lakhmi
More informationEmbedded Operating Systems. Unit I and Unit II
Embedded Operating Systems Unit I and Unit II Syllabus Unit I Operating System Concepts Real-Time Tasks and Types Types of Real-Time Systems Real-Time Operating Systems UNIT I Operating System Manager:
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 informationOperating System MC Exercises
Operating System MC Exercises 2010 2011 Rahmat M. Samik Ibrahim et. al. http://rms46.vlsm.org/2/185.pdf Contributors: Rahmat M. Samik Ibrahim (VauLSMorg), Heri Kurniawan (Faculty of Computer Science, University
More informationREAL-TIME OPERATING SYSTEMS SHORT OVERVIEW
Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group REAL-TIME OPERATING SYSTEMS SHORT OVERVIEW HERMANN HÄRTIG, WS 2017/18 OUTLINE Basic Variants of Real-Time Operating
More informationCSE 4/521 Introduction to Operating Systems
CSE 4/521 Introduction to Operating Systems Lecture 7 Process Synchronization II (Classic Problems of Synchronization, Synchronization Examples) Summer 2018 Overview Objective: 1. To examine several classical
More informationOperating Systems. Computer Science & Information Technology (CS) Rank under AIR 100
GATE- 2016-17 Postal Correspondence 1 Operating Systems Computer Science & Information Technology (CS) 20 Rank under AIR 100 Postal Correspondence Examination Oriented Theory, Practice Set Key concepts,
More informationIterative Design of Teaching-Learning Sequences
Iterative Design of Teaching-Learning Sequences Dimitris Psillos Petros Kariotoglou Editors Iterative Design of Teaching- Learning Sequences Introducing the Science of Materials in European Schools Editors
More informationEMBEDDED SYSTEMS: Jonathan W. Valvano INTRODUCTION TO THE MSP432 MICROCONTROLLER. Volume 1 First Edition June 2015
EMBEDDED SYSTEMS: INTRODUCTION TO THE MSP432 MICROCONTROLLER Volume 1 First Edition June 2015 Jonathan W. Valvano ii Jonathan Valvano First edition 3 rd printing June 2015 The true engineering experience
More informationCortex-A5 MPCore Software Development
Cortex-A5 MPCore Software Development תיאורהקורס קורסDevelopment Cortex-A5 MPCore Software הינו הקורס הרשמי שלחברת ARM בן 4 ימים, מעמיקמאודומכסהאתכלהנושאיםהקשוריםבפיתוחתוכנה לפלטפורמותמבוססותליבת.Cortex-A5
More informationImplementing Scheduling Algorithms. Real-Time and Embedded Systems (M) Lecture 9
Implementing Scheduling Algorithms Real-Time and Embedded Systems (M) Lecture 9 Lecture Outline Implementing real time systems Key concepts and constraints System architectures: Cyclic executive Microkernel
More information3.1 Introduction. Computers perform operations concurrently
PROCESS CONCEPTS 1 3.1 Introduction Computers perform operations concurrently For example, compiling a program, sending a file to a printer, rendering a Web page, playing music and receiving e-mail Processes
More informationPractical UML Statecharts in C/C++
Practical UML Statecharts in C/C++ Event-Driven Programming for Embedded Systems 2nd Edition Miro Samek ELSEVIER AMSTERDAM. BOSTON. HEIDELBERG LONDON NEW YORK. OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE
More informationZiLOG Real-Time Kernel Version 1.2.0
ez80acclaim Family of Microcontrollers Version 1.2.0 PRELIMINARY Introduction The (RZK) is a realtime, preemptive, multitasking kernel designed for time-critical embedded applications. It is currently
More informationС and the Programming for Multitasking. Thomas W. Schultz. Purdue University West Lafayette, Indiana
С and the 8051 Programming for Multitasking Thomas W. Schultz Purdue University West Lafayette, Indiana PTR Prentice Hall Englewood Cliffs, New Jersey 07632 Preface Introduction Chapter 1 WHY THE 8051?
More informationUsing the FreeRTOS Real Time Kernel
Using the FreeRTOS Real Time Kernel NXP LPC17xx Edition Richard Barry iii Contents List of Figures... vi List of Code Listings... viii List of Tables... xi List of Notation... xii Preface FreeRTOS and
More informationCSE 153 Design of Operating Systems
CSE 153 Design of Operating Systems Winter 2018 Midterm Review Midterm in class on Monday Covers material through scheduling and deadlock Based upon lecture material and modules of the book indicated on
More informationOperating System Review
COP 4225 Advanced Unix Programming Operating System Review Chi Zhang czhang@cs.fiu.edu 1 About the Course Prerequisite: COP 4610 Concepts and Principles Programming System Calls Advanced Topics Internals,
More informationCODE TIME TECHNOLOGIES. mabassi RTOS. Porting Document. SMP / ARM Cortex-A9 CCS
CODE TIME TECHNOLOGIES mabassi RTOS Porting Document SMP / ARM Cortex-A9 CCS Copyright Information This document is copyright Code Time Technologies Inc. 2012-2016. All rights reserved. No part of this
More informationVALLIAMMAI ENGINEERING COLLEGE
VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur 603 203 DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING QUESTION BANK VI SEMESTER EE6602 EMBEDDED SYSTEMS Regulation 2013 Academic Year
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 informationCSL373/CSL633 Major Exam Solutions Operating Systems Sem II, May 6, 2013 Answer all 8 questions Max. Marks: 56
CSL373/CSL633 Major Exam Solutions Operating Systems Sem II, 2012 13 May 6, 2013 Answer all 8 questions Max. Marks: 56 1. True or False. Give reasons and/or brief explanation. No marks for incomplete/wrong
More informationMultidimensional Queueing Models in Telecommunication Networks
Multidimensional Queueing Models in Telecommunication Networks ThiS is a FM Blank Page Agassi Melikov Leonid Ponomarenko Multidimensional Queueing Models in Telecommunication Networks Agassi Melikov Department
More informationCODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document. ARM Cortex-A9 CCS
CODE TIME TECHNOLOGIES Abassi RTOS Porting Document ARM Cortex-A9 CCS Copyright Information This document is copyright Code Time Technologies Inc. 2012. All rights reserved. No part of this document may
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 informationembos Real-Time Operating System embos plug-in for IAR C-Spy Debugger Document: UM01025 Software Version: 3.0 Revision: 0 Date: September 18, 2017
embos Real-Time Operating System embos plug-in for IAR C-Spy Debugger Document: UM01025 Software Version: 3.0 Revision: 0 Date: September 18, 2017 A product of SEGGER Microcontroller GmbH & Co. KG www.segger.com
More informationARM CORTEX-R52. Target Audience: Engineers and technicians who develop SoCs and systems based on the ARM Cortex-R52 architecture.
ARM CORTEX-R52 Course Family: ARMv8-R Cortex-R CPU Target Audience: Engineers and technicians who develop SoCs and systems based on the ARM Cortex-R52 architecture. Duration: 4 days Prerequisites and related
More informationDEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING UNIT-1
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Year & Semester Section Subject Code Subject Name Degree & Branch : I & II : M.E : CP7204 : Advanced Operating Systems : M.E C.S.E. 1. Define Process? UNIT-1
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 informationOPERATING SYSTEMS INTERNALS AND DESIGN PRINCIPLES. William Stallings SIXTH EDITION. Pearson Education International. Prentice Hall
OPERATING SYSTEMS INTERNALS AND DESIGN PRINCIPLES SIXTH EDITION William Stallings Prentice Hall Pearson Education International Preface xiii Chapter 0 Reader's Guide 1 0.1 Outline ofthe Book 2 0.2 A Roadmap
More informationLINUX OPERATING SYSTEM Submitted in partial fulfillment of the requirement for the award of degree of Bachelor of Technology in Computer Science
A Seminar report On LINUX OPERATING SYSTEM Submitted in partial fulfillment of the requirement for the award of degree of Bachelor of Technology in Computer Science SUBMITTED TO: www.studymafia.org SUBMITTED
More informationOperating Systems Design Fall 2010 Exam 1 Review. Paul Krzyzanowski
Operating Systems Design Fall 2010 Exam 1 Review Paul Krzyzanowski pxk@cs.rutgers.edu 1 Question 1 To a programmer, a system call looks just like a function call. Explain the difference in the underlying
More informationMicrosoft Computer Vision APIs Distilled
Microsoft Computer Vision APIs Distilled Getting Started with Cognitive Services Alessandro Del Sole Microsoft Computer Vision APIs Distilled Alessandro Del Sole Cremona, Italy ISBN-13 (pbk): 978-1-4842-3341-2
More information