The OS Wars. Success
|
|
- Collin Willis Bryant
- 6 years ago
- Views:
Transcription
1 The OS Wars Selecting the Right Operating System for your CE Device Gopal Miglani - SoftProse, Inc. It works! On time Under budget Success June The OS Wars - Gopal Miglani 2 1
2 Conclusion Success of a CE software project depends on: Experience of software team Core OS technology Tools Off-the-shelf components / Code re-use June The OS Wars - Gopal Miglani 3 Evaluation Criteria Qualitative comparison of OS Architectures Tools Off the shelf components Licensing models June The OS Wars - Gopal Miglani 4 2
3 Problems with RTOS s Source: TRON Association Survey in Japan 2% Support 4% Others 4% Lacks off the shelf components 9% OS overhead 31% Shortage of staff familiar with technology 10% Perf. & func. don t meet spec. 16% Lack of development tools 10% Lack of stds., hard to switch 14% Cost June The OS Wars - Gopal Miglani 5 CE may not be Real-Time Real-Time Set-top box Mobile phone Modems GPS receivers unreal-time PDA Web receivers Low user interaction High user interaction June The OS Wars - Gopal Miglani 6 3
4 OS Architecture Tutorial Outline Execution model, Memory model, Processor mode, Interrupt model, Preemption model, Scheduling policy, Inter-process communication, Dynamic component support Tools - hardware, software Processor support, off the shelf components Licensing models Java June The OS Wars - Gopal Miglani 7 OS Architecture Execution model Memory model Processor mode Interrupt model Preemption model Scheduling policy Inter-process communication Dynamic component support June The OS Wars - Gopal Miglani 8 4
5 OS Architecture Execution model Memory model Processor mode Interrupt model Preemption model Scheduling policy Inter-process communication Dynamic component support Impact security/reliability June The OS Wars - Gopal Miglani 9 Threads Processes / Tasks Execution Model traditional kernel like Lynx, OS-9, WinCE micro kernel like QNX June OS Architecture 10 5
6 Threads Share all memory All threads share all global variables Typically all threads run in privileged mode June OS Architecture: Execution Model 11 Thread Based Kernels Advantages Fast context switch Simple direct calls into kernel Easier preemption Shared globals Disadvantages Lack of security Shared globals One rouge application damages entire system Cannot support processes Examples: Nucleus, VxWorks June OS Architecture: Execution Model 12 6
7 Thread Example Privileged mode kernel web server socket library UDP IP Ethernet driver June OS Architecture: Execution Model 13 Processes Each process has its own: Memory space Global variables Default processor state June OS Architecture: Execution Model 14 7
8 Process Based Kernels Advantages Secure inter process globals Can support threads Disadvantages Slower context switch Complex exception into kernel Complex variable sharing Insecure system s/w Examples: Lynx, OS-9, WinCE June OS Architecture: Execution Model 15 Process Example Processor exception or TRAP web server socket library kernel UDP IP Ethernet driver Non-privileged mode Privileged mode June OS Architecture: Execution Model 16 8
9 Don t trust anyone Microkernels Only kernel in privileged mode Everything else is a process in nonprivileged mode June OS Architecture: Execution Model 17 Process Based Microkernels Advantages Very secure inter process variables system software Can support threads Examples: QNX Disadvantages Slowest context switch message passing Complex exception into kernel Complex variable sharing June OS Architecture: Execution Model 18 9
10 Microkernel Example Privileged mode Non-privileged mode kernel web server socket library UDP IP Ethernet driver June OS Architecture: Execution Model 19 Execution Model Review Itron Thread or Process Linux Process + Thread Lynx Process + Thread Nucleus Thread OS-9 Process psos+ Process + Thread QNX Microkernel VxWorks Thread WinCE Process + Thread June OS Architecture: Execution Model 20 10
11 Suitability Based on Complexity Application System Thread Process µkernel Area of box represents amount & complexity of software June OS Architecture: Execution Model 21 Suitability to Device Type thread process µkernel single purpose devices open computing environment modem, GPS, phone closed set-top box, PDA, web receiver open June OS Architecture: Execution Model 22 11
12 Memory Model Flat/real/absolute memory space each execution unit sees same address space MMU optional subject to memory fragmentation Virtual memory space each EU s address space starts at zero requires MMU not subject to fragmentation June OS Architecture 23 Memory Model Itron Nucleus OS-9 Absolute psos+ VxWorks Linux Virtual+disk(required) Lynx Virtual+disk WinCE Virtual+disk QNX Virtual+disk June OS Architecture 24 12
13 Privileged Processor Mode can execute all privileged instructions can access all memory Non-privileged restricted to safe instructions only memory allowed by MMU June OS Architecture 25 Processor mode Itron Linux Lynx Nucleus OS-9 psos+ QNX VxWorks WinCE privileged+non-privileged privileged+non-privileged privileged+non-privileged privileged privileged+non-privileged privileged+non-privileged privileged+non-privileged privileged privileged+non-privileged June OS Architecture 26 13
14 Interrupt Model Nested interrupts (NI) Multiple interrupts per vector (MIPV) Partial masking at all levels (PM) June OS Architecture 27 Interrupt Model Itron Linux Lynx Nucleus OS-9 psos+ QNX VxWorks WinCE NI, MIPV?, PM NI, MIPV MIPV NI, MIPV NI, MIPV, PM NI, MIPV?, PM? NI, MIPV, PM NI, MIPV, PM June OS Architecture 28 14
15 Preemption Model Kernel preemption by interrupts Worst case interrupt response Kernel preemption by alarms, signals, etc. Preemption in privileged mode for dual mode operating systems June OS Architecture 29 Preemption Model Itron Linux Lynx Nucleus OS-9 psos+ QNX VxWorks WinCE Kernel preemption by interrupts June OS Architecture 30 15
16 Round Robin Priority Priority aging Scheduling Policy Priority inversion prevention (PIP) June OS Architecture 31 Scheduling Policies Itron Linux Lynx Nucleus OS-9 psos+ QNX VxWorks WinCE Priority non real-time/complex Priority Priority Priority aging Priority Priority Priority, Round robin, PIP Priority, PIP (8 priorities) June OS Architecture 32 16
17 Inter-Process communication Signals Semaphores Multi-valued semaphores Mail boxes message pipes Sockets June OS Architecture 33 Dynamic Component Support Without rebooting does the OS allow loading: new application (NA) already running application (RA) OS component (OC) June OS Architecture 34 17
18 Dynamic Component Support Itron Linux Lynx Nucleus OS-9 psos+ QNX VxWorks WinCE NA NA, OC NA In future release NA, RA, OC NA, OC NA, OC NA*, OC NA, OC June OS Architecture 35 Hardware based Software based Tools more prone to lockup you have to port the debug agent slow (Ethernet, serial, parallel) June Tools 36 18
19 Software based debuggers Target Host Software to be debugged Debug agent Tiny comm. stack IDE + debugger Full comm. stack June Tools 37 Tools Proprietary Third Party Proprietary IDE + Third Party June Tools 38 19
20 Hard/Soft Tools Hardware based (must, must, must!) BDM JTAG ICE Logic Analyzer Software Based Debug agent on target, tool on workstation June Tools 39 Tool features Source level debugging in privileged mode also, for dual mode OS Breakpoints, watchpoints, etc. Hardware based breakpoints Edit while debug Post-mortem OS build wizard June Tools 40 20
21 Diab-data Metaware Compilers GNU (public domain) Ultra-C/C++ for OS-9 Compilers support CPUs not OS, except OS-9. Proprietary executable format for virus protection. Includes CRC in header. June Tools 41 Third Party Tools Software Development Systems (SDS) Embedded Support Tools (EST) Greenhills - Multi Applied Microsystems Metrowerks June Tools 42 21
22 Original Vendor Tools Tornado from WindRiver Systems prism+ for Integrated Systems Visual Studio from Microsoft Hawk from Microware June Tools 43 OS & Tool Choices Itron Third party (TP) Linux GNU, TP Lynx Third Party Nucleus Visual Studio +, TP OS-9 Hawk psos+ prism+, TP QNX CodeWarrior, TP VxWorks Tornado, TP WinCE Visual Studio June Tools 44 22
23 Experience of Software Team Retaining the best engineers Not changing OS for every new project Processors supported Off the shelf components Driver support June The OS Wars - Gopal Miglani 45 Itron 8 Linux >4 Lynx 3 Nucleus 17 OS-9 7 psos+ 14 QNX 3 VxWorks 16 WinCE 5 Processor Support June The OS Wars - Gopal Miglani 46 23
24 Off The Shelf Components Networking TCP/IP, Ethernet, WAN, USB, IEEE 1394 Graphics MPEG Java Embedded web server Browser June The OS Wars - Gopal Miglani 47 Licensing Models Itron per individual supplier Linux GNU Public License Lynx license+royalty Nucleus Full source, per-project, no royalty OS-9 license+royalty psos+ license+royalty QNX license+royalty VxWorks license+royalty WinCE license+royalty June The OS Wars - Gopal Miglani 48 24
25 Java Processor independence Large size JVM k AWT 1500k For very large projects code size starts falling June The OS Wars - Gopal Miglani 49 Java/AWT Alternatives HP s Chai VM HAVi Newmonics - PERC NSI Com - JSCP June The OS Wars - Gopal Miglani 50 25
26 Java - The OS Still Matters Application Operating System JVM AWT or similar class libraries Protocols & Libraries in native code Device Drivers - GFX, MPEG, comm, flash, June The OS Wars - Gopal Miglani 51 Postscript POSIX Quantitative measures Power management support June The OS Wars - Gopal Miglani 52 26
27 UNIX like POSIX Real-time signals with data Message Queues Async I/O Timeouts for blocking Binary semaphores Lock pages into memory June The OS Wars - Gopal Miglani 53 POSIX pthreads - priority inversion Control over scheduling At least 32 priorities Support can be at superficial library layer Or, core capabilities can be supported Can it be all things to all people? June The OS Wars - Gopal Miglani 54 27
28 Quantitative Measures Interrupt response Hookable Interrupt points Context switch time (2 busy loops + LA) Caching changes everything Best, average & worst case Purchase from Real-Time Magazine June The OS Wars - Gopal Miglani 55 The OS Wars Selecting the Right Operating System for your CE Device Gopal Miglani - SoftProse, Inc. Download latest tutorial version from: June The OS Wars - Gopal Miglani 56 28
EECS 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 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 informationITRON Project Overview
ITRON Project Overview Haruyasu Ito 1 ITRON Project One of the subprojects of the TRON Project A project to standardize RTOS and related spec. for embedded systems ( esp. small-scale embedded systems )
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 informationOutline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview Use Cases Architecture Features Copyright Jaluna SA. All rights reserved
C5 Micro-Kernel: Real-Time Services for Embedded and Linux Systems Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 1 Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview
More informationReal Time and Embedded Systems. by Dr. Lesley Shannon Course Website:
Real Time and Embedded Systems by Dr. Lesley Shannon Email: lshannon@ensc.sfu.ca Course Website: http://www.ensc.sfu.ca/~lshannon/courses/ensc351 Simon Fraser University Slide Set: 2 Date: September 13,
More informationCS307 Operating Systems Introduction Fan Wu
CS307 Introduction Fan Wu Department of Computer Science and Engineering Shanghai Jiao Tong University Spring 2018 2 UNIX-family: BSD(Berkeley Software Distribution), System-V, GNU/Linux, MINIX, Nachos,
More informationOS PORTING AND ABSTRACTION LAB USER MANUAL
OS PORTING AND ABSTRACTION LAB USER MANUAL Release 1.3.8 Copyright (c) 2010 MapuSoft Technologies 1301 Azalea Road Mobile, AL 36693 www.mapusoft.com Table of Contents CHAPTER 1. INTRODUCTION TO OS PAL...
More informationCurrent Activities of the ITRON Project. Current Introduction Activities to of the ITRON Project
ITRON Supporters' Meeting Current Introduction Activities to of the ITRON Project Current Activities of the ITRON Project 1 Oct. 1997 ( / University of Tokyo ) hiro@is.s.u-tokyo.ac.jp TRON is an abbreviation
More informationGovt. of Karnataka, Department of Technical Education Diploma in Computer Science Sixth Semester. Contact Hrs / week: 4 Total hrs: 64
Govt. of Karnataka, Department of Technical Education Diploma in Computer Science Sixth Semester Subject: Embedded and Real-Time Systems Contact Hrs / week: 4 Total hrs: 64 Table of Contents Slno Chapters
More informationBRDS ( , WS 2017) Ulrich Schmid
BRDS (182.704, WS 2017) Ulrich Schmid s@ecs.tuwien.ac.at http://ti.tuwien.ac.at/ecs/teaching/courses/brds File System Protocol Stack Audio Driver Graphics Driver Microkernel Application Message Bus Microkernel
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 informationRecent Results of the ITRON Subproject
TRON Project Int'l Symposium '98 12th Mar. 1998 Toyohashi Univ. of Technology hiro@ertl.ics.tut.ac.jp Kiichiro Tamaru TOSHIBA Corporation TRON is an abbreviation of The Real-time Operating system Nucleus.
More informationOperating System. Operating System Overview. Structure of a Computer System. Structure of a Computer System. Structure of a Computer System
Overview Chapter 1.5 1.9 A program that controls execution of applications The resource manager An interface between applications and hardware The extended machine 1 2 Structure of a Computer System Structure
More informationProcesses and Threads. Processes: Review
Processes and Threads Processes and their scheduling Threads and scheduling Multiprocessor scheduling Distributed Scheduling/migration Lecture 3, page 1 Processes: Review Multiprogramming versus multiprocessing
More informationModel Based Development of Embedded Control Software
Model Based Development of Embedded Control Software Part 4: Supported Target Platforms Claudiu Farcas Credits: MoDECS Project Team, Giotto Department of Computer Science cs.uni-salzburg.at Current execution
More informationEMBEDDED OPERATING SYSTEMS
EMBEDDED OPERATING SYSTEMS Embedded Operating Systems Requirements Real-time OSes General requirements Scheduling, task switching, and I/O Require the support of an OS for embedded applications Some very
More informationLinux Operating System
Linux Operating System Dept. of Computer Science & Engineering 1 History Linux is a modern, free operating system based on UNIX standards. First developed as a small but self-contained kernel in 1991 by
More informationIBM Rational Rose Technical Developer
Accelerating Complex Software Systems Development IBM Rational Rose Technical Developer Highlights Model-Driven Development Ensures meeting stringent with the Unified Modeling requirements for latency,
More informationUNIT I [INTRODUCTION TO EMBEDDED COMPUTING AND ARM PROCESSORS] PART A
UNIT I [INTRODUCTION TO EMBEDDED COMPUTING AND ARM PROCESSORS] PART A 1. Distinguish between General purpose processors and Embedded processors. 2. List the characteristics of Embedded Systems. 3. What
More informationReal-Time Programming
Real-Time Programming Week 7: Real-Time Operating Systems Instructors Tony Montiel & Ken Arnold rtp@hte.com 4/1/2003 Co Montiel 1 Objectives o Introduction to RTOS o Event Driven Systems o Synchronization
More informationCSE 4/521 Introduction to Operating Systems
CSE 4/521 Introduction to Operating Systems Lecture 3 Operating Systems Structures (Operating-System Services, User and Operating-System Interface, System Calls, Types of System Calls, System Programs,
More informationReal-time for Windows NT
Real-time for Windows NT Myron Zimmerman, Ph.D. Chief Technology Officer, Inc. Cambridge, Massachusetts (617) 661-1230 www.vci.com Slide 1 Agenda Background on, Inc. Intelligent Connected Equipment Trends
More informationSoftware Development & Education Center
Software Development & Education Center Embedded Linux & RTOS With ARM 9 µc Embedded Linux and RTOS with ARM9 µc Introduction The course is designed for those who want to pursue Linux based Embedded Systems.
More informationA Next Generation Hypervisor for the Embedded Market. Whitepaper
A Next Generation Hypervisor for the Embedded Market Whitepaper 1 Table of Contents Background: Current Generation of Hypervisors... 3 Limitations of Current Generation Hypervisors... 4 Next Generation
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 informationDistributed Systems Operation System Support
Hajussüsteemid MTAT.08.009 Distributed Systems Operation System Support slides are adopted from: lecture: Operating System(OS) support (years 2016, 2017) book: Distributed Systems: Concepts and Design,
More informationReal-Time Operating Systems Design and Implementation. LS 12, TU Dortmund
Real-Time Operating Systems Design and Implementation (slides are based on Prof. Dr. Jian-Jia Chen) Anas Toma, Jian-Jia Chen LS 12, TU Dortmund October 19, 2017 Anas Toma, Jian-Jia Chen (LS 12, TU Dortmund)
More informationSystem Configuration Guide Release 1.6
Release 1.6 Copyright (c) 2017 MapuSoft Technologies, Inc, Unit 50197 Mobile, AL 36605 www.mapusoft.com Table of Contents Chapter 1.About this Guide... 6 Objectives... 7 Audience... 7 Document Conventions...
More informationReal-Time & Embedded Operating Systems
Real-Time & Embedded Operating Systems VO Embedded Systems Engineering (Astrit ADEMAJ) Real-Time Operating Systems Scheduling Embedded Operating Systems Power Consumption Embedded Real-Time Operating Systems
More informationVEOS high level design. Revision 2.1 NEC
high level design Revision 2.1 NEC Table of contents About this document What is Components Process management Memory management System call Signal User mode DMA and communication register Feature list
More informationCPSC 341 OS & Networks. Introduction. Dr. Yingwu Zhu
CPSC 341 OS & Networks Introduction Dr. Yingwu Zhu What to learn? Concepts Processes, threads, multi-processing, multithreading, synchronization, deadlocks, CPU scheduling, networks, security Practice:
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 informationRTOS Real T i Time me Operating System System Concepts Part 2
RTOS Real Time Operating System Concepts Part 2 Real time System Pitfalls - 4: The Ariane 5 satelite launch rocket Rocket self destructed in 4 June -1996. Exactly after 40 second of lift off at an attitude
More informationPrecept 2: Non-preemptive Scheduler. COS 318: Fall 2018
Precept 2: Non-preemptive Scheduler COS 318: Fall 2018 Project 2 Schedule Precept: Monday 10/01, 7:30pm (You are here) Design Review: Monday 10/08, 3-7pm Due: Sunday 10/14, 11:55pm Project 2 Overview Goal:
More informationComparison of scheduling in RTLinux and QNX. Andreas Lindqvist, Tommy Persson,
Comparison of scheduling in RTLinux and QNX Andreas Lindqvist, andli299@student.liu.se Tommy Persson, tompe015@student.liu.se 19 November 2006 Abstract The purpose of this report was to learn more about
More informationWelcome to the Software Overview section of the MIPS Software Training course. In this section I will discuss software and software tools you can use
Welcome to the Software Overview section of the MIPS Software Training course. In this section I will discuss software and software tools you can use in developing software for MIPS Cores 1 I want to make
More informationEmbedded Operating Systems
Embedded Operating Systems Embedded Software Design 熊博安國立中正大學資訊工程研究所 pahsiung@cs.ccu.edu.tw Textbook: Programming Embedded Systems in C and C++, Michael Barr, O Reilly 1 Contents History and Purpose A
More informationCHAPTER 3 LabVIEW REAL TIME APPLICATION DEVELOPMENT REFERENCES: [1] NI, Real Time LabVIEW. [2] R. Bishop, LabVIEW 2009.
CHAPTER 3 By Radu Muresan University of Guelph Page 1 ENGG4420 CHAPTER 3 LECTURE 1 October 31 10 5:12 PM CHAPTER 3 LabVIEW REAL TIME APPLICATION DEVELOPMENT REFERENCES: [1] NI, Real Time LabVIEW. [2] R.
More informationCSE 237A Middleware and Operating Systems. Tajana Simunic Rosing Department of Computer Science and Engineering University of California, San Diego.
CSE 237A Middleware and Operating Systems Tajana Simunic Rosing Department of Computer Science and Engineering University of California, San Diego. 1 Software components Standard software e.g. MPEGx, databases
More information6/20/2018. Lecture 2: Platforms & RTOS. Outline. Lab Setup (20 min) Labs work. Lecture: Platform + RTOS
Lecture 2: Platforms & RTOS 1 Outline Lab Setup (20 min) Labs work Workbench + vxworks Documentations (15 min) Project Management (25 min) Host Shell (25 min) Lecture: Platform + RTOS 2 1 3 Microcomputer
More informationAgenda. Threads. Single and Multi-threaded Processes. What is Thread. CSCI 444/544 Operating Systems Fall 2008
Agenda Threads CSCI 444/544 Operating Systems Fall 2008 Thread concept Thread vs process Thread implementation - user-level - kernel-level - hybrid Inter-process (inter-thread) communication What is Thread
More informationModule 1 Introduction/OS Overview
Module 1 Introduction/OS Overview Reading: Chapter 1 and 2 (Silberchatz) Objective: Quick overview of computer system organization the processor (CPU), memory, and input/output, architecture and general
More informationAUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann
AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel Alexander Züpke, Marc Bommert, Daniel Lohmann alexander.zuepke@hs-rm.de, marc.bommert@hs-rm.de, lohmann@cs.fau.de Motivation Automotive and Avionic industry
More informationChapter 4: Multi-Threaded Programming
Chapter 4: Multi-Threaded Programming Chapter 4: Threads 4.1 Overview 4.2 Multicore Programming 4.3 Multithreading Models 4.4 Thread Libraries Pthreads Win32 Threads Java Threads 4.5 Implicit Threading
More informationEmbedded System Curriculum
Embedded System Curriculum ADVANCED C PROGRAMMING AND DATA STRUCTURE (Duration: 25 hrs) Introduction to 'C' Objectives of C, Applications of C, Relational and logical operators, Bit wise operators, The
More information10 Steps to Virtualization
AN INTEL COMPANY 10 Steps to Virtualization WHEN IT MATTERS, IT RUNS ON WIND RIVER EXECUTIVE SUMMARY Virtualization the creation of multiple virtual machines (VMs) on a single piece of hardware, where
More informationFour Components of a Computer System
Four Components of a Computer System Operating System Concepts Essentials 2nd Edition 1.1 Silberschatz, Galvin and Gagne 2013 Operating System Definition OS is a resource allocator Manages all resources
More informationDebugging on Intel Platforms
White Paper Robert Mueller-Albrecht Developer Products Division Intel Corporation Debugging on Intel Platforms Introduction...3 Overview...3 Servers and Workstations...4 Support for Linux*, Mac OS X*,
More informationTutorial Introduction
Tutorial Introduction PURPOSE: - To explain how to prepare a project for debugging and describe how to configure the CodeWarrior Debugger to communicate with various types of embedded hardware OBJECTIVES:
More informationAnnouncements. Reading. Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) CMSC 412 S14 (lect 5)
Announcements Reading Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) 1 Relationship between Kernel mod and User Mode User Process Kernel System Calls User Process
More informationMigrating to Cortex-M3 Microcontrollers: an RTOS Perspective
Migrating to Cortex-M3 Microcontrollers: an RTOS Perspective Microcontroller devices based on the ARM Cortex -M3 processor specifically target real-time applications that run several tasks in parallel.
More informationOperating System Structure
Operating System Structure Joey Echeverria joey42+os@gmail.com December 6, 2004 Carnegie Mellon University: 15-410 Fall 2004 Overview Motivations Kernel Structures Monolithic Kernels Open Systems Microkernels
More informationFall 2014:: CSE 506:: Section 2 (PhD) Threading. Nima Honarmand (Based on slides by Don Porter and Mike Ferdman)
Threading Nima Honarmand (Based on slides by Don Porter and Mike Ferdman) Threading Review Multiple threads of execution in one address space Why? Exploits multiple processors Separate execution stream
More informationKernel Types Simple OS Examples System Calls. Operating Systems. Autumn CS4023
Operating Systems Autumn 2017-2018 Outline 1 2 3 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 informationSOLUTIONS TO THE FIRST 3360/6310 QUIZ. Jehan-François Pâris Summer 2016
SOLUTIONS TO THE FIRST 3360/6310 QUIZ Jehan-François Pâris Summer 2016 First question Why would a process interrupt itself? First question Why would a process interrupt itself? When it has to do a system
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 informationSoftware Development & Education Center
Software Development & Education Center Embedded Linux & Device Drivers Embedded Linux & Device Drivers Introduction The course is designed for those who want to pursue Linux based Embedded Systems. Embedded
More informationEmbedded Systems: OS
Embedded Systems: OS Jinkyu Jeong (Jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) Standalone
More informationProcess Description and Control
Process Description and Control 1 Process:the concept Process = a program in execution Example processes: OS kernel OS shell Program executing after compilation www-browser Process management by OS : Allocate
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 informationReal-time Support in Operating Systems
Real-time Support in Operating Systems Colin Perkins teaching/2003-2004/rtes4/lecture11.pdf Lecture Outline Overview of the rest of the module Real-time support in operating systems Overview of concepts
More informationUNIX rewritten using C (Dennis Ritchie) UNIX (v7) released (ancestor of most UNIXs).
UNIX: HISTORY: 1. 1969 UNIX developed (Ken Thompson). 2. 1972 UNIX rewritten using C (Dennis Ritchie). 3. 1976 UNIX (v6) released for commercial use. 4. 1978 UNIX (v7) released (ancestor of most UNIXs).
More informationSystem Wide Tracing User Need
System Wide Tracing User Need dominique toupin ericsson com April 2010 About me Developer Tool Manager at Ericsson, helping Ericsson sites to develop better software efficiently Background
More informationWhat is this? How do UVMs work?
An introduction to UVMs What is this? UVM support is a unique Xenomai feature, which allows running a nearly complete realtime system embodied into a single multi threaded Linux process in user space,
More informationCS Operating Systems
CS 447 - Operating Systems Syllabus Assignments -- Uses Blitz (facultyweb.cs.wwu.edu/~phil/classes/blitz) Environment UNIX (Linux, OS X, NetBSD, FreeBSD...) Should be the same since Blitz is a Virtual
More informationGreen Hills Software, Inc.
Green Hills Software, Inc. A Safe Tasking Approach to Ada95 Jim Gleason Engineering Manager Ada Products 5.0-1 Overview Multiple approaches to safe tasking with Ada95 No Tasking - SPARK Ada95 Restricted
More information* There are more than 100 hundred commercial RTOS with memory footprints from few hundred kilobytes to large multiprocessor systems
Presented material is based on ü Laura Carnevali: Formal Methods in the Development Life Cycle of Realtime Systems. PhD-Thesis, Univ. of Florence (IT) 2010. (Ch. 1.1-1.3) ü Doug Abbott: Linux for Embedded
More informationMobile Operating Systems Lesson 01 Operating System
Mobile Operating Systems Lesson 01 Operating System Oxford University Press 2007. All rights reserved. 1 Operating system (OS) The master control program Manages all software and hardware resources Controls,
More information6/17/2011. Real-time Operating Systems
1 1 Real-time Operating Systems 2 2 Real-time Operating Systems 3 3 What is an RTOS Provides efficient mechanisms and services for real-time scheduling and resource management Must keep its own time and
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 informationecos in commercial use the Sinar emotion Outline
ecos in commercial use the Sinar emotion Outline Introduction Sinar emotion Overview Operating Systems Application Design ecos Development Environment Roundup Dipl.Ing. Alexander Neundorf
More informationUsing the MPU with an RTOS to Enhance System Safety and Security
Using the MPU with an RTOS to Enhance System Safety and Security By Stephen Ridley 10 December, 2016 www.highintegritysystems.com WITTENSTEIN WITTENSTEIN high integrity systems: A World Leading RTOS Ecosystem
More informationOS and Java. The Networked Appliance Solution. Haruyasu Ito. Electronic Devices Group FUJITSU LIMITED
µitron OS and Java The Networked Appliance Solution Haruyasu Ito Electronic Devices Group FUJITSU LIMITED RTOS use in Embedded Systems in Japan OS not used Not ITRON specification OS API ITRON-Spec OS
More informationWhat is an Operating System? A Whirlwind Tour of Operating Systems. How did OS evolve? How did OS evolve?
What is an Operating System? A Whirlwind Tour of Operating Systems Trusted software interposed between the hardware and application/utilities to improve efficiency and usability Most computing systems
More informationChapter 5: Threads. Overview Multithreading Models Threading Issues Pthreads Windows XP Threads Linux Threads Java Threads
Chapter 5: Threads Overview Multithreading Models Threading Issues Pthreads Windows XP Threads Linux Threads Java Threads 5.1 Silberschatz, Galvin and Gagne 2003 More About Processes A process encapsulates
More informationOS 1 st Exam Name Solution St # (Q1) (19 points) True/False. Circle the appropriate choice (there are no trick questions).
OS 1 st Exam Name Solution St # (Q1) (19 points) True/False. Circle the appropriate choice (there are no trick questions). (a) (b) (c) (d) (e) (f) (g) (h) (i) T_ The two primary purposes of an operating
More informationOperating System Architecture. CS3026 Operating Systems Lecture 03
Operating System Architecture CS3026 Operating Systems Lecture 03 The Role of an Operating System Service provider Provide a set of services to system users Resource allocator Exploit the hardware resources
More informationOften, more information is required when designing system call Information varies according to OS and types of system call
System Call Parameter Passing Often, more information is required when designing system call Information varies according to OS and types of system call Three general methods used to pass parameters to
More informationAnand Raghunathan
ECE 695R: SYSTEM-ON-CHIP DESIGN Module 2: HW/SW Partitioning Lecture 2.26: Example: Hardware Architecture Anand Raghunathan raghunathan@purdue.edu ECE 695R: System-on-Chip Design, Fall 2014 Fall 2014,
More informationSpring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand
Introduction to Virtual Machines Nima Honarmand Virtual Machines & Hypervisors Virtual Machine: an abstraction of a complete compute environment through the combined virtualization of the processor, memory,
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 informationOperating System Structure
Operating System Structure Joey Echeverria joey42+os@gmail.com April 18, 2005 Carnegie Mellon University: 15-410 Spring 2005 Overview Motivations Kernel Structures Monolithic Kernels Open Systems Microkernels
More informationReal-Time Operating Systems (Working Draft) What is an Operating System (OS)?
Real-Time Operating Systems (Working Draft) Originally Prepared by Sebastian Fischemeister Modified by Insup Lee CIS 541, Spring 2010 What is an Operating System (OS)? A program that acts as an intermediary
More informationReal-Time 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 informationADVANCED OPERATING SYSTEMS USB in a microkernel based operating system
ADVANCED OPERATING SYSTEMS 2015 USB in a microkernel based operating system -1- Agenda Microkernels (history and architecture) USB (hardware and protocol specifics) Challenges providing USB in microkernel
More informationPalm Platform Hardware Intro to the Palm OS and application programming
Palm Platform Hardware Intro to the Palm OS and application programming Total memory (RAM/ROM) originals had only 128 Kb currently average is 4 Mb (max. 8Mb) 32 bit addresses 8, 16 & 32 bit data types
More informationToday: Protection! Protection!
Today: Protection! Goals of Protection Domain of Protection Access Matrix Implementation of Access Matrix Revocation of Access Rights Capability-Based Systems Language-Based Protection Lecture 27, page
More informationECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017
ECE 550D Fundamentals of Computer Systems and Engineering Fall 2017 The Operating System (OS) Prof. John Board Duke University Slides are derived from work by Profs. Tyler Bletsch and Andrew Hilton (Duke)
More informationTracking the Virtual World
Tracking the Virtual World Synopsys: For many years the JTAG interface has been used for ARM-based SoC debugging. With this JTAG style debugging, the developer has been granted the ability to debug software
More informationChapter 1: Introduction Operating Systems MSc. Ivan A. Escobar
Chapter 1: Introduction Operating Systems MSc. Ivan A. Escobar What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. Operating system
More informationRunning on the Bare Metal with GeekOS
Running on the Bare Metal with GeekOS David Hovemeyer, Jeffrey K. Hollingsworth, and Bobby Bhattacharjee University of Maryland, College Park 1 Outline Motivation Overview Projects Classroom Experience
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 informationMaRTE OS: Overview and Linux Version
MaRTE OS: Overview and Version Mario Aldea Rivas (aldeam@unican.es) Departamento de Electrónica y Computadores Universidad de Cantabria (Spain) Real-Time Systems Group, York, November 2004. DPTO. DE ELECTRÓNICA
More informationİzmir Institute of Technology Embedded Systems Lab. Real-Time Systems. Asst. Prof. Dr. Tolga Ayav Department of Computer Engineering
İzmir Institute of Technology Embedded Systems Lab Real-Time Systems Asst. Prof. Dr. Tolga Ayav Department of Computer Engineering Agenda Real-Time Systems RT Scheduling RT Kernels RT-Linux RT Executives
More informationSOFTWARE ARCHITECTURE
1 SOFTWARE ARCHITECTURE Tatsuya Hagino hagino@sfc.keio.ac.jp Slide URL https://vu5.sfc.keio.ac.jp/slide/ 2 Lecture Slide System Please access to: https://vu5.sfc.keio.ac.jp/slide/ Select: Software Architecture
More informationUFCETW-20-2 Examination Answer all questions in Section A (60 marks) and 2 questions from Section B (40 marks)
Embedded Systems Programming Exam 20010-11 Answer all questions in Section A (60 marks) and 2 questions from Section B (40 marks) Section A answer all questions (60%) A1 Embedded Systems: ARM Appendix
More informationEclipse-Based CodeWarrior Debugger
July 14-16, 2009 Eclipse-Based CodeWarrior Debugger QorIQ Multicore Linux Kernel Debug Bogdan Irimia CodeWarrior Software Engineer Tool used to develop software running on Freescale Power Architecture
More informationChapter 4: Threads. Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads
Chapter 4: Threads Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads Chapter 4: Threads Objectives To introduce the notion of a
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 information