Singularity: Designing Be1er So3ware
|
|
- Victor Eustace Reeves
- 5 years ago
- Views:
Transcription
1 : Designing Be1er So3ware James Larus Microso. Research CAV July 10, 2008
2 MSR s Decade of Tools Progress (and Frustra?on) MSR has researched, developed, and deployed programming tools for 10+ years Struggle to bring tools to pracfce incomplete, informal specificafon unsafe languages (C) tenuous assumpfons (e.g., code completely known and immutable) VerificaFon and tesfng at a low level language features and library APIs persistent quesfon: are these the right bugs? So.ware development is inherently broken first we bug the so.ware, then we debug it People and organizafon may be more important than bugs and tesfng (another talk)
3 Microso. Research project with goal of more robust and reliable so.ware Verification Tools Safe Languages (C#) Improved OS Architecture Rethink the so.ware stack ArFculated architectural principles so.ware will fail, system should not system should be self- describing verify as many aspects as possible No single magic bullet mutually reinforcing improvements to languages and compilers, systems, and tools
4 in the News Judging from recent rumours, Unfortunately, that's this what willingness it is preparing to begin with to do. an entirely new Even foundation though is it not won't located be within in the Windows Windows group but 7, in Microsoft s research is happy arm, where scientists to talk and about their MinWin a heretical thoughts are safely isolated. slimmed Last down April, Microsoft version of publicly the unveiled Windows the five-year-old core. research It s even project, willing called. to discus It nothing its more than a neat project academic a exercise, microkernel-based not a glimpse of Windows operating 7. system written strictly for research is not the purposes. next Windows, But ask said Rich Rashid, the about company s a project senior code-named vice president overseeing Midori research. and Think everyone of it like clams a concept up. car.
5 Why Rethink So3ware Architecture? Multics Unix VMS Windows (NT) Linux Design parameters scarce resources assembly code benign environment knowledgeable users
6 The World Changed Hardware and so.ware industries were wildly successful machines are fast, memory is cheap computers are ubiquitous safe, high- level languages Malicious environment ubiquitous worms, viruses, scams, a[acks, Few users understand computers or so.ware
7 Key Tenets 1. Use safe (managed) programming languages everywhere safe type safe and memory safe (C# or Java) everywhere applicafons, extensions, OS services, device drivers, kernel, 2. Improve system resilience in the face of so.ware errors failure containment boundaries explicit failure nofficafon model 3. Modular verificafon design assuming automated analysis seal environments so verificafon can be sound make system self- describing, so pieces can be examined in isolafon specify and check behavior at many levels of abstracfon
8 Deemphasize Performance Easy to measure, but less important than dependability Good enough performance was goal has very good performance
9 OS Architecture channels content extension web server TCP/IP stack network driver Safe micro- kernel 95% wri[en in C# all services and drivers in processes processes ext. class library runfme server class library runfme tcp class library runfme driver class library runfme So.ware isolated processes (SIPs) all user code is verifiably safe some unsafe code in trusted runfme processes and kernel sealed at execufon kernel API CommunicaFon via channels channel behavior is specified and checked kernel page mgr scheduler chan mgr proc mgr i/o mgr kernel class library runfme fast and efficient communicafon Working research prototype not Windows replacement shared source download HAL
10 SIP Process Model Process contains only safe code except language runfme (GC) No shared memory communicate via messages Software Isolated Process SIP Kernel ABI Messages flow over bi- direcfonal channels well- defined & verifiable Small, versioned interface to kernel threads, memory, & channels Seal process on execufon no dynamic code loading no in- process plug- ins
11 Modern, safe programming languages Challenge 1: Pervasive Safe Languages preclude enfre categories of serious defects, e.g. buffer overruns easier to analyze is wri[en in Spec# C# + pre/post- condifons and invariants Language research to support abstracfons channel communicafons factor libraries into composable pieces compile- Fme reflecfon NaFve compiler and runfme system no bytecodes or MSIL (not JVM or CLR)
12 Run?me System JVM & CLR not appropriate for building systems Rich runfme ( one size fits all ) monolithic, general- purpose environment large memory footprint (~4 MB/process for CLR) many OS dependencies (CLR PAL requires >300 Win32 APIs) JIT compiler increases runfme size and complexity unpredictable performance Replicate OS funcfonality security, threading, configurafon, etc.
13 Run?me RunFme (GC, etc.) ApplicaFon Libraries Minimal run- Fme system Ahead- of- Fme, global opfmizing compiler (Bartok) specializes runfme and libraries Bartok Compiler eliminate unused language features and applicafon or library code Factorable runfme and libraries Process x86 Executable Language runfme, garbage collector, and libraries selectable on per- process basis reduce memory and computafon overhead enforce design discipline and system policies per process
14 Challenge 2: Improve Resilience Cannot build so.ware without defects verificafon is a chimera (but we could do a lot be[er) So.ware defects should not cause system failure A resilient system architecture should isolate system components to prevent data corrupfon provide clear failure nofficafon implement policy for restarfng failed component ExisFng system architectures lack isolafon and resilience
15 Open Process Architecture Process Ubiquitous (Windows, Unix, Java, browsers, etc.) DLLs, classes, plug- ins, device drivers, etc. Processes are not sealed dynamic code loading and runfme code generafon shared memory system API allow process to alter another s state Low dependability 85% of Windows crashes caused by third party code in kernel interface between host and extension o.en poorly documented and understood maintenance nightmare
16 Single Process Architecture App OS Runtime App TradiFonal safe language architecture Xerox PARC (Cedar, Smalltalk, etc.) and Lisp Machine model Java and.net as well Tangled code and data language safety provides some isolafon garbage collecfon must reclaim resources dynamic code loading and runfme code generafon runfme is single point of failure
17 Sealed Processes Process Kernel Extension Extension processes are sealed no dynamic code loading or run- Fme code generafon all code present when process starts execufon extensions execute in disfnct processes separate closed environments with well- defined interfaces no shared memory Fundamental unit of failure isolafon Enhance opfmizafon, verificafon, security closed world assumpfon is true!
18 Program Op?miza?on Program Code Whole Closed world allows global opfmizafon to eliminate unused code Reduces process code size by up to 75% Fewer code paths be[er opfmizafon & error analysis Code w/ Tree Shake % Reduction Kernel 2,371 KB 1,291 KB 46% Web Server 2,731 KB 765 KB 72% SPECweb99 Plug-in 2,144 KB 502 KB 77% IDE Disk Driver 1,846 KB 455 KB 75%
19 Complexity of Extensions Move register allocator from Bartok compiler to separate process one of 50 phases updates IR to assign registers and insert spill operafons 156 shared classes (IR + ISA) invoked per funcfon 6,441 calls in kernel compile 50KB to 1.5MB of data Bartok Compiler bartok.exe Register Allocator regalloc.dll Register Allocator regalloc.exe EuroSys 2007 Sealing OS Processes to Improve Dependability and Security 19
20 Code Complexity Code Lines % of Orig. Bartok Compiler 210, % Register Allocator 10, % Altered in Host % Limited Marshal Tags % Channel and Child % Total 220, % Child process adds <.25% (508 lines) to code base Time to compile kernel increases by 11% EuroSys 2007 Sealing OS Processes to Improve Dependability and 20 Security
21 Isola?on Requires Lightweight Processes TradiFonal processes rely on virtual memory and hardware domains legacy of assembly language era VM prevents reference into other address spaces protecfon prevents unprivileged code from access system resources Processes are expensive to create and schedule high cost to cross protecfon domains (rings), handle TLB misses, and manipulate address spaces Costs encourages monolithic architecture expensive process creafon and inter- process communicafon large, undifferenfated applicafons dynamically loaded extensions
22 So3ware Isolated Processes (SIPs) ProtecFon and isolafon enforced by language safety and kernel API design process has exclusive access to a set of pages all of process s objects reside on its pages (object space, not address space) language safety ensures process can t create or mutate reference to other pages everything can run in ring 0 in kernel memory (without the MMU)! Global invariants: no process contains a pointer to another process s object space no pointers from exchange heap into process P1 P2 P3
23 Interprocess Communica?ons Channels are strongly typed (value & behavior), bidirecfonal communicafons ports messages passing with language support Messages live outside processes ( exchange heap ) only a single reference to a message Mailbox semanfcs enforced by linear types copying and pointer passing are semanfcally indisfnguishable Channel buffers pre- allocated according to contract P1 P2 P3 exchange heap
24 Performance Micro Benchmarks Athlon (1.8GHz) nforce4 SLI FreeBSD 5.3 Cost (CPU Cycles) Linux (Red Hat FC4) Windows XP (SP2) Minimum kernel API call Message request/reply 1,041 13,300 5,800 6,340 Process create & start 388,000 1,030, ,000 5,380,000 Why? stafc verificafon replaces hardware protecfon all SIPs run in ring 0 good opfmizing compiler (not JIT)
25 OS Controls Resources and Security OS owns, allocates, and reclaims system resources convenfonal model On process terminafon, OS reclaims memory pages and channels not dependent on finalizafon or garbage collecfon Clean failure nofficafon messages in channel sfll available to other process Security policy on per- process crux is control of channels (capabilifes)
26 Would You Trust Your System to a Type System? Process integrity depends on type and memory safety currently trust compiler and runfme TAL can remove compiler from trusted compufng base Need to verify GC and runfme as well (research challenge) Sing# C# source csc sgc MSIL+ bartok TAL TCB TCB x86 system compiler verificafon byte code verificafon applicafon verificafon
27 S?ll Not Convinced? Hardware ProtecFon Domains virtual address space contains one or more SIPs runs at ring 0 ( kernel domain ) or ring 3 27
28 Domains: Monolithic Kernel App 1 App 2 App 3 File System Kernel Net Stack SIP Protection Domain Ring 3 Ring 0 28
29 Domains: Novel Models Unsigned App2 SIP Protection Domain App1 Signed Extension Unsigned Extension Ring 3 Ring 0 Unsigned Driver Signed Driver Kernel 29
30 Hardware is Costly Webfiles Macrobenchmark Unsafe Code Tax Safe Code Tax -4.7% +6.3% +18.9% +33.0% +37.7% No runtime checks Physical Memory Add VM Add Separate Address Space Add Ring 3 Full Microkernel
31 Challenge 3: Verify More channels processes content extension ext. class library Kernel API runfme web server server class library runfme kernel page mgr scheduler chan mgr proc mgr i/o mgr HAL TCP/IP stack tcp class library runfme kernel class library runfme network driver driver class library runfme Process internals (code): type safety object invariants method pre- & post- condifons component interfaces Process externals: channel contracts resource access & dependencies System: communicafon safety hardware resource conflict free namespace conflict free
32 Boogie and Network device driver Hardware interacfons Registers, DMA, etc. Layered objects Main object owns others Driven by WDF interface Scheduler (kernel) Global properfes Interrupts, lock levels, etc. Strongly coupled objects Many object references Concurrent Order of invocafons Interrupts, mulfthreading Use Boogie to verify interesting properties in both contexts (Kevin Bierhoff 2007) 32
33 Example: Channel Contracts public contract IoStream {... state Start : { Open? -> { OK! -> Opened; Error! -> End; } } state Opened : { Read? -> Data! -> Opened; Write? -> OK! -> Opened; Close? -> OK! -> End; } state End;... }? = receive! = send Start Open? -> OK! Opened Open? -> Error! Read? -> Data! Write? -> OK! End Close? -> OK!
34 Example: Contract Conformance Contract public contract TcpSocketContract {... state Connected : { Read? -> ReadResultPending; Write? -> WriteResultPending; } GetLocalAddress? -> IPAddress! -> Connected; GetLocalPort? -> Port! -> Connected; DoneSending? -> ReceiveOnly; DoneReceiving? -> SendOnly; Close? -> Closed; Abort? -> Closed; state ReadResultPending : { Data! -> Connected; NoMoreData! -> SendOnly; RemoteClose! -> Zombie; }... conn.sendread(); switch receive { case conn.data(readdata) : }... Web Server (User) databuffer.addtotail(readdata); return true; case conn.remoteclose() : return false; Missing Case case conn.nomoredata() :
35 Example: [DriverCategory] [Signature("/pci/03/00/5333/8811")] Configura?on Specifica?ons class S3Trio64Config : DriverCategoryDeclaration { [IoMemoryRange(0, Length = 0x400000)] IoMemoryRange framebuffer; requires PCI Device requires 4MB frame buffer (from in PCI config) requires system console buffer [IoFixedMemoryRange(Base = 0xb8000, Length = 0x8000)] IoMemoryRange textbuffer; requires VGA I/O ports... [IoFixedPortRange(Base = 0x3c0, Length = 0x20)] IoPortRange control; [ExtensionEndpoint(typeof(ExtensionContract.Exp))] TRef<ExtensionContract.Exp:Start> pnp; [ServiceEndpoint(typeof(VideoDeviceContract.Exp))] TRef<ServiceProviderContract.Exp:Start> video;... requires control by plug-and-play system Provides video capability to system
36 Specifica?on Usable in Many Ways Conflict Driver (Source + Spec) Driver Manifest System Manifest 1. Load driver 2. Allocate I/O objects 3. Create channels File System Disk Driver driver class library runfme kernel page mgr scheduler chan mgr proc mgr i/o mgr HAL kernel class library runfme
37 Architecture & Verifica?on So.ware architecture can enhance verificafon modern programming language with appropriate abstracfons sealed processes explicit communicafons across typed channels specificafons throughout system VerificaFon community should be involved in system design your insights and contribufons can make so.ware be[er (e.g. TM) improved reliability and robustness are achievable verify what they build approach complicates verificafon and produces poor so.ware Challenge: make reliability and robustness more important than performance
38 Conclusion Can we fundamentally improve the dependability of so3ware? (yes) Reexamine and rethink language, OS, and system architecture assumpfons OS should control applicafon s execufon environment new mechanisms to enhance system integrity, verifiability, and dependability Programming languages and runfme systems are central to new architecture is a complete (but simple) system safe languages all the way down to the hardware OS architecture improves system integrity and verificafon many more aspects of system behavior are verifiable project is done using in small computer (cphone) working with incubafon team that is expanding
39 Obtaining Info: h[p://research.microso..com/os/singularity Code: h[p://
40 Research Team Lead by Galen Hunt and Jim Larus MSR Cambridge Paul Barham, Richard Black, Tim Harris, Rebecca Isaacs, Dushyanth Narayanan MSR Redmond Advanced Compiler Technology Group: Juan Chen, Qunyan Mangus, Mark Plesko, Bjarne Steensgaard, David TardiF FoundaFons of So.ware Engineering Group: Wolfgang Grieskamp OperaFng Systems Group: Mark Aiken, Chris Hawblitzel, Orion Hodson, Galen Hunt, Steven Levi Security and Distributed Systems: Dan Simon, Brian Zill So.ware Design and ImplementaFon Group: John DeTreville, Ben Zorn So.ware Improvement Group: Manuel Fahndrich, James Larus, Sriram Rajamani, Jakob Rehof MSR Silicon Valley MarFn Abadi, Andrew Birrell, Ulfar Erlingsson, Roy Levin, Nick Murphy, Ted Wobber
Using the Singularity Research Development Kit
Using the Research Development Kit James Larus & Galen Hunt Microsoft Research ASPLOS 08 Tutorial March 1, 2008 Outline Overview (Jim) Rationale & key decisions architecture Details (Galen) Safe Languages
More informationAbolish Runtime Systems!
Abolish Runtie Systes! Operating Systes Should Control the Execution Environent Jaes Larus Microsoft Research Second International Conference on Virtual Execution Environents June 14, 2006 If you coe to
More informationSingularity Reviewed an Operating System Challenging Common Concepts
an Operating System Challenging Common Concepts by Lothar Schäfer lothar.schaefer@sbg.ac.at Overview Singularity is a research operating system at Microsoft Research. The project started in 2003 and is
More informationThe Singularity System
doi:1145/1787234.1787253 Safe, modern programming languages let Microsoft rethink the architectural trade-offs in its experimental operating system. by James Larus and Galen Hunt The Singularity System
More informationSealing OS Processes to Improve Dependability and Security
Sealing OS Processes to Improve Dependability and Security Galen Hunt, Mark Aiken, Paul Barham, Manuel Fähndrich, Chris Hawblitzel, Orion Hodson, James Larus, Steven Levi, Nick Murphy, Bjarne Steensgaard,
More informationSingularity Part 2. Jeff Chase
Singularity Part 2 Jeff Chase Today Singularity: abstractions How do processes interact? Communicate / share Combine (De)compose Extend How to invoke the kernel? User processes / VAS / segments kernel
More informationSingularity Technical Report 1: Singularity Design Motivation
Singularity Technical Report 1: Singularity Design Motivation Galen C. Hunt James R. Larus December 17, 2004 MSR-TR-2004-105 Microsoft Research Microsoft Corporation One Microsoft Way Redmond, WA 98052
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 information6.828: OS/Language Co-design. Adam Belay
6.828: OS/Language Co-design Adam Belay Singularity An experimental research OS at Microsoft in the early 2000s Many people and papers, high profile project Influenced by experiences at
More informationAlterna(ve Architectures
Alterna(ve Architectures COMS W4118 Prof. Kaustubh R. Joshi krj@cs.columbia.edu hep://www.cs.columbia.edu/~krj/os References: Opera(ng Systems Concepts (9e), Linux Kernel Development, previous W4118s Copyright
More informationCloud Programming James Larus Microsoft Research. July 13, 2010
Cloud Programming James Larus Microsoft Research July 13, 2010 New Programming Model, New Problems (and some old, unsolved ones) Concurrency Parallelism Message passing Distribution High availability Performance
More informationChapter 2. Operating-System Structures
Chapter 2 Operating-System Structures 2.1 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System
More informationChapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.
Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Java platform. Applets and applications. Java programming language: facilities and foundation. Memory management
More informationOperating Systems. Operating System Structure. Lecture 2 Michael O Boyle
Operating Systems Operating System Structure Lecture 2 Michael O Boyle 1 Overview Architecture impact User operating interaction User vs kernel Syscall Operating System structure Layers Examples 2 Lower-level
More informationChapter 2: Operating-System Structures
Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System
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 informationCSE P 501 Compilers. Memory Management and Garbage Collec<on Hal Perkins Winter UW CSE P 501 Winter 2016 W-1
CSE P 501 Compilers Memory Management and Garbage Collec
More informationChapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on
Chapter 2: Operating-System Structures Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures 1. Operating System Services 2. User Operating System
More informationOS concepts and structure. q OS components & interconnects q Structuring OSs q Next time: Processes
OS concepts and structure q OS components & interconnects q Structuring OSs q Next time: Processes OS Views Perspectives, OS as the services it provides its components and interactions Services to Users
More informationChapter 2: Operating-System Structures
Chapter 2: Operating-System Structures Silberschatz, Galvin and Gagne 2009 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System
More informationChapter 2: Operating-System Structures. Operating System Concepts Essentials 8 th Edition
Chapter 2: Operating-System Structures Operating System Concepts Essentials 8 th Edition Silberschatz, Galvin and Gagne 2011 Chapter 2: Operating-System Structures Operating System Services User Operating
More informationOS and Computer Architecture. Chapter 3: Operating-System Structures. Common System Components. Process Management
Last class: OS and Architecture OS and Computer Architecture OS Service Protection Interrupts System Calls IO Scheduling Synchronization Virtual Memory Hardware Support Kernel/User Mode Protected Instructions
More informationChapter 2: Operating-System Structures
Chapter 2: Operating-System Structures 2.1 Silberschatz, Galvin and Gagne 2009 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System
More informationELEC 377 Operating Systems. Week 1 Class 2
Operating Systems Week 1 Class 2 Labs vs. Assignments The only work to turn in are the labs. In some of the handouts I refer to the labs as assignments. There are no assignments separate from the labs.
More informationChapter 2: Operating-System
Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services! User Operating System Interface! System Calls! Types of System Calls! System Programs! Operating
More informationOperating- System Structures
Operating- System Structures 2 CHAPTER Practice Exercises 2.1 What is the purpose of system calls? Answer: System calls allow user-level processes to request services of the operating system. 2.2 What
More informationOperating Systems. Designed and Presented by Dr. Ayman Elshenawy Elsefy
Operating Systems Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. AL-AZHAR University Website : eaymanelshenawy.wordpress.com Email : eaymanelshenawy@yahoo.com Reference
More informationOperating System Structure
CSE325 Principles of Operating Systems Operating System Structure David Duggan dduggan@sandia.gov January 24, 2013 A View of Operating System Services 1/24/13 CSE325 - OS Structure 2 Operating System Design
More informationOperating-System Structures
Operating-System Structures Chapter 2 Operating System Services One set provides functions that are helpful to the user: User interface Program execution I/O operations File-system manipulation Communications
More informationChapter 2: Operating-System Structures
Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System
More informationFull file at
Import Settings: Base Settings: Brownstone Default Highest Answer Letter: D Multiple Keywords in Same Paragraph: No Chapter: Chapter 2 Multiple Choice 1. A is an example of a systems program. A) command
More informationProcess Address Spaces and Binary Formats
Process Address Spaces and Binary Formats Don Porter Background We ve talked some about processes This lecture: discuss overall virtual memory organizafon Key abstracfon: Address space We will learn about
More informationCHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.
CHAPTER 2: SYSTEM STRUCTURES By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 2: System Structures Operating System Services User Operating System Interface System Calls Types of System
More informationChapter 2: Operating-System Structures
Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls (important!) Types of System Calls (important!) System
More informationThe benefits and costs of writing a POSIX kernel in a high-level language
1 / 38 The benefits and costs of writing a POSIX kernel in a high-level language Cody Cutler, M. Frans Kaashoek, Robert T. Morris MIT CSAIL Should we use high-level languages to build OS kernels? 2 / 38
More informationChapter 3: Operating-System Structures
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1
More informationChapter 2: Operating-System Structures. Operating System Concepts 9 th Edition
Chapter 2: Operating-System Structures Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System
More informationChapter 3: Operating-System Structures
1 Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1
More informationLast class: OS and Architecture. OS and Computer Architecture
Last class: OS and Architecture OS and Computer Architecture OS Service Protection Interrupts System Calls IO Scheduling Synchronization Virtual Memory Hardware Support Kernel/User Mode Protected Instructions
More informationLast class: OS and Architecture. Chapter 3: Operating-System Structures. OS and Computer Architecture. Common System Components
Last class: OS and Architecture Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation
More informationThe Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams.
The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams. Operating System Services User Operating System Interface
More informationConcurrent systems Lecture 1: Introduction to concurrency, threads, and mutual exclusion
Concurrent systems Lecture 1: Introduction to concurrency, threads, and mutual exclusion Michaelmas 2016 Dr Robert N. M. Watson (With thanks to Dr Steven Hand) 1 Concurrent and distributed systems One
More informationOS Structure. Kevin Webb Swarthmore College January 25, Relevant xkcd:
OS Structure Kevin Webb Swarthmore College January 25, 2018 Relevant xkcd: One of the survivors, poking around in the ruins with the point of a spear, uncovers a singed photo of Richard Stallman. They
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 informationRISCV with Sanctum Enclaves. Victor Costan, Ilia Lebedev, Srini Devadas
RISCV with Sanctum Enclaves Victor Costan, Ilia Lebedev, Srini Devadas Today, privilege implies trust (1/3) If computing remotely, what is the TCB? Priviledge CPU HW Hypervisor trusted computing base OS
More informationKeep Learning with Oracle University
Keep Learning with Oracle University Classroom Training Learning SubscripFon Live Virtual Class Training On Demand Cloud Technology ApplicaFons Industries educa7on.oracle.com 3 Session Surveys Help us
More informationOS structure. Process management. Major OS components. CSE 451: Operating Systems Spring Module 3 Operating System Components and Structure
CSE 451: Operating Systems Spring 2012 Module 3 Operating System Components and Structure Ed Lazowska lazowska@cs.washington.edu Allen Center 570 The OS sits between application programs and the it mediates
More informationChapter 2: Operating-System Structures. Chapter 2: Operating-System Structures. Objectives. Operating System Services
Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System
More informationChapter 1 INTRODUCTION SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC.
hapter 1 INTRODUTION SYS-ED/ OMPUTER EDUATION TEHNIQUES, IN. Objectives You will learn: Java features. Java and its associated components. Features of a Java application and applet. Java data types. Java
More informationMessage Passing. Advanced Operating Systems Tutorial 5
Message Passing Advanced Operating Systems Tutorial 5 Tutorial Outline Review of Lectured Material Discussion: Barrelfish and multi-kernel systems Programming exercise!2 Review of Lectured Material Implications
More informationConcurrent systems Lecture 1: Introduction to concurrency, threads, and mutual exclusion
Concurrent systems Lecture 1: Introduction to concurrency, threads, and mutual exclusion Michaelmas 2017 Dr Robert N. M. Watson (With thanks to Dr Steven Hand) 1 Concurrent and distributed systems One
More informationINFLUENTIAL OS RESEARCH
INFLUENTIAL OS RESEARCH Multiprocessors Jan Bierbaum Tobias Stumpf SS 2017 ROADMAP Roadmap Multiprocessor Architectures Usage in the Old Days (mid 90s) Disco Present Age Research The Multikernel Helios
More informationEEE 435 Principles of Operating Systems
EEE 435 Principles of Operating Systems Operating System Structure (Modern Operating Systems 1.7) Outline Operating System Structure Monolithic Systems Layered Systems Virtual Machines Exokernels Client-Server
More informationJava Internals. Frank Yellin Tim Lindholm JavaSoft
Java Internals Frank Yellin Tim Lindholm JavaSoft About This Talk The JavaSoft implementation of the Java Virtual Machine (JDK 1.0.2) Some companies have tweaked our implementation Alternative implementations
More informationLecture Notes on Garbage Collection
Lecture Notes on Garbage Collection 15-411: Compiler Design André Platzer Lecture 20 1 Introduction In the previous lectures we have considered a programming language C0 with pointers and memory and array
More informationWhat are some common categories of system calls? What are common ways of structuring an OS? What are the principles behind OS design and
What are the services provided by an OS? What are system calls? What are some common categories of system calls? What are the principles behind OS design and implementation? What are common ways of structuring
More informationFiji VM Safety Critical Java
Fiji VM Safety Critical Java Filip Pizlo, President Fiji Systems Inc. Introduction Java is a modern, portable programming language with wide-spread adoption. Goal: streamlining debugging and certification.
More informationBuffer overflow background
and heap buffer background Comp Sci 3600 Security Heap Outline and heap buffer Heap 1 and heap 2 3 buffer 4 5 Heap Outline and heap buffer Heap 1 and heap 2 3 buffer 4 5 Heap Address Space and heap buffer
More informationArchitectural Support for Operating Systems. Jinkyu Jeong ( Computer Systems Laboratory Sungkyunkwan University
Architectural Support for Operating Systems Jinkyu Jeong ( jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics Basic services of OS Basic computer system
More informationStudent Name:.. Student ID... Course Code: CSC 227 Course Title: Semester: Fall Exercises Cover Sheet:
King Saud University College of Computer and Information Sciences Computer Science Department Course Code: CSC 227 Course Title: Operating Systems Semester: Fall 2016-2017 Exercises Cover Sheet: Final
More informationCS 153 Design of Operating Systems
CS 153 Design of Operating Systems Winter 19 Lecture 2: Historical perspective Instructor: Nael Abu-Ghazaleh Last time What is an OS? What roles does it play? Today: Historic evolution of Operating Systems
More informationConstruction and Reconfiguration of a Component-based Embedded JVM
IJCSNS International Journal of Computer Science and Network Security, VOL.8 No.7, July 2008 29 Construction and Reconfiguration of a Component-based Embedded JVM Hiroo Ishikawa and Tatsuo Nakajima, Department
More informationLast Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 4, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
More informationChapter 2: System Structures
Chapter 2: System Structures Chapter 2: System Structures 2.1 Operating-System Services 2.2 User and Operating-System Interface 2.3 System Calls 2.4 Types of System Calls 2.5 System Programs 2.6 Operating-System
More informationOperating-System Structures
Recap Chapter 2: Operating-System Structures Presented By: Dr. El-Sayed M. El-Alfy Note: Most of the slides are compiled from the textbook and its complementary resources From: OS by Tanenbaum, 2008 March
More informationCS 261 Fall Mike Lam, Professor. Virtual Memory
CS 261 Fall 2016 Mike Lam, Professor Virtual Memory Topics Operating systems Address spaces Virtual memory Address translation Memory allocation Lingering questions What happens when you call malloc()?
More informationXen and the Art of Virtualization
Xen and the Art of Virtualization Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield Presented by Thomas DuBuisson Outline Motivation
More informationChapter 3: Operating-System Structures
Chapter 3: Operating-System Structures System Components Operating System Services System Calls POSIX System Programs System Structure Virtual Machines System Design and Implementation System Generation
More informationOperating Systems: Internals and Design Principles. Chapter 2 Operating System Overview Seventh Edition By William Stallings
Operating Systems: Internals and Design Principles Chapter 2 Operating System Overview Seventh Edition By William Stallings Operating Systems: Internals and Design Principles Operating systems are those
More informationOS Design Approaches. Roadmap. OS Design Approaches. Tevfik Koşar. Operating System Design and Implementation
CSE 421/521 - Operating Systems Fall 2012 Lecture - II OS Structures Roadmap OS Design and Implementation Different Design Approaches Major OS Components!! Memory management! CPU Scheduling! I/O Management
More informationJavaOS. David Burhans 2/3/2003 CS384 Dr. Taylor
JavaOS David Burhans 2/3/2003 CS384 Dr. Taylor Table of Contents JavaOS... 1 Table of Contents...i Table of Figures...ii Background... 1 Java... 1 Bytecode... 2 JavaOS... 2 Supported Computing Models...
More informationOutline. Threads. Single and Multithreaded Processes. Benefits of Threads. Eike Ritter 1. Modified: October 16, 2012
Eike Ritter 1 Modified: October 16, 2012 Lecture 8: Operating Systems with C/C++ School of Computer Science, University of Birmingham, UK 1 Based on material by Matt Smart and Nick Blundell Outline 1 Concurrent
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 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 informationOperating System Security
Operating System Security Operating Systems Defined Hardware: I/o...Memory.CPU Operating Systems: Windows or Android, etc Applications run on operating system Operating Systems Makes it easier to use resources.
More informationObjectives. Chapter 2: Operating-System Structures. 2.1 Operating System Services
Objectives Chapter 2: Operating-System Structures To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system
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 informationOperating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services
Operating System Services One set of services for users The other set of services for system operations Operating Systems Structures Notice: This set of slides is based on the notes by Professor Perrone
More informationCOS 318: Operating Systems
COS 318: Operating Systems OS Structures and System Calls Prof. Margaret Martonosi Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall11/cos318/ Outline Protection
More informationHigh-Level Language VMs
High-Level Language VMs Outline Motivation What is the need for HLL VMs? How are these different from System or Process VMs? Approach to HLL VMs Evolutionary history Pascal P-code Object oriented HLL VMs
More informationChapter 2: System Structures
Chapter 2: Operating System Structures Operating System Services System Calls Chapter 2: System Structures System Programs Operating System Design and Implementation Operating System Structure Virtual
More informationChapter 2: System Structures. Operating System Concepts 9 th Edition
Chapter 2: System Structures Silberschatz, Galvin and Gagne 2013 Chapter 2: System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs
More informationChapter 2: Operating-System Structures. Operating System Concepts 8 th Edition
Chapter 2: Operating-System Structures Operating System Concepts 8 th Edition Silberschatz, Galvin and Gagne 2009 Chapter 2: Operating-System Structures Different Services of Operating System. System Calls-
More informationOperating System: Chap2 OS Structure. National Tsing-Hua University 2016, Fall Semester
Operating System: Chap2 OS Structure National Tsing-Hua University 2016, Fall Semester Outline OS Services OS-Application Interface OS Structure Chapter2 OS-Structure Operating System Concepts NTHU LSA
More informationCSC Operating Systems Fall Lecture - II OS Structures. Tevfik Ko!ar. Louisiana State University. August 27 th, 2009.
CSC 4103 - Operating Systems Fall 2009 Lecture - II OS Structures Tevfik Ko!ar Louisiana State University August 27 th, 2009 1 Announcements TA Changed. New TA: Praveenkumar Kondikoppa Email: pkondi1@lsu.edu
More informationAnnouncements. Computer System Organization. Roadmap. Major OS Components. Processes. Tevfik Ko!ar. CSC Operating Systems Fall 2009
CSC 4103 - Operating Systems Fall 2009 Lecture - II OS Structures Tevfik Ko!ar TA Changed. New TA: Praveenkumar Kondikoppa Email: pkondi1@lsu.edu Announcements All of you should be now in the class mailing
More informationPROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18
PROCESS VIRTUAL MEMORY CS124 Operating Systems Winter 2015-2016, Lecture 18 2 Programs and Memory Programs perform many interactions with memory Accessing variables stored at specific memory locations
More informationHJ- OpenCL: Reducing the Gap Between the JVM and Accelerators
HJ- OpenCL: Reducing the Gap Between the JVM and Accelerators Max Grossman, Shams Imam, Vivek Sarkar Habanero Extreme Scale So8ware Research Group Rice University JVM: A Portable AbstracCon JVM: placorm-
More informationAdvanced Programming & C++ Language
Advanced Programming & C++ Language ~6~ Introduction to Memory Management Ariel University 2018 Dr. Miri (Kopel) Ben-Nissan Stack & Heap 2 The memory a program uses is typically divided into four different
More informationLecture 4: Threads; weaving control flow
Lecture 4: Threads; weaving control flow CSE 120: Principles of Operating Systems Alex C. Snoeren HW 1 Due NOW Announcements Homework #1 due now Project 0 due tonight Project groups Please send project
More informationEfficient Software Based Fault Isolation. Software Extensibility
Efficient Software Based Fault Isolation Robert Wahbe, Steven Lucco Thomas E. Anderson, Susan L. Graham Software Extensibility Operating Systems Kernel modules Device drivers Unix vnodes Application Software
More informationArchitectural Support for Operating Systems
OS and Architectures Architectural Support for Operating Systems Emin Gun Sirer What an OS can do is dictated, at least in part, by the architecture. Architecture support can greatly simplify (or complicate)
More informationProcesses and Threads
COS 318: Operating Systems Processes and Threads Kai Li and Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall13/cos318 Today s Topics u Concurrency
More informationSystem Call. Preview. System Call. System Call. System Call 9/7/2018
Preview Operating System Structure Monolithic Layered System Microkernel Virtual Machine Process Management Process Models Process Creation Process Termination Process State Process Implementation Operating
More informationUtilizing Linux Kernel Components in K42 K42 Team modified October 2001
K42 Team modified October 2001 This paper discusses how K42 uses Linux-kernel components to support a wide range of hardware, a full-featured TCP/IP stack and Linux file-systems. An examination of the
More informationCS307: Operating Systems
CS307: Operating Systems Chentao Wu 吴晨涛 Associate Professor Dept. of Computer Science and Engineering Shanghai Jiao Tong University SEIEE Building 3-513 wuct@cs.sjtu.edu.cn Download Lectures ftp://public.sjtu.edu.cn
More informationL4/Darwin: Evolving UNIX. Charles Gray Research Engineer, National ICT Australia
L4/Darwin: Evolving UNIX Charles Gray Research Engineer, National ICT Australia charles.gray@nicta.com.au Outline 1. Project Overview 2. BSD on the Mach microkernel 3. Porting Darwin to the L4 microkernel
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 informationCHAPTER 16 - VIRTUAL MACHINES
CHAPTER 16 - VIRTUAL MACHINES 1 OBJECTIVES Explore history and benefits of virtual machines. Discuss the various virtual machine technologies. Describe the methods used to implement virtualization. Show
More informationProcesses, Threads and Processors
1 Processes, Threads and Processors Processes and Threads From Processes to Threads Don Porter Portions courtesy Emmett Witchel Hardware can execute N instruction streams at once Ø Uniprocessor, N==1 Ø
More information