MINIX3: A Reliable and Secure Operating System
|
|
|
- Alexandra Holt
- 10 years ago
- Views:
Transcription
1 MINIX3: A Reliable and Secure Operating System Andrew S. Tanenbaum and a team of students and programmers who actually did all the work Vrije Universiteit Amsterdam, The Netherlands 1
2 GOAL OF OUR WORK: BUILD A RELIABLE OS Tanenbaum s definition of a reliable OS: An operating system is said to be reliable when a typical user has never experienced even a single failure in his or her lifetime and does not know anybody who has ever experienced a failure. In engineering terms, this is probably mean time to failure > 50 years I don t think we are there yet 2
3 THE TELEVISION MODEL 1. You buy the television 2. You plug it in 3. It works perfectly for the next 10 years 3
4 THE COMPUTER MODEL (WINDOWS EDITION) 1. You buy the computer 2. You plug it in 3. You install service packs 1 through 9f 4. You install 18 new emergency security patches 5. You find and install 7 new device drivers 6. You install antivirus software 7. You install antispyware software 8. You install antihacker software (firewall) 9. You install antispam software 10. You reboot the computer 4
5 THE COMPUTER MODEL (2) 11. It doesn t work 12. You call the helpdesk 13. You wait on hold for 30 minutes 14. They tell you to reinstall Windows 5
6 TYPICAL USER REACTION The New York Times recently reported that 25% of computer users have gotten so angry at their computer that they physically hit it. 6
7 IS RELIABILITY SO IMPORTANT? Annoying Lost work But also think about Industrial control systems in factories Power grids Hospital operating rooms Banking and e-commerce servers Emergency phone centers Control software in cars, airplanes, etc. 7
8 IS THIS FEASIBLE? We won t find out if we don t try Dutch Royal Academy gave me 2 million to try European Union gave me 2.5 million to give it a shot So, we re trying 8
9 IS RELIABILITY ACHIEVABLE AT ALL? Systems can survive hardware failures! RAIDs can survive failed disks ECC memory can survive parity errors in memory TCP/IP can survive lost packets CD-ROM drives can correct many simultaneous errors We need to be able to survive software failures, too 9
10 A NEED TO RETHINK OPERATING SYSTEMS Operating systems research need to be refocused We have nearly infinite hardware on PC-class machines Plenty of CPU cycles, RAM, bandwidth Current software has tons of (useless) features Consequently, the software is slow, bloated, and buggy To achieve the TV model, future OSes, must be Small Simple Modular Reliable Secure Self-healing 10
11 BRIEF HISTORY OF OUR WORK (1976) John Lions wrote a book on UNIX V6 (1979) AT&T released V7 and forbade books on it L (1985) I started to write a UNIX-like OS from scratch (1987) MINIX 1 + book for teaching OS classes released (1997) MINIX 2 (POSIX) & 2 nd edition of book released (2000) MINIX 2 license changed to BSD (2004) MINIX 3: start of work making a reliable OS (2006) 3 rd edition of book (2008) European grant (2010) Focus moved towards embedded systems (2013) MINIX moves to NetBSD compatibility 11
12 THREE EDITIONS OF THE BOOK
13 INTELLIGENT DESIGN AS APPLIED TO OPERATING SYSTEMS Microkernel (15,000 LoC vs. > 15 million for Linux) Bugs per 1000 LoC: Most S/W (1-10) MINIX 3 at least 15 kernel bugs; Linux has > 15,000 Drivers have 3-7x more bugs than rest of kernel About 70% of the code is drivers Highly modular OS runs as multiple user-mode server processes 13
14 STEP 1: ISOLATE COMPONENTS Move all loadable modules out of the kernel includes all device drivers and file systems Run each module as a separate process with POLA (Principle Of Least Authority) 14
15 STEP 2: ISOLATE I/O Isolate I/O devices Limit access to I/O ports Constrain DMA (needs hardware assistance) 15
16 STEP 3: ISOLATE COMMUNICATION Limit interprocess communication Restrict kernel calls on a per component basis Restrict IPC on a need-to-communicate basis Make sure faulty receiver cannot hang sender 16
17 ARCHITECTURE OF MINIX 3 Process Shell Make... User User mode FS 1 FS 2 Proc.... Other Servers Disk TTY Net Print... Other Drivers Kernel mode Microkernel handles interrupts, processes, scheduling, IPC 17
18 USER-MODE DEVICE DRIVERS Each driver runs as a user-mode process No superuser privileges Protected by the MMU Do not have access to I/O ports, privileged instrs 18
19 USER-MODE SERVERS Each server runs as a separate process Some key servers Virtual file server Actual file servers Process manager Memory manager Network server Reincarnation server 19
20 A SIMPLIFIED EXAMPLE: DOING A READ 1 User Users User mode FS 4 Servers Disk 2 3 Drivers Kernel File access when the block is in the FS cache 20
21 FILE SERVER (2) 1 User Users User mode 2 FS 9 6 Servers 5 3 Disk 4 7,8 Drivers Notification Kernel File access when the block is NOT in the FS cache 21
22 REINCARNATION SERVER Parent of all the drivers and servers When a driver or server dies, RS collects it RS checks a table for action to take e.g., restart it RS also pings drivers and servers frequently 22
23 DISK DRIVER RECOVERY RS 1 User Users User mode FS Servers New driver Disk driver X 3. Crash! Drivers Kernel System is self healing this is how we hope to make it reliable 23
24 KERNEL RELIABILITY/SECURITY Fewer LoC means fewer kernel bugs Small kernel (15,000 LoC) means reduced TCB NO foreign code (e.g., drivers) in the kernel Static data structures (no malloc in kernel) Moving bugs to user space reduces their power 24
25 IPC RELIABILITY/SECURITY Fixed-length messages (no buffer overruns) Rendezvous system was simple No lost messages No buffer management We had to add asynchronous messages Interrupts and messages are unified 25
26 DRIVER RELIABILITY/SECURITY Untrusted code: heavily isolated Bugs, viruses cannot spread to other modules Cannot touch kernel data structures Bad pointers crash only one driver; recoverable Infinite loops detected and driver restarted Restricted power to do damage (not superuser) 26
27 OTHER ADVANTAGES OF USER DRIVERS Short development cycle Normal programming model No down time for crash and reboot Easy debugging Good flexibility 27
28 FAULT INJECTION EXPERIMENT We injected 800,000 faults into each of 3 drivers Done on the binary drivers Examples, change src addr, dest addr, loop condition 100 faults were injected on each experiment Waited 1 sec to see if the driver crashed If no crash, inject another 100 faults and repeat The driver crashed in 18,038 trials The operating system NEVER crashed 28
29 PORT OF MINIX 3 TO ARM Restructured source tree for multiple architectures Changed booting to support uboot for ARM Rewrote the low-level code dealing with hardware Changed code for context switching, paging, etc. Removed x86 segmentation code Imported NetBSD ARM headers and libraries Ported build.sh for cross-toolchain support Wrote drivers for SD card and other Beagle devices 29
30 EMBEDDED SYSTEMS 5 cm BeagleBone Black 9 cm 30
31 CHARACTERISTICS Item Beaglebone Black 31
32 CHARACTERISTICS CPU Item Beaglebone Black ARM v7 32
33 CHARACTERISTICS CPU Item Clock Beaglebone Black ARM v7 1 GHz 33
34 CHARACTERISTICS Item CPU Clock RAM Beaglebone Black ARM v7 1 GHz 512 MB 34
35 CHARACTERISTICS Item CPU Clock RAM Flash Beaglebone Black ARM v7 1 GHz 512 MB 4 GB 35
36 CHARACTERISTICS Item CPU Clock RAM Flash Video Beaglebone Black ARM v7 1 GHz 512 MB 4 GB HDMI/1080p 36
37 CHARACTERISTICS Item Beaglebone Black CPU ARM v7 Clock 1 GHz RAM 512 MB Flash 4 GB Video HDMI/1080p GPIO pins 92 37
38 CHARACTERISTICS Item Beaglebone Black CPU ARM v7 Clock 1 GHz RAM 512 MB Flash 4 GB Video HDMI/1080p GPIO pins 92 Ethernet 10/100 Mbps 38
39 CHARACTERISTICS Item Beaglebone Black CPU ARM v7 Clock 1 GHz RAM 512 MB Flash 4 GB Video HDMI/1080p GPIO pins 92 Ethernet 10/100 Mbps USB 1 39
40 CHARACTERISTICS Item Beaglebone Black CPU ARM v7 Clock 1 GHz RAM 512 MB Flash 4 GB Video HDMI/1080p GPIO pins 92 Ethernet 10/100 Mbps USB 1 Open source Yes 40
41 CHARACTERISTICS Item Beaglebone Black CPU ARM v7 Clock 1 GHz RAM 512 MB Flash 4 GB Video HDMI/1080p GPIO pins 92 Ethernet 10/100 Mbps USB 1 Open source Yes Price (quantity 1) $45 41
42 CHARACTERISTICS Item Beaglebone Black Raspberry Pi B+ CPU ARM v7 Clock 1 GHz RAM 512 MB Flash 4 GB Video HDMI/1080p GPIO pins 92 Ethernet 10/100 Mbps USB 1 Open source Yes Price (quantity 1) $45 42
43 CHARACTERISTICS Item Beaglebone Black Raspberry Pi B+ CPU ARM v7 ARM v6 Clock 1 GHz RAM 512 MB Flash 4 GB Video HDMI/1080p GPIO pins 92 Ethernet 10/100 Mbps USB 1 Open source Yes Price (quantity 1) $45 43
44 CHARACTERISTICS Item Beaglebone Black Raspberry Pi B+ CPU ARM v7 ARM v6 Clock 1 GHz 700 MHz RAM 512 MB Flash 4 GB Video HDMI/1080p GPIO pins 92 Ethernet 10/100 Mbps USB 1 Open source Yes Price (quantity 1) $45 44
45 CHARACTERISTICS Item Beaglebone Black Raspberry Pi B+ CPU ARM v7 ARM v6 Clock 1 GHz 700 MHz RAM 512 MB 512 MB Flash 4 GB Video HDMI/1080p GPIO pins 92 Ethernet 10/100 Mbps USB 1 Open source Yes Price (quantity 1) $45 45
46 CHARACTERISTICS Item Beaglebone Black Raspberry Pi B+ CPU ARM v7 ARM v6 Clock 1 GHz 700 MHz RAM 512 MB 512 MB Flash 4 GB None Video HDMI/1080p GPIO pins 92 Ethernet 10/100 Mbps USB 1 Open source Yes Price (quantity 1) $45 46
47 CHARACTERISTICS Item Beaglebone Black Raspberry Pi B+ CPU ARM v7 ARM v6 Clock 1 GHz 700 MHz RAM 512 MB 512 MB Flash 4 GB None Video HDMI/1080p HDMI/1080p GPIO pins 92 Ethernet 10/100 Mbps USB 1 Open source Yes Price (quantity 1) $45 47
48 CHARACTERISTICS Item Beaglebone Black Raspberry Pi B+ CPU ARM v7 ARM v6 Clock 1 GHz 700 MHz RAM 512 MB 512 MB Flash 4 GB None Video HDMI/1080p HDMI/1080p GPIO pins Ethernet 10/100 Mbps USB 1 Open source Yes Price (quantity 1) $45 48
49 CHARACTERISTICS Item Beaglebone Black Raspberry Pi B+ CPU ARM v7 ARM v6 Clock 1 GHz 700 MHz RAM 512 MB 512 MB Flash 4 GB None Video HDMI/1080p HDMI/1080p GPIO pins Ethernet 10/100 Mbps 10/100 Mbps USB 1 Open source Yes Price (quantity 1) $45 49
50 CHARACTERISTICS Item Beaglebone Black Raspberry Pi B+ CPU ARM v7 ARM v6 Clock 1 GHz 700 MHz RAM 512 MB 512 MB Flash 4 GB None Video HDMI/1080p HDMI/1080p GPIO pins Ethernet 10/100 Mbps 10/100 Mbps USB 1 4 Open source Yes Price (quantity 1) $45 50
51 CHARACTERISTICS Item Beaglebone Black Raspberry Pi B+ CPU ARM v7 ARM v6 Clock 1 GHz 700 MHz RAM 512 MB 512 MB Flash 4 GB None Video HDMI/1080p HDMI/1080p GPIO pins Ethernet 10/100 Mbps 10/100 Mbps USB 1 4 Open source Yes No Price (quantity 1) $45 51
52 CHARACTERISTICS Item Beaglebone Black Raspberry Pi B+ CPU ARM v7 ARM v6 Clock 1 GHz 700 MHz RAM 512 MB 512 MB Flash 4 GB None Video HDMI/1080p HDMI/1080p GPIO pins Ethernet 10/100 Mbps 10/100 Mbps USB 1 4 Open source Yes No Price (quantity 1) $45 $35 52
53 I ADMIT I WAS WRONG On 29 Jan 1992 I posted to comp.os.minix this: Don`t get me wrong, I am not unhappy with LINUX. It will get all the people who want to turn MINIX in BSD UNIX off my back. I Apologize. Now I do want to turn MINIX into BSD. It just took me 20 years to realize this. 53
54 MINIX 3 MEETS BSD + = BSD Daemon is copyright 1988 by Marshall Kirk McKusick and is used with permission. 54
55 OR MAYBE 55
56 WHY BSD? MINIX 3 didn t have enough application software BSD is a proven, portable, quality product BSD has better code quality than Linux Pkgsrc handles packages better than what we had Thousands of excellent packages available Active community License compatibility Why NetBSD? Mostly due to its emphasis on portability 56
57 NETBSD FEATURES IN MINIX Clang/LLVM compiler NetBSD build system ELF file format Source code tree modeled on NetBSD Headers and libraries are from NetBSD X11 Pkgsrc works and builds 5040 NetBSD packages Nevertheless, it is built on MINIX 3 kernel & servers 57
58 NETBSD FEATURES MISSING IN MINIX Kernel threads (we do have userland pthreads) Some system calls: All _LWP*, MSG*, SEM* calls CLONE Some GET, IOCTL calls KQUEUE, KTRACE VFORK Job control Some other minor calls Nevertheless, we can build over 5000 packages 58
59 KYUA TESTS Conclusion: 2139 out of 2651 passed (81%) 59
60 SYSTEM ARCHITECTURE Clang Pkgsrc (libc) Pkg 1 Pkg n Users User- Land (NetBSD) VFS FS MM Rein carnat Disk Net TTY USB Servers Drivers OS (MINIX) Microkernel (this is the only part running in kernel mode) 60
61 MINIX 3 ON THE THREE BEAGLE BOARDS 61
62 YOUR ROLE MINIX 3 is an open-source project I hope some of you will join and help us Things to do Add crucial missing system calls Port more packages (Java, a browser, etc.) Write the missing drivers for Beagle series Get it running on Raspberry Pi & other platforms Port Rump Port required libraries and then port a GUI 62
63 MINIX 3 IN A NUTSHELL Microkernel reimplementation of NetBSD Fully open source with BSD license Highly compatible with NetBSD Supports both LLVM and gcc Uses NetBSD pkgsrc Over 5000 packages build Go get it at and try it 63
64 POSITIONING OF MINIX Show that multiserver systems are reliable Demonstrate that drivers belong in user mode High-reliability and fault-tolerant applications $50 single-chip, small-ram laptops for 3rd world Embedded systems 64
65 FUTURE FEATURE: LIVE UPDATE Software is updated to: Fix bugs Improve performance Add new features Goal is to update OS to a new version w/o reboot Running processes must NOT be restarted New version of OS may have new data structures Lots of state in there: open files, timers,etc. 65
66 EXAMPLE OF HOW WOULD THIS WORK User A Apache running A Apache still running Kernel FreeBSD 10.1 FreeBSD 10.2 Replace the OS while user processes are running Very difficult to do with BSD, Linux, Windows, etc. 66
67 LIVE UPDATE IN MINIX User A Apache running A Apache still running User MM FS 6.0 MM Driver Driver FS 7.0 Kernel Microkernel Microkernel 67
68 HOW DO WE DO THE UPDATE? Manager tells some process (e.g. Old-FS) to get ready Old-FS finishes its work and queues new work Manager creates New-FS process with new code LLVM puts tables inside New-FS listing its data objects New-FS contacts Old-FS and asks for state it needs The state is transferred one object at a time When all state is transferred, Third-FS is created It talks to New-FS and tries to recreate Old-FS If they agree New-FS becomes FS, else revert to Old-FS Like translating English to Dutch, then Dutch to English 68
69 HOW THE UPDATE WORKS A Apache running FS 6.0 Old FS Microkernel 69
70 HOW THE UPDATE WORKS Get ready A Apache running FS 6.0 Microkernel 70
71 HOW THE UPDATE WORKS A Apache running FS 6.0 FS 7.0 Microkernel 71
72 HOW THE UPDATE WORKS A Apache running FS 6.0 I need variable x FS 7.0 G Microkernel 72
73 HOW THE UPDATE WORKS A Apache running FS 6.0 Here is variable x FS 7.0 Microkernel 73
74 HOW THE UPDATE WORKS A Apache running FS 6.0 FS 7.0 FS? Microkernel 74
75 HOW THE UPDATE WORKS A Apache running FS 6.0 FS 7.0 I need variable x FS? Microkernel 75
76 HOW THE UPDATE WORKS A Apache running FS 6.0 FS 7.0 Here is variable x FS? Microkernel 76
77 HOW THE UPDATE WORKS A Apache running FS 6.0 FS 7.0 FS? Are these the same? Microkernel 77
78 HOW THE UPDATE WORKS A Apache running FS 7.0 Microkernel 78
79 MUCH BETTER THAN KSPLICE KSPLICE can handle only small security patches KSPLICE patches the running process Over time, crud accumulates in the process If the update fails, there is no recovery 79
80 OTHER USES OF LIVE UPDATE Enhanced security: Update the OS at a high rate to foil return-to-libc attacks Stop any attack that uses knowledge of memory layout Reduce exposure to information leakage attacks Garbage collection in C (!) Only live data is copied over to the new version This can fix memory leaks (malloc but no free) 80
81 RESEARCH: FAULT INJECTION Inject fault? Original unmodified basic block Basic block with fault injected This structure is created automatically by the LLVM compiler 81
82 NEW PROGRAM STRUCTURE This can be optimized by patching the original binary to get any test without recompilation Overhead is 8% 82
83 MINIX 3 LOGO Why a raccoon? Small Cute Clever Agile Eats bugs More likely to visit your house than a penguin 83
84 WEBSITE: 84
85 DOCUMENTATION IS IN A WIKI Wiki.minix3.org You can help document the system 85
86 TRAFFIC TO Total visits to the main page since 2004: 3.1 million Actual downloads since 2007: 650,000 (from the log) 86
87 MINIX 3 GOOGLE NEWSGROUP 87
88 CONCLUSION Current OSes are bloated and unreliable MINIX 3 is an attempt at a reliable, secure OS Kernel is very small (15,000 LoC) OS runs as a collection of user processes Each driver is a separate process Each OS component has restricted privileges Faulty drivers can be replaced automatically Live update is possible (not in current release) 88
89 SURVEY Please download MINIX 3 from Give it a try Fill out the survey on the main page We have had 650,000 downloads but we don t know who they are or what they are doing We are trying to build a community 89
90 THE END 90
91 WEBSITE: 91
92 92
93 MASTERS DEGREE AT THE VU If you are interested in computer systems Look at our masters in parallel & distributed syst. Google me Look at my home page See video linked there or check out pdcs.vu.nl 93
94 DISK PERFORMANCE 94
95 THE COST OF DRIVER RECOVERY We killed the Ethernet driver every Δt sec to simulate repeated driver crashes Driver recovery takes about 360 msec 95
96 RESEARCH: MULTICORE CHIPS Multicore chip TCP IP Ether Kernel Core Network stack has components Chips may be heterogeneous Where to put each component? Experiments scaling frequencies Sometimes slower is faster! Sleep/wakeup is expensive 96
97 RESEARCH: NEW FILE SYSTEM--LORIS VFS Naming Cache Better reliabilty Better flexibility Handles heterogeneity better File rather than block oriented Uses checksums to detect corruption Logical Physical Introduces concept of a logical file (1 or more phys files spread or striped over possibly heterogeneous devices) Driver 97
RELIABLE OPERATING SYSTEMS
RELIABLE OPERATING SYSTEMS Research Summary 1 st EuroSys Doctoral Workshop October 23, 2005 Brighton, UK Jorrit N. Herder Dept. of Computer Science Vrije Universiteit Amsterdam PERCEIVED PROBLEMS Weak
Example of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study
CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what
Operating Systems. Design and Implementation. Andrew S. Tanenbaum Melanie Rieback Arno Bakker. Vrije Universiteit Amsterdam
Operating Systems Design and Implementation Andrew S. Tanenbaum Melanie Rieback Arno Bakker Vrije Universiteit Amsterdam Operating Systems - Winter 2012 Outline Introduction What is an OS? Concepts Processes
Outline. Operating Systems Design and Implementation. Chap 1 - Overview. What is an OS? 28/10/2014. Introduction
Operating Systems Design and Implementation Andrew S. Tanenbaum Melanie Rieback Arno Bakker Outline Introduction What is an OS? Concepts Processes and Threads Memory Management File Systems Vrije Universiteit
How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself
How do Users and Processes interact with the Operating System? Users interact indirectly through a collection of system programs that make up the operating system interface. The interface could be: A GUI,
Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023
Operating Systems Autumn 2013 Outline 1 2 Types of 2.4, SGG The OS Kernel The kernel is the central component of an OS It has complete control over everything that occurs in the system Kernel overview
Microkernels, virtualization, exokernels. Tutorial 1 CSC469
Microkernels, virtualization, exokernels Tutorial 1 CSC469 Monolithic kernel vs Microkernel Monolithic OS kernel Application VFS System call User mode What was the main idea? What were the problems? IPC,
CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure
CSE 120 Principles of Operating Systems Fall 2000 Lecture 3: Operating System Modules, Interfaces, and Structure Geoffrey M. Voelker Modules, Interfaces, Structure We roughly defined an OS as the layer
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
Lecture 25 Symbian OS
CS 423 Operating Systems Design Lecture 25 Symbian OS Klara Nahrstedt Fall 2011 Based on slides from Andrew S. Tanenbaum textbook and other web-material (see acknowledgements) cs423 Fall 2011 1 Overview
How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X
(Advanced Topics in) Operating Systems Winter Term 2009 / 2010 Jun.-Prof. Dr.-Ing. André Brinkmann [email protected] Universität Paderborn PC 1 Overview Overview of chapter 3: Case Studies 3.1 Windows Architecture.....3
Review 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
Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:
Tools Page 1 of 13 ON PROGRAM TRANSLATION A priori, we have two translation mechanisms available: Interpretation Compilation On interpretation: Statements are translated one at a time and executed immediately.
PARALLELS SERVER 4 BARE METAL README
PARALLELS SERVER 4 BARE METAL README This document provides the first-priority information on Parallels Server 4 Bare Metal and supplements the included documentation. TABLE OF CONTENTS 1 About Parallels
Chapter 2 System Structures
Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices
Encryption Wrapper. on OSX
Encryption Wrapper on OSX Overview OSX Kernel What is an Encryption Wrapper? Project Implementation OSX s Origins and Design NeXTSTEP Legacy NextStep v1 NextStep v3.3 Mac OS X Jobs creates NeXT Apple acquisition
Process 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
A+ Guide to Software: Managing, Maintaining, and Troubleshooting, 5e. Chapter 3 Installing Windows
: Managing, Maintaining, and Troubleshooting, 5e Chapter 3 Installing Windows Objectives How to plan a Windows installation How to install Windows Vista How to install Windows XP How to install Windows
I3: Maximizing Packet Capture Performance. Andrew Brown
I3: Maximizing Packet Capture Performance Andrew Brown Agenda Why do captures drop packets, how can you tell? Software considerations Hardware considerations Potential hardware improvements Test configurations/parameters
OS Concepts and structure
OS Concepts and structure Today OS services OS interface to programmers/users OS components & interconnects Structuring OSs Next time Processes Between hardware and your apps User processes Thunderbird
A Transport Protocol for Multimedia Wireless Sensor Networks
A Transport Protocol for Multimedia Wireless Sensor Networks Duarte Meneses, António Grilo, Paulo Rogério Pereira 1 NGI'2011: A Transport Protocol for Multimedia Wireless Sensor Networks Introduction Wireless
Operating System Overview. Otto J. Anshus
Operating System Overview Otto J. Anshus A Typical Computer CPU... CPU Memory Chipset I/O bus ROM Keyboard Network A Typical Computer System CPU. CPU Memory Application(s) Operating System ROM OS Apps
I/O. Input/Output. Types of devices. Interface. Computer hardware
I/O Input/Output One of the functions of the OS, controlling the I/O devices Wide range in type and speed The OS is concerned with how the interface between the hardware and the user is made The goal in
Datacenter Operating Systems
Datacenter Operating Systems CSE451 Simon Peter With thanks to Timothy Roscoe (ETH Zurich) Autumn 2015 This Lecture What s a datacenter Why datacenters Types of datacenters Hyperscale datacenters Major
Operating System Structure
Operating System Structure Lecture 3 Disclaimer: some slides are adopted from the book authors slides with permission Recap Computer architecture CPU, memory, disk, I/O devices Memory hierarchy Architectural
PARALLELS SERVER BARE METAL 5.0 README
PARALLELS SERVER BARE METAL 5.0 README 1999-2011 Parallels Holdings, Ltd. and its affiliates. All rights reserved. This document provides the first-priority information on the Parallels Server Bare Metal
CS161: Operating Systems
CS161: Operating Systems Matt Welsh [email protected] Lecture 2: OS Structure and System Calls February 6, 2007 1 Lecture Overview Protection Boundaries and Privilege Levels What makes the kernel different
COS 318: Operating Systems. I/O Device and Drivers. Input and Output. Definitions and General Method. Revisit Hardware
COS 318: Operating Systems I/O and Drivers Input and Output A computer s job is to process data Computation (, cache, and memory) Move data into and out of a system (between I/O devices and memory) Challenges
Operating System Structures
COP 4610: Introduction to Operating Systems (Spring 2015) Operating System Structures Zhi Wang Florida State University Content Operating system services User interface System calls System programs Operating
Chapter 14 Virtual Machines
Operating Systems: Internals and Design Principles Chapter 14 Virtual Machines Eighth Edition By William Stallings Virtual Machines (VM) Virtualization technology enables a single PC or server to simultaneously
A Comparison of Distributed Systems: ChorusOS and Amoeba
A Comparison of Distributed Systems: ChorusOS and Amoeba Angelo Bertolli Prepared for MSIT 610 on October 27, 2004 University of Maryland University College Adelphi, Maryland United States of America Abstract.
Gigabit Ethernet Design
Gigabit Ethernet Design Laura Jeanne Knapp Network Consultant 1-919-254-8801 [email protected] www.lauraknapp.com Tom Hadley Network Consultant 1-919-301-3052 [email protected] HSEdes_ 010 ed and
Embedded Operating Systems in a Point of Sale Environment. White Paper
Embedded Operating Systems in a Point of Sale Environment White Paper December 2008 Contents Embedded Operating Systems in a POS Environment... 3 Overview... 3 POS Operating Systems... 3 Operating Systems
Operating System Structures
Operating System Structures Meelis ROOS [email protected] Institute of Computer Science Tartu University fall 2009 Literature A. S. Tanenbaum. Modern Operating Systems. 2nd ed. Prentice Hall. 2001. G. Nutt.
Design and Implementation of the Heterogeneous Multikernel Operating System
223 Design and Implementation of the Heterogeneous Multikernel Operating System Yauhen KLIMIANKOU Department of Computer Systems and Networks, Belarusian State University of Informatics and Radioelectronics,
Chapter 1 Hardware and Software Introductions of pcduino
Chapter 1 Hardware and Software Introductions of pcduino pcduino is a high performance, cost effective mini PC platform that runs PC like OS such as Ubuntu Linux. It outputs its screen to HDMI enabled
FAME Operating Systems
FAME Operating Systems 2012 David Picard contributors : Arnaud Revel, Mickaël Maillard [email protected] 1. Introduction A very simple computer Goals of an operating system Hardware management Task management
File System & Device Drive. Overview of Mass Storage Structure. Moving head Disk Mechanism. HDD Pictures 11/13/2014. CS341: Operating System
CS341: Operating System Lect 36: 1 st Nov 2014 Dr. A. Sahu Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati File System & Device Drive Mass Storage Disk Structure Disk Arm Scheduling RAID
Linux Driver Devices. Why, When, Which, How?
Bertrand Mermet Sylvain Ract Linux Driver Devices. Why, When, Which, How? Since its creation in the early 1990 s Linux has been installed on millions of computers or embedded systems. These systems may
Chapter 3 Operating-System Structures
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
Industry First X86-based Single Board Computer JaguarBoard Released
Industry First X86-based Single Board Computer JaguarBoard Released HongKong, China (May 12th, 2015) Jaguar Electronic HK Co., Ltd officially launched the first X86-based single board computer called JaguarBoard.
An Oracle White Paper July 2011. Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide
Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide An Oracle White Paper July 2011 1 Disclaimer The following is intended to outline our general product direction.
SIDN Server Measurements
SIDN Server Measurements Yuri Schaeffer 1, NLnet Labs NLnet Labs document 2010-003 July 19, 2010 1 Introduction For future capacity planning SIDN would like to have an insight on the required resources
CHAPTER 15: Operating Systems: An Overview
CHAPTER 15: Operating Systems: An Overview The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint
POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2)
RTOSes Part I Christopher Kenna September 24, 2010 POSIX Portable Operating System for UnIX Application portability at source-code level POSIX Family formally known as IEEE 1003 Originally 17 separate
Virtual Private Systems for FreeBSD
Virtual Private Systems for FreeBSD Klaus P. Ohrhallinger 06. June 2010 Abstract Virtual Private Systems for FreeBSD (VPS) is a novel virtualization implementation which is based on the operating system
Leveraging Thin Hypervisors for Security on Embedded Systems
Leveraging Thin Hypervisors for Security on Embedded Systems Christian Gehrmann A part of Swedish ICT What is virtualization? Separation of a resource or request for a service from the underlying physical
Ubuntu Linux Reza Ghaffaripour May 2008
Ubuntu Linux Reza Ghaffaripour May 2008 Table of Contents What is Ubuntu... 3 How to get Ubuntu... 3 Ubuntu Features... 3 Linux Advantages... 4 Cost... 4 Security... 4 Choice... 4 Software... 4 Hardware...
Proposal for Virtual Private Server Provisioning
Interpole Solutions 1050, Sadguru Darshan, New Prabhadevi Road, Mumbai - 400 025 Tel: 91-22-24364111, 24364112 Email : [email protected] Website: www.interpole.net Proposal for Virtual Private Server
VMware and CPU Virtualization Technology. Jack Lo Sr. Director, R&D
ware and CPU Virtualization Technology Jack Lo Sr. Director, R&D This presentation may contain ware confidential information. Copyright 2005 ware, Inc. All rights reserved. All other marks and names mentioned
CPS221 Lecture: Operating System Structure; Virtual Machines
Objectives CPS221 Lecture: Operating System Structure; Virtual Machines 1. To discuss various ways of structuring the operating system proper 2. To discuss virtual machines Materials: 1. Projectable of
Deeply Embedded Real-Time Hypervisors for the Automotive Domain Dr. Gary Morgan, ETAS/ESC
Deeply Embedded Real-Time Hypervisors for the Automotive Domain Dr. Gary Morgan, ETAS/ESC 1 Public ETAS/ESC 2014-02-20 ETAS GmbH 2014. All rights reserved, also regarding any disposal, exploitation, reproduction,
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
Virtual Machines. COMP 3361: Operating Systems I Winter 2015 http://www.cs.du.edu/3361
s COMP 3361: Operating Systems I Winter 2015 http://www.cs.du.edu/3361 1 Virtualization! Create illusion of multiple machines on the same physical hardware! Single computer hosts multiple virtual machines
Yun Shield User Manual VERSION: 1.0. Yun Shield User Manual 1 / 22. www.dragino.com
Yun Shield User Manual VERSION: 1.0 Version Description Date 0.1 Initiate 2014-Jun-21 1.0 Release 2014-Jul-08 Yun Shield User Manual 1 / 22 Index: 1 Introduction... 3 1.1 What is Yun Shield... 3 1.2 Specifications...
Sockets vs. RDMA Interface over 10-Gigabit Networks: An In-depth Analysis of the Memory Traffic Bottleneck
Sockets vs. RDMA Interface over 1-Gigabit Networks: An In-depth Analysis of the Memory Traffic Bottleneck Pavan Balaji Hemal V. Shah D. K. Panda Network Based Computing Lab Computer Science and Engineering
ELEC 377. Operating Systems. Week 1 Class 3
Operating Systems Week 1 Class 3 Last Class! Computer System Structure, Controllers! Interrupts & Traps! I/O structure and device queues.! Storage Structure & Caching! Hardware Protection! Dual Mode Operation
Lesson 06: Basics of Software Development (W02D2
Lesson 06: Basics of Software Development (W02D2) Balboa High School Michael Ferraro Lesson 06: Basics of Software Development (W02D2 Do Now 1. What is the main reason why flash
System Compatibility. Enhancements. Operating Systems. Hardware Requirements. Email Security
Email Security SonicWALL Email Security 7.0 for Microsoft Small Business Server System Compatibility SonicWALL Email Security 7.0 Software is supported on systems with the following: Operating Systems
A Look through the Android Stack
A Look through the Android Stack A Look through the Android Stack Free Electrons Maxime Ripard Free Electrons Embedded Linux Developers c Copyright 2004-2012, Free Electrons. Creative Commons BY-SA 3.0
ReactOS is (not) Windows. Windows internals and why ReactOS couldn t just use a Linux kernel
ReactOS is (not) Windows Windows internals and why ReactOS couldn t just use a Linux kernel ReactOS is (not) Windows ReactOS is Windows Runs Windows applications Runs Windows drivers Looks like Windows
Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai 2007. Jens Onno Krah
(DSF) Soft Core Prozessor NIOS II Stand Mai 2007 Jens Onno Krah Cologne University of Applied Sciences www.fh-koeln.de [email protected] NIOS II 1 1 What is Nios II? Altera s Second Generation
CSC 2405: Computer Systems II
CSC 2405: Computer Systems II Spring 2013 (TR 8:30-9:45 in G86) Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Introductions Mirela Damian Room 167A in the Mendel Science Building [email protected]
Network Attached Storage. Jinfeng Yang Oct/19/2015
Network Attached Storage Jinfeng Yang Oct/19/2015 Outline Part A 1. What is the Network Attached Storage (NAS)? 2. What are the applications of NAS? 3. The benefits of NAS. 4. NAS s performance (Reliability
System 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
Intel DPDK Boosts Server Appliance Performance White Paper
Intel DPDK Boosts Server Appliance Performance Intel DPDK Boosts Server Appliance Performance Introduction As network speeds increase to 40G and above, both in the enterprise and data center, the bottlenecks
Benchmarking FreeBSD. Ivan Voras <[email protected]>
Benchmarking FreeBSD Ivan Voras What and why? Everyone likes a nice benchmark graph :) And it's nice to keep track of these things The previous major run comparing FreeBSD to Linux
Resource Utilization of Middleware Components in Embedded Systems
Resource Utilization of Middleware Components in Embedded Systems 3 Introduction System memory, CPU, and network resources are critical to the operation and performance of any software system. These system
Android Virtualization from Sierraware. Simply Secure
Android Virtualization from Sierraware Simply Secure Integration Challenges DRM Mandates TrustZone TEE Hypervisor provides the flexibility and security needed for BYOD Power management, responsibility
Network Security Platform 7.5
M series Release Notes Network Security Platform 7.5 Revision B Contents About this document New features Resolved issues Known issues Installation instructions Product documentation About this document
Amoeba Distributed Operating System
Amoeba Distributed Operating System Matt Ramsay Tim Kiegel Heath Memmer CS470 Case Study Paper 4/19/02 Amoeba Introduction The Amoeba operating system began as a research project at Vrije Universiteit
Chapter 6, The Operating System Machine Level
Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General
Survey of Filesystems for Embedded Linux. Presented by Gene Sally CELF
Survey of Filesystems for Embedded Linux Presented by Gene Sally CELF Presentation Filesystems In Summary What is a filesystem Kernel and User space filesystems Picking a root filesystem Filesystem Round-up
Chapter 1: Operating System Models 1 2 Operating System Models 2.1 Introduction Over the past several years, a number of trends affecting operating system design are witnessed and foremost among them is
CDH installation & Application Test Report
CDH installation & Application Test Report He Shouchun (SCUID: 00001008350, Email: [email protected]) Chapter 1. Prepare the virtual machine... 2 1.1 Download virtual machine software... 2 1.2 Plan the guest
The Bus (PCI and PCI-Express)
4 Jan, 2008 The Bus (PCI and PCI-Express) The CPU, memory, disks, and all the other devices in a computer have to be able to communicate and exchange data. The technology that connects them is called the
The shortest path to cellular communications: Cellular Development Platform
The shortest path to cellular communications: Cellular Development Platform Multi-Tech Overview 40 years focused on Machine-to-Machine (M2M) Communications 80+ patents 20+ million devices, thousands of
Virtualization Guide. McAfee Vulnerability Manager Virtualization
Virtualization Guide McAfee Vulnerability Manager Virtualization COPYRIGHT Copyright 2012 McAfee, Inc. Do not copy without permission. TRADEMARKS McAfee, the McAfee logo, McAfee Active Protection, McAfee
Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 26 Real - Time POSIX. (Contd.) Ok Good morning, so let us get
Chapter 5 Cloud Resource Virtualization
Chapter 5 Cloud Resource Virtualization Contents Virtualization. Layering and virtualization. Virtual machine monitor. Virtual machine. Performance and security isolation. Architectural support for virtualization.
The Google File System
The Google File System By Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung (Presented at SOSP 2003) Introduction Google search engine. Applications process lots of data. Need good file system. Solution:
Enabling Technologies for Distributed Computing
Enabling Technologies for Distributed Computing Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF Multi-core CPUs and Multithreading Technologies
Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.
Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures
OPERATING SYSTEM SERVICES
OPERATING SYSTEM SERVICES USER INTERFACE Command line interface(cli):uses text commands and a method for entering them Batch interface(bi):commands and directives to control those commands are entered
COS 318: Operating Systems
COS 318: Operating Systems OS Structures and System Calls Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Outline Protection mechanisms
Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging
Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging In some markets and scenarios where competitive advantage is all about speed, speed is measured in micro- and even nano-seconds.
Network connectivity controllers
Network connectivity controllers High performance connectivity solutions Factory Automation The hostile environment of many factories can have a significant impact on the life expectancy of PCs, and industrially
Recording. http://www.qnap.com/nvr/compatibilityx01.html. Smart recording (depending on the camera models)
VS-2108L Hardware Spec. CPU Marvell 1.6GHz DRAM 512MB DDRIII RAM Flash Memory 512MB Hard Disk Drive 2 x 3.5" SATA I/II hard disk drive (HDD) NOTE: 1. The system is shipped without hard disk drives. 2.
Real 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
Introduction Disks RAID Tertiary storage. Mass Storage. CMSC 412, University of Maryland. Guest lecturer: David Hovemeyer.
Guest lecturer: David Hovemeyer November 15, 2004 The memory hierarchy Red = Level Access time Capacity Features Registers nanoseconds 100s of bytes fixed Cache nanoseconds 1-2 MB fixed RAM nanoseconds
Operator Touch Panel PC OTP/57V esom2586 / x86
Operator Touch Panel PC OTP/57V esom2586 / x86 3U Operator Touch Panel Device with 5.7 VGA LCD, Touch Screen, Embedded PC and Java 6 Product Information Description The OTP/57V is a compact PC-based open
Chapter 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
Product Description. Licenses Notice. Introduction TC-200
User Manual TC-200 Introduction TC-200 Product Description The TC-200 provides the fastest Thin Client performance on the market, It runs embedded Linux, swing user interface, Citrix 6.3, Microsoft RDP
Enabling Technologies for Distributed and Cloud Computing
Enabling Technologies for Distributed and Cloud Computing Dr. Sanjay P. Ahuja, Ph.D. 2010-14 FIS Distinguished Professor of Computer Science School of Computing, UNF Multi-core CPUs and Multithreading
Operating Systems. 05. Threads. Paul Krzyzanowski. Rutgers University. Spring 2015
Operating Systems 05. Threads Paul Krzyzanowski Rutgers University Spring 2015 February 9, 2015 2014-2015 Paul Krzyzanowski 1 Thread of execution Single sequence of instructions Pointed to by the program
COS 318: Operating Systems. Virtual Machine Monitors
COS 318: Operating Systems Virtual Machine Monitors Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Introduction Have been around
PERFORMANCE ENHANCEMENTS IN TreeAge Pro 2014 R1.0
PERFORMANCE ENHANCEMENTS IN TreeAge Pro 2014 R1.0 15 th January 2014 Al Chrosny Director, Software Engineering TreeAge Software, Inc. [email protected] Andrew Munzer Director, Training and Customer
