Advanced Operating Systems ( L)
|
|
|
- Charles Hampton
- 10 years ago
- Views:
Transcription
1 Advanced Operating Systems ( L) Timothy Roscoe Fall Systems Group Department of Computer Science ETH Zürich 1
2 Week 3: OS Architecture, Threads, and Dispatch ( L) Timothy Roscoe Fall Systems Group Department of Computer Science ETH Zürich 2
3 What today is about The structure of an OS How threads can be implemented How the kernel is organized How the rest of the OS is arranged Preparation for next week's assignment: Self paging, and handling upcalls 3
4 OS Architecture 4
5 What is Operating System Architecture? Coarse grained structure of the OS How the complexity is factored Mapping onto: Programming language features Execution environment presented to applications Address spaces Hardware protection features (rings, levels, etc.) Execution patterns (subroutines, threads,. coroutines) Hardware execution (interrupts, traps, call gates) 5
6 Architectural models There are many, and they are models! Idealized, extreme view of how system is structured Real systems always entail compromises Hard to convey it s good to build a few Think of these as tools for thinking about OSes Each has its reasons Solve particular problems at particular times 6
7 1. Monolithic / componentbased systems Examples: Cedar [Swinehart et al., 1986] TinyOS [Hill et al., 2004] Oberon Singularity [Hunt and Larus, 2007] Hardware provides time multiplexing Interrupts threads (in Cedar s case) Language provides modularity & protection Module calls Inter thread communication 7
8 Protection based componentbased systems Examples: KeyKOS [Bromberger et al., 1992] Pebble [Bruna et al., 1999] Even simpler kernel than microkernels Kernel only mediates protection domain switches Scheduling, threads, etc. implemented in user space Aimed at: High security (very small TCB) Embedded systems (highly configurable) 8
9 2. Kernel based systems Examples: Unix [Thompson, 1974], VMS,Windows NT/XP/Vista/7 Hardware enforces user vs. kernel mode Machine in user space multiplexed into address spaces Kernel provides: All shared services All device abstraction 9
10 3. Microkernels Examples: L4, Mach, Amoeba, Chorus Kernel provides: Threads Address spaces IPC All other functionality in server processes Device drivers File systems Etc. Instead of syscalls, applications send IPC to servers 10
11 4. Exokernels Kernel provides minimal multiplexing of h/w All other functionality in userspace libraries Unlike microkernels, where this in servers LibraryOS concept Enables: Strong isolation between applications High degree of application specific policies 11
12 Exokernel systems Two different systems. Two different motivations: 1. Complexity, adaptability, performance Aegis [Kaashoek et al., 1997] 2. QoS crosstalk Nemesis [Leslie et al., 1996] Both approaches are similar: Exterminate OS abstractions Move all code possible into the application s address space library OSes 12
13 Aegis motivation Exterminate all OS abstractions! A traditional OS or a microkernel such as L4: Multiplexes physical resources Shared, secure access to CPU, memory, network, etc. Abstracts the same physical resources Processes/threads, address spaces, virtual file system, network stack Multiplexing is required for security... but why should an OS abstract what it multiplexes? 13
14 Nemesis motivation Eliminate QoS crosstalk Consider a network stack: Layered protocol implementation Multiplex at each layer Conceptually, each layer is a process C.f. early Comer books = Multiplexing point HTTP DNS Etc. TCP UDP ICMP IP Appletalk... Protocol? NIC driver 14
15 Consequences Pluses: Conceptually simple, easy to code Efficient resource usage Minuses: Application of packet only known at top of stack QoS every multiplexing point must schedule Disaster for multimedia / realtime mix QoS Crosstalk 15
16 Layered multiplexing considered harmful Mux once, down low Rx: HTTP DNS Find target app first TCP UDP Tx: Then execute protocol IP IP Etc. Construct the wire format Encap Encap Encap Check it and mux last All packets scheduled with the application NIC driver Works great with circuits! 16
17 Server based monolithic OS Video player Multiplexing Web browser points! Audio Server X Server Compiler Monolithic Kernel 17
18 Multiplexing points in operating system kernels Every server process is effectively multiplexing some resource needs to schedule it. needs to know system wide scheduling policy must be trusted to apply it has to cope with contention and locks is operating outside the control of any application 18
19 Microkernels? Word processor Window system Video player Network stack Compiler Complexity Nightmare! Filing system Video driver Audio driver Audio server Disk driver Network driver μkernel 19
20 Result: chaos and crosstalk System is full of shared servers Each with resource contention Each has no application knowledge Multiple levels of dependency No kernel scheduling algorithm can help No IPC performance will help Relevant early 90s work: SVR4 scheduler unacceptable paper Processor Capacity Reserves (complexity!) Resource Containers (ignore the problem!) 20
21 Nemesis Written for uniprocessor Alpha, bit single address space Not a fundamental design motivation, as in Mungi Multi service operating system Mixture of soft real time, communication oriented, interactive, batch jobs Designed for workstations Strong networking influence Published in JSAC! 21
22 What is (in) an application? In an Exokernel, functionally, everything: User code Network stack Filing system Window system Low level I/O Intra application communication 22
23 Is this actually achievable? No. But very nearly Kernel overhead scheduling fudge factor Resource contention move out of band (reservations/leases) short, bounded atomic sections 23
24 Nemesis Application domains Video player Threads package Word processor Coroutine package Compiler Window System Filing system Network stack Disk driver Video driver Audio driver Network driver Window System Filing system Network stack Disk driver Video driver Network driver Filing system Network stack Disk driver Network driver Nemesis Trusted Supervisor Code (NTSC) 24
25 Nemesis in action: 25
26 Programmability questions Isn t it all rather complex to move functionality into the app? No: libraries do what the kernel or servers used to do. Does the flexibility impact performance? No: protection checks are mostly off the fast path Each application can efficiently implement its policy What happens on a multiprocessor? Unclear: a multiprocessor kernel requires plenty of embedded policy (e.g. locks) Attempts to produce MP exokernels have not been as dramatically better at performance See Barrelfish later 26
27 Exokernel challenges Can you really expose all the hardware to the application and still stay sane? Can you multiplex the machine securely while removing (most) abstraction? Apparently, yes: Threads and processes: see scheduler activations! Networking: packet filtering Disks (file systems): block or track level protection, careful management of metadata Window system: similar; blit tiles into protected windows Self paging 27
28 Kernel thread models: How the kernel provides threads 28
29 Kernel thread models Key design choices when implementing an OS: Support for > 1 execution context in the kernel? Where is the stack for executing kernel code? Can kernel code block? If so, how? Result: the kernel thread model. 29
30 Kernel thread models 2 basic alternatives: 1. Per thread kernel stack: Every thread has a matching kernel stack 2. Single kernel stack: Only one stack is used in the kernel (per core). 30
31 Per thread kernel stack Every user thread/process has its own kernel stack Thread s kernel state implicitly stored in kernel activation stack A kernel thread blocks switch to another kernel stack Resuming: simply switch back to original stack Preemption is easy No conceptual difference between kernel and usermode example(arg1, arg2) { P1(arg1, arg2); if (need_to_block) { thread_block(); P2(arg2); } else { P3(); } /* return to user */ return SUCCESS; } 31
32 Single kernel stack Challenges: How can a single kernel stack support many application processes/threads? How to handle system calls that block? Two basic approaches: 1. Continuations [Draves et al., 1991] 2. Stateless kernel [Ford et al., 1999] 32
33 Continuations State to resume blocked thread explicitly saved in TCB Function pointer Variables Stack can be discarded and reused for new thread Resuming involves discarding current stack and restoring the continuation example(arg1, arg2) { P1(arg1, arg2); if (need_to_block) { save_context_in_tcb; thread_block(example_continue); panic("thread_block returned"); } else { P3(); } thread_syscall_return(success); } example_continue() { recover_context_from_tcb; P2(recovered arg2); thread_syscall_return(success); } 33
34 Stateless kernel System calls simply do not block within kernel If a system call must block: User must restart call when resources are available Kernel stack content discarded Preemption within kernel difficult Must (partially) roll back to a restart point But may not be necessary with careful design Avoid page faults within kernel code System call arguments in registers Nested page fault is fatal 34
35 Kernel stack model summary Per thread kernel stack Simple, flexible Kernel can always use threads No special technique for saving state when interrupted/blocked No conceptual difference between kernel and user mode Larger cache and memory footprint Used by L4Ka::Pistachio, UNIX, Linux, etc. 35
36 Kernel stack model summary Single kernel stack Lower cache & memory footprint (always the same stack) Continuations: Complex to program Must save state conservatively (whatever might be needed) Used by Mach, NICTA::Pistachio 36
37 Kernel stack model summary Single kernel stack Lower cache & memory footprint (always the same stack) Stateless kernel: Also complex to program Must request all resources prior to execution Blocking system calls must be restartable Processor provided stack mgmt. can get in the way System calls need to be atomic Used by Fluke, Nemesis, Exokernel, Barrelfish 37
38 Why build a stateless kernel? It is the simplest model, if all kernel invocations are: Atomic Non blocking Bounded and short running Non preemptable Guaranteed not to page fault Restrictive, but quite appropriate for a uniprocessor μkernel with no blocking IPC. 38
39 User thread models: Building user threads over kernel threads 39
40 The problem Threads are a programming language abstraction (different, possibly parallel activities) should be lightweight, in the language runtime Threads are a kernel abstraction (virtual or physical processors) way to manage big resources like CPUs Threads need to communicate (either within or between address spaces) Thread and IPC performance critical to applications 40
41 What are the options? 1. Implement multiple threads over a single virtual CPU (kernel thread) Perhaps many VCPUs per process 2. One user level thread per virtual CPU Multiple kernel threads in a process 3. Some combination of the above Multiplex user threads over kernel threads 41
42 1. Many to one threads User Kernel CPU 0 CPU 1 42
43 1. Many to one threads Early thread libraries Green threads (original Java VM) GNU Portable Threads Standard student exercise: implement them! Sometimes called pure user level threads No kernel support required Also (confusingly) Lightweight Processes 43
44 Address space layout for user level threads Thread 1 stack Stack BSS Data Text Just allocate on the heap Thread 3 stack Thread 2 stack BSS Data Text 44
45 User level threads Older Unices, etc. High performance 10x procedure call Scalable Flexible (application specific) Treat a process as a virtual processor But it isn t: Page faults I/O Multiprocessors 45
46 2. One to one threads User Kernel CPU 0 CPU 1 46
47 2. One to one user threads Every user thread is/has a kernel thread. Equivalent to: multiple processes sharing an address space Except that process now refers to a group of threads Most modern OS threads packages: Linux, Solaris, Windows XP, MacOSX, etc. 47
48 One to one user threads Thread 1 stack Stack Thread 2 stack Thread 3 stack BSS Data Text BSS Data Text 48
49 Kernel threads Linux, Vista, L4, etc. Excellent integration with the OS Slow similar to process switch time Inflexible kernel policy Evidence: people implemented user level threads over kernel threads anyway same old problems... 49
50 Comparison User level threads Cheap to create and destroy Fast to context switch Can block entire process Not just on system calls Page faults! One to one threads Easier to schedule Nicely handles blocking Memory usage (kernel stack) Slow to switch Requires kernel crossing 50
51 3. Many to many threads User Kernel CPU 0 CPU 1 51
52 2. Many to many threads Multiplex user level threads over several kernel level threads Can pin user thread to kernel thread for performance/predictability Thread migration costs are interesting 52
53 Issues with modern threads Hard for a runtime to tell: How many user level threads can run at a time (i.e. how many physical cores are allocated) Which user level threads can run (i.e. which physical cores are allocated) Severely limits flexibility of user level scheduler Can critically impact performance of parallel applications. 53
54 Scheduler Activations and Dispatch 54
55 Definitions Scheduling: Deciding which task to run Dispatch: How the chosen task starts (or resumes) execution 55
56 Scheduler activations Basic mechanism: upcall to the ULS from the kernel Context for this: a scheduler activation Structurally like a kernel thread but... created on demand in response to events (blocking, preemption, etc.) User level threads package built on top Hardware: DEC SRC Firefly workstation (7 processor VAX) 56
57 Scheduler activations speedup 57
58 Scheduler activations memory footprint 58
59 Psyche threads Similar: aims to remove kernel from most thread scheduling decisions, reflect kernel level events to user space Kernel and ULS share data structures (read/write, readonly) Kernel upcalls ULS ( software interrupts ) in a virtual processor for: Timer expiration Imminent preemption (err...) Start of blocking system call Unblocking of a system call Shared data structure standardises interface for blocking/unblocking threads 59
60 Psyche data structures 60
61 Interesting features of Psyche Threads given warning of imminent preemption Is there a problem here? Upcalls can be nested (stack) Likewise? Upcalls can be disabled or queued Lots of user space data structures to be pinned Unlike Scheduler Activations, doesn t handle (e.g.) page faults 61
62 Nemesis dispatch (and K42, Barrelfish, others ) Avoid nested upcalls Activation handler doesn t need to be reentrant Per domain data structures all user read/write! 62
63 Deschedule / Preemption If resume bit == 0: Processor state activation slot Else: Processor state resume slot Enter the scheduler 63
64 Dispatch / Reschedule If resume bit == 0: resume bit 1 Jump to activation addr on activation stack (small!) Else: Processor state resume slot c.f. disabling interrupts 64
65 User level schedulers in Nemesis Upcall handler gets activations on reschedule Resume always set on activation no need for reentrant ULS Picks a context slot to run from Slots are a cache for thread contexts Clears resume bit and resumes context Implementation: Alpha PALmode call (2 pipeline drains) Must be atomic (or must it?) All implemented in user level library 65
66 Dispatch in Barrelfish Activations: separate dispatcher per process per core Avoid Psyche like complexity No activation stack: disable mechanism (á la Nemesis) Multiple upcall entries (from K42): Preemption / reschedule Page fault Exception etc. User level thread schedulers span address spaces across cores (dispatchers) 66
67 Summary of dispatch Plenty of ways to deliver processor to an application Expose underlying scheduler decisions give more control to user level thread scheduler On uniprocessor (e.g. Nemesis) gives flexibility On multiprocessor (e.g. Psyche) gives performance across cores 67
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,
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
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
Processes and Non-Preemptive Scheduling. Otto J. Anshus
Processes and Non-Preemptive Scheduling Otto J. Anshus 1 Concurrency and Process Challenge: Physical reality is Concurrent Smart to do concurrent software instead of sequential? At least we want to have
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
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
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
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
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
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
An Implementation Of Multiprocessor Linux
An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than
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
Operating System Organization. Purpose of an OS
Slide 3-1 Operating System Organization Purpose of an OS Slide 3-2 es Coordinate Use of the Abstractions he Abstractions Create the Abstractions 1 OS Requirements Slide 3-3 Provide resource abstractions
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.
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
Operating Systems OS Architecture Models
Operating Systems OS Architecture Models ECE 344 OS Architecture Designs that have been tried in practice Monolithic systems Layered systems Virtual machines Client/server a.k.a. Microkernels Many of the
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
10.04.2008. Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details
Thomas Fahrig Senior Developer Hypervisor Team Hypervisor Architecture Terminology Goals Basics Details Scheduling Interval External Interrupt Handling Reserves, Weights and Caps Context Switch Waiting
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,
3 - Introduction to Operating Systems
3 - Introduction to Operating Systems Mark Handley What is an Operating System? An OS is a program that: manages the computer hardware. provides the basis on which application programs can be built and
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
Xen and the Art of. Virtualization. Ian Pratt
Xen and the Art of Virtualization Ian Pratt Keir Fraser, Steve Hand, Christian Limpach, Dan Magenheimer (HP), Mike Wray (HP), R Neugebauer (Intel), M Williamson (Intel) Computer Laboratory Outline Virtualization
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
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
Virtualization Technologies
12 January 2010 Virtualization Technologies Alex Landau ([email protected]) IBM Haifa Research Lab What is virtualization? Virtualization is way to run multiple operating systems and user applications on
Operatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings
Operatin g Systems: Internals and Design Principle s Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings Operating Systems: Internals and Design Principles Bear in mind,
Full and Para Virtualization
Full and Para Virtualization Dr. Sanjay P. Ahuja, Ph.D. 2010-14 FIS Distinguished Professor of Computer Science School of Computing, UNF x86 Hardware Virtualization The x86 architecture offers four levels
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
First-class User Level Threads
First-class User Level Threads based on paper: First-Class User Level Threads by Marsh, Scott, LeBlanc, and Markatos research paper, not merely an implementation report User-level Threads Threads managed
COS 318: Operating Systems. Virtual Machine Monitors
COS 318: Operating Systems Virtual Machine Monitors Kai Li and Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall13/cos318/ Introduction u Have
Multi-core Programming System Overview
Multi-core Programming System Overview Based on slides from Intel Software College and Multi-Core Programming increasing performance through software multi-threading by Shameem Akhter and Jason Roberts,
Introduction to Embedded Systems. Software Update Problem
Introduction to Embedded Systems CS/ECE 6780/5780 Al Davis logistics minor Today s topics: more software development issues 1 CS 5780 Software Update Problem Lab machines work let us know if they don t
Operating Systems Concepts: Chapter 7: Scheduling Strategies
Operating Systems Concepts: Chapter 7: Scheduling Strategies Olav Beckmann Huxley 449 http://www.doc.ic.ac.uk/~ob3 Acknowledgements: There are lots. See end of Chapter 1. Home Page for the course: http://www.doc.ic.ac.uk/~ob3/teaching/operatingsystemsconcepts/
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
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
Quality of Service su Linux: Passato Presente e Futuro
Quality of Service su Linux: Passato Presente e Futuro Luca Abeni [email protected] Università di Trento Quality of Service su Linux:Passato Presente e Futuro p. 1 Quality of Service Time Sensitive applications
Core Syllabus. Version 2.6 C OPERATE KNOWLEDGE AREA: OPERATION AND SUPPORT OF INFORMATION SYSTEMS. June 2006
Core Syllabus C OPERATE KNOWLEDGE AREA: OPERATION AND SUPPORT OF INFORMATION SYSTEMS Version 2.6 June 2006 EUCIP CORE Version 2.6 Syllabus. The following is the Syllabus for EUCIP CORE Version 2.6, which
Chapter 1: Introduction. What is an Operating System?
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Computing Environments
Principles and characteristics of distributed systems and environments
Principles and characteristics of distributed systems and environments Definition of a distributed system Distributed system is a collection of independent computers that appears to its users as a single
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
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Winter Term 2008 / 2009 Jun.-Prof. Dr. André Brinkmann [email protected] Universität Paderborn PC² Agenda Multiprocessor and
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
CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun
CS550 Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun Email: [email protected], Phone: (312) 567-5260 Office hours: 2:10pm-3:10pm Tuesday, 3:30pm-4:30pm Thursday at SB229C,
PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design
PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions Slide 1 Outline Principles for performance oriented design Performance testing Performance tuning General
Simplest Scalable Architecture
Simplest Scalable Architecture NOW Network Of Workstations Many types of Clusters (form HP s Dr. Bruce J. Walker) High Performance Clusters Beowulf; 1000 nodes; parallel programs; MPI Load-leveling Clusters
Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:
Virtual Machines Uses for Virtual Machines Virtual machine technology, often just called virtualization, makes one computer behave as several computers by sharing the resources of a single computer between
(Advanced Topics in) Operating Systems
(Advanced Topics in) Operating Systems Winter Term 2008 / 2009 Prof. Dr. André Brinkmann [email protected] Universität Paderborn PC² Organization Schedules: Lectures: Thursday 9:00 11:00
Stateful Inspection Technology
Stateful Inspection Technology Security Requirements TECH NOTE In order to provide robust security, a firewall must track and control the flow of communication passing through it. To reach control decisions
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
Operating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
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
CS5460: Operating Systems
CS5460: Operating Systems Lecture 13: Memory Management (Chapter 8) Where are we? Basic OS structure, HW/SW interface, interrupts, scheduling Concurrency Memory management Storage management Other topics
Real-Time Scheduling 1 / 39
Real-Time Scheduling 1 / 39 Multiple Real-Time Processes A runs every 30 msec; each time it needs 10 msec of CPU time B runs 25 times/sec for 15 msec C runs 20 times/sec for 5 msec For our equation, A
A Unified View of Virtual Machines
A Unified View of Virtual Machines First ACM/USENIX Conference on Virtual Execution Environments J. E. Smith June 2005 Introduction Why are virtual machines interesting? They allow transcending of interfaces
Chapter 16: Virtual Machines. Operating System Concepts 9 th Edition
Chapter 16: Virtual Machines Silberschatz, Galvin and Gagne 2013 Chapter 16: Virtual Machines Overview History Benefits and Features Building Blocks Types of Virtual Machines and Their Implementations
Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010.
Road Map Scheduling Dickinson College Computer Science 354 Spring 2010 Past: What an OS is, why we have them, what they do. Base hardware and support for operating systems Process Management Threads Present:
Linux Process Scheduling Policy
Lecture Overview Introduction to Linux process scheduling Policy versus algorithm Linux overall process scheduling objectives Timesharing Dynamic priority Favor I/O-bound process Linux scheduling algorithm
Exokernel : An Operating System Architecture for Application-Level Resource Management. Joong Won Roh
Exokernel : An Operating System Architecture for Application-Level Resource Management Joong Won Roh Goal of Exokernel The goal of an exokernel is to give efficient control of resources to untrusted applications
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
Operating Systems. Notice that, before you can run programs that you write in JavaScript, you need to jump through a few hoops first
Operating Systems Notice that, before you can run programs that you write in JavaScript, you need to jump through a few hoops first JavaScript interpreter Web browser menu / icon / dock??? login??? CPU,
Security Overview of the Integrity Virtual Machines Architecture
Security Overview of the Integrity Virtual Machines Architecture Introduction... 2 Integrity Virtual Machines Architecture... 2 Virtual Machine Host System... 2 Virtual Machine Control... 2 Scheduling
Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University
Virtual Machine Monitors Dr. Marc E. Fiuczynski Research Scholar Princeton University Introduction Have been around since 1960 s on mainframes used for multitasking Good example VM/370 Have resurfaced
Cloud Operating Systems for Servers
Cloud Operating Systems for Servers Mike Day Distinguished Engineer, Virtualization and Linux August 20, 2014 [email protected] 1 What Makes a Good Cloud Operating System?! Consumes Few Resources! Fast
Operating System Components and Services
Operating System Components and Services Tom Kelliher, CS 311 Feb. 6, 2012 Announcements: From last time: 1. System architecture issues. 2. I/O programming. 3. Memory hierarchy. 4. Hardware protection.
Introduction. What is an Operating System?
Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization
Linux Kernel Architecture
Linux Kernel Architecture Amir Hossein Payberah [email protected] Contents What is Kernel? Kernel Architecture Overview User Space Kernel Space Kernel Functional Overview File System Process Management
Overview of Operating Systems Instructor: Dr. Tongping Liu
Overview of Operating Systems Instructor: Dr. Tongping Liu Thank Dr. Dakai Zhu and Dr. Palden Lama for providing their slides. 1 Lecture Outline Operating System: what is it? Evolution of Computer Systems
Parallels Virtuozzo Containers
Parallels Virtuozzo Containers White Paper Virtual Desktop Infrastructure www.parallels.com Version 1.0 Table of Contents Table of Contents... 2 Enterprise Desktop Computing Challenges... 3 What is Virtual
Virtualization for Cloud Computing
Virtualization for Cloud Computing Dr. Sanjay P. Ahuja, Ph.D. 2010-14 FIS Distinguished Professor of Computer Science School of Computing, UNF CLOUD COMPUTING On demand provision of computational resources
Microkernels & Database OSs. Recovery Management in QuickSilver. DB folks: Stonebraker81. Very different philosophies
Microkernels & Database OSs Recovery Management in QuickSilver. Haskin88: Roger Haskin, Yoni Malachi, Wayne Sawdon, Gregory Chan, ACM Trans. On Computer Systems, vol 6, no 1, Feb 1988. Stonebraker81 OS/FS
Knut Omang Ifi/Oracle 19 Oct, 2015
Software and hardware support for Network Virtualization Knut Omang Ifi/Oracle 19 Oct, 2015 Motivation Goal: Introduction to challenges in providing fast networking to virtual machines Prerequisites: What
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
An Oracle Technical White Paper November 2011. Oracle Solaris 11 Network Virtualization and Network Resource Management
An Oracle Technical White Paper November 2011 Oracle Solaris 11 Network Virtualization and Network Resource Management Executive Overview... 2 Introduction... 2 Network Virtualization... 2 Network Resource
The Microsoft Windows Hypervisor High Level Architecture
The Microsoft Windows Hypervisor High Level Architecture September 21, 2007 Abstract The Microsoft Windows hypervisor brings new virtualization capabilities to the Windows Server operating system. Its
Chapter 1 - Web Server Management and Cluster Topology
Objectives At the end of this chapter, participants will be able to understand: Web server management options provided by Network Deployment Clustered Application Servers Cluster creation and management
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
Embedded 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
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.
VMkit A lightweight hypervisor library for Barrelfish
Masters Thesis VMkit A lightweight hypervisor library for Barrelfish by Raffaele Sandrini Due date 2 September 2009 Advisors: Simon Peter, Andrew Baumann, and Timothy Roscoe ETH Zurich, Systems Group Department
HyperV_Mon 3.0. Hyper-V Overhead. Introduction. A Free tool from TMurgent Technologies. Version 3.0
HyperV_Mon 3.0 A Free tool from TMurgent Technologies Version 3.0 Introduction HyperV_Mon is a GUI tool for viewing CPU performance of a system running Hyper-V from Microsoft. Virtualization adds a layer
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
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
Enhancing Hypervisor and Cloud Solutions Using Embedded Linux Iisko Lappalainen MontaVista
Enhancing Hypervisor and Cloud Solutions Using Embedded Linux Iisko Lappalainen MontaVista Setting the Stage This presentation will discuss the usage of Linux as a base component of hypervisor components
Mark Bennett. Search and the Virtual Machine
Mark Bennett Search and the Virtual Machine Agenda Intro / Business Drivers What to do with Search + Virtual What Makes Search Fast (or Slow!) Virtual Platforms Test Results Trends / Wrap Up / Q & A Business
Operating System Tutorial
Operating System Tutorial OPERATING SYSTEM TUTORIAL Simply Easy Learning by tutorialspoint.com tutorialspoint.com i ABOUT THE TUTORIAL Operating System Tutorial An operating system (OS) is a collection
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
Real-Time Operating Systems for MPSoCs
Real-Time Operating Systems for MPSoCs Hiroyuki Tomiyama Graduate School of Information Science Nagoya University http://member.acm.org/~hiroyuki MPSoC 2009 1 Contributors Hiroaki Takada Director and Professor
Basics of Virtualisation
Basics of Virtualisation Volker Büge Institut für Experimentelle Kernphysik Universität Karlsruhe Die Kooperation von The x86 Architecture Why do we need virtualisation? x86 based operating systems are
Distributed Operating Systems
Distributed Operating Systems Prashant Shenoy UMass Computer Science http://lass.cs.umass.edu/~shenoy/courses/677 Lecture 1, page 1 Course Syllabus CMPSCI 677: Distributed Operating Systems Instructor:
find model parameters, to validate models, and to develop inputs for models. c 1994 Raj Jain 7.1
Monitors Monitor: A tool used to observe the activities on a system. Usage: A system programmer may use a monitor to improve software performance. Find frequently used segments of the software. A systems
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
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
Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces
Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The
Lecture 6: Interrupts. CSC 469H1F Fall 2006 Angela Demke Brown
Lecture 6: Interrupts CSC 469H1F Fall 2006 Angela Demke Brown Topics What is an interrupt? How do operating systems handle interrupts? FreeBSD example Linux in tutorial Interrupts Defn: an event external
Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance.
Agenda Enterprise Performance Factors Overall Enterprise Performance Factors Best Practice for generic Enterprise Best Practice for 3-tiers Enterprise Hardware Load Balancer Basic Unix Tuning Performance
