Operating System Virtualization: Practice and Experience
|
|
- Branden Dixon
- 6 years ago
- Views:
Transcription
1 Operating System Virtualization: Practice and Experience Oren Laadan and Jason Nieh Columbia University SYSTOR 2010, Haifa, Israel 1 orenl@cs.columbia.edu SYSTOR 2010, Haifa, Israel 1 orenl@cs.columbia.edu
2 Virtualization All problems in computer science can be solved with another layer of indirection -- (attributed to) David Wheeler SYSTOR 2010, Haifa, Israel 2 orenl@cs.columbia.edu SYSTOR 2010, Haifa, Israel 2 orenl@cs.columbia.edu
3 Virtualization - Why Computers are faster, cheaper, more connected (Re)Emerged to address management complexity and security hazards Provides isolation and mobility consolidation, security fault tolerance, load balancing, availability SYSTOR 2010, Haifa, Israel 3 orenl@cs.columbia.edu SYSTOR 2010, Haifa, Israel 3 orenl@cs.columbia.edu
4 Virtualization - Where Hardware or Operation system? HW: decouple entire operating system OS: decouple individual applications SYSTOR 2010, Haifa, Israel 4 orenl@cs.columbia.edu SYSTOR 2010, Haifa, Israel 4 orenl@cs.columbia.edu
5 OS Virtualization - Taxonomy complete? host independent? SYSTOR 2010, Haifa, Israel 5 orenl@cs.columbia.edu SYSTOR 2010, Haifa, Israel 5 orenl@cs.columbia.edu
6 OS Virtualization - Taxonomy complete? BSD Jail host independent? SYSTOR 2010, Haifa, Israel 6 orenl@cs.columbia.edu SYSTOR 2010, Haifa, Israel 6 orenl@cs.columbia.edu
7 OS Virtualization - Taxonomy complete? BSD jail virtual memory host independent? SYSTOR 2010, Haifa, Israel 7 orenl@cs.columbia.edu SYSTOR 2010, Haifa, Israel 7 orenl@cs.columbia.edu
8 OS Virtualization - Taxonomy complete? Solaris zones BSD Jail virtual memory host independent? SYSTOR 2010, Haifa, Israel 8 orenl@cs.columbia.edu SYSTOR 2010, Haifa, Israel 8 orenl@cs.columbia.edu
9 OS Virtualization - Taxonomy complete? Solaris zones Zap BSD Jail virtual memory host independent? SYSTOR 2010, Haifa, Israel 9 orenl@cs.columbia.edu SYSTOR 2010, Haifa, Israel 9 orenl@cs.columbia.edu
10 OS Virtualization - Taxonomy complete? Solaris zones Zap BSD Jail virtual memory host independent? SYSTOR 2010, Haifa, Israel 10 orenl@cs.columbia.edu SYSTOR 2010, Haifa, Israel 10 orenl@cs.columbia.edu
11 Virtual Private Namespace Virtual Execution Environment (VEE) Virtualization Layer Operating System Hardware SYSTOR 2010, Haifa, Israel 11 SYSTOR 2010, Haifa, Israel 11
12 Private Namespace VEE #1 VEE #2 VEE #n Virtualization Layer Operating System Hardware SYSTOR 2010, Haifa, Israel 12 SYSTOR 2010, Haifa, Israel 12
13 Virtual Namespace VEE getpid()? Virtualization Layer Operating System Hardware SYSTOR 2010, Haifa, Israel 13 SYSTOR 2010, Haifa, Israel 13
14 Virtual Namespace VEE getpid()? Virtualization Layer Operating System Hardware SYSTOR 2010, Haifa, Israel 14 SYSTOR 2010, Haifa, Israel 14
15 Virtual Namespace VEE getpid()? Virtualization Layer Operating System Hardware SYSTOR 2010, Haifa, Israel 15 SYSTOR 2010, Haifa, Israel 15
16 Virtual Namespace VEE getpid()? Kernel: 4150 (real) Virtualization Layer 4150 Operating System Hardware SYSTOR 2010, Haifa, Israel 16 SYSTOR 2010, Haifa, Israel 16
17 Virtual Namespace VEE getpid()? 305 Kernel: 4150 (real) VEE: 305 (virtual) Virtualization Layer 4150 Operating System Hardware SYSTOR 2010, Haifa, Israel 17 SYSTOR 2010, Haifa, Israel 17
18 OS Virtualization - Where Interposition user-level process tracing in-kernel SYSTOR 2010, Haifa, Israel 18 orenl@cs.columbia.edu SYSTOR 2010, Haifa, Israel 18 orenl@cs.columbia.edu
19 The Virtual Diner... SYSTOR 2010, Haifa, Israel 19 SYSTOR 2010, Haifa, Israel 19
20 The Virtual Diner... HW or OS? SYSTOR 2010, Haifa, Israel 20 SYSTOR 2010, Haifa, Israel 20
21 The Virtual Diner... HW or OS? I'd like OS virtualization, please SYSTOR 2010, Haifa, Israel 21 SYSTOR 2010, Haifa, Israel 21
22 The Virtual Diner... HW or OS? I'd like OS virtualization, please Complete? Host independent? SYSTOR 2010, Haifa, Israel 22 SYSTOR 2010, Haifa, Israel 22
23 The Virtual Diner... HW or OS? I'd like OS virtualization, please Complete? Host independent? I'll have host independent, and add complete on the side. SYSTOR 2010, Haifa, Israel 23 SYSTOR 2010, Haifa, Israel 23
24 The Virtual Diner... HW or OS? I'd like OS virtualization, please Complete? Host independent? I'll have host independent, and add complete on the side. Userspace or in-kernel? SYSTOR 2010, Haifa, Israel 24 SYSTOR 2010, Haifa, Israel 24
25 The Virtual Diner... HW or OS? I'd like OS virtualization, please Complete? Host independent? I'll have host independent, and add complete on the side. Userspace or in-kernel? can I have it as a kernel module? SYSTOR 2010, Haifa, Israel 25 orenl@cs.columbia.edu SYSTOR 2010, Haifa, Israel 25 orenl@cs.columbia.edu
26 Virtualization All problems in computer science can be solved with another layer of indirection but that usually will create another problem. -- (attributed to) David Wheeler SYSTOR 2010, Haifa, Israel 26 SYSTOR 2010, Haifa, Israel 26
27 Virtualization - Challenges Performance overhead Race conditions SYSTOR 2010, Haifa, Israel 27 orenl@cs.columbia.edu SYSTOR 2010, Haifa, Israel 27 orenl@cs.columbia.edu
28 Interposition Revisited VEE getpid()? 305 Kernel: 4150 (real) VEE: 305 (virtual) Virtualization Layer 4150 Operating System Hardware SYSTOR 2010, Haifa, Israel 28 SYSTOR 2010, Haifa, Israel 28
29 Race Conditions syscall wrapper translate virtual physical (1) invoke kernel system call translate physical virtual (2) SYSTOR 2010, Haifa, Israel 29 SYSTOR 2010, Haifa, Israel 29
30 Race Conditions syscall wrapper translate virtual physical invoke kernel system call translate physical virtual (1) (2) Wrapper preamble (1), epilogue (2) Initialization, deletion, re-use SYSTOR 2010, Haifa, Israel 30 SYSTOR 2010, Haifa, Israel 30
31 PID Races - reuse Process A Process B Process C pid 100/vpid 400 pid 110/vpid 420 SYS_GETPGID(420) virt2phys(420) 110 getpgid(110) 110 phys2virt(110) 655 SYS_EXIT(0) exited CREATED pid=110 vpid=655 SYSTOR 2010, Haifa, Israel 31 orenl@cs.columbia.edu SYSTOR 2010, Haifa, Israel 31 orenl@cs.columbia.edu
32 PID Races - init Parent Child pid 100/vpid 400 SYS_FORK() fork() pid = 110 CREATED pid = 110 SYS_GETPID() getpid() 110 phys2virt(110) undefined vpid = 420 SYSTOR 2010, Haifa, Israel 32 orenl@cs.columbia.edu SYSTOR 2010, Haifa, Israel 32 orenl@cs.columbia.edu
33 IPC Races - reuse Process A Process B Process C SYS_MSGSND(55,...) virt2phys(55) 10 SYS_MSGCTL(55, IPC_RMID) virt2phys(55) 10 ipcrm(55, 10) deleted SYS_MSGGET(...) 10 vpid=655 msgsnd(10,...) illegal SYSTOR 2010, Haifa, Israel 33 orenl@cs.columbia.edu SYSTOR 2010, Haifa, Israel 33 orenl@cs.columbia.edu
34 Experimental Evaluation Micro benchmarks overhead on select system calls Macro benchmarks overhead on select applications Scalability multiple VEEs running concurrently SYSTOR 2010, Haifa, Israel 34 SYSTOR 2010, Haifa, Israel 34
35 Micro-benchmark Runtime overhead is low SYSTOR 2010, Haifa, Israel 35 SYSTOR 2010, Haifa, Israel 35
36 Macro-benchmark Runtime overhead is lower SYSTOR 2010, Haifa, Israel 36 SYSTOR 2010, Haifa, Israel 36
37 Scaling-benchmark excellent scalability SYSTOR 2010, Haifa, Israel 37 SYSTOR 2010, Haifa, Israel 37
38 Experience Application checkpoint-restart (Zap) guarantee same environment at restart Application record-replay (Scribe) guarantee same environment at replay SYSTOR 2010, Haifa, Israel 38 SYSTOR 2010, Haifa, Israel 38
39 Conclusions OS Virtualization useful but challenging Virtualization via interposition address race conditions meet performance needs SYSTOR 2010, Haifa, Israel 39 SYSTOR 2010, Haifa, Israel 39
40 Conclusions OS Virtualization useful but challenging Virtualization via interposition address race conditions meet performance needs Thank You! SYSTOR 2010, Haifa, Israel 40 SYSTOR 2010, Haifa, Israel 40
41 Virtualization How Decouple execution from underlying environment execution should exhibit effect identical to un-virtualized system dominant part of the execution should be direct SYSTOR 2010, Haifa, Israel 41 SYSTOR 2010, Haifa, Israel 41
Linux-CR: Transparent Application Checkpoint-Restart in Linux
Linux-CR: Transparent Application Checkpoint-Restart in Linux Oren Laadan Columbia University orenl@cs.columbia.edu Serge E. Hallyn IBM serge@hallyn.com Linux Symposium, July 2010 1 orenl@cs.columbia.edu
More informationLinux-CR: Transparent Application Checkpoint-Restart in Linux
Linux-CR: Transparent Application Checkpoint-Restart in Linux Oren Laadan Columbia University orenl@cs.columbia.edu Linux Kernel Summit, November 2010 1 orenl@cs.columbia.edu Linux Kernel Summit, November
More informationOS Containers. Michal Sekletár November 06, 2016
OS Containers Michal Sekletár msekleta@redhat.com November 06, 2016 whoami Senior Software Engineer @ Red Hat systemd and udev maintainer Free/Open Source Software contributor Michal Sekletár msekleta@redhat.com
More informationPervasive Detection of Thread Process Races In Deployed Systems
Pervasive Detection of Thread Process Races In Deployed Systems Columbia University Oren Laadan Nicolas Viennot Chia-Che Tsai Chris Blinn Junfeng Yang Jason Nieh ps aux grep pizza ps aux grep pizza outputs
More informationVirtual Machines. To do. q VM over time q Implementation methods q Hardware features supporting VM q Next time: Midterm?
Virtual Machines To do q VM over time q Implementation methods q Hardware features supporting VM q Next time: Midterm? *Partially based on notes from C. Waldspurger, VMware, 2010 and Arpaci-Dusseau s Three
More informationthin clients: back to the future <Jason Nieh>
thin clients: back to the future nieh@cs.columbia.edu Computers in the future may weigh no more than 1.5 tons. a Popular Mechanics editorial 1949 PCs in use worldwide (2004) n tr y C ou
More informationLecture Topics. Announcements. Today: Threads (Stallings, chapter , 4.6) Next: Concurrency (Stallings, chapter , 5.
Lecture Topics Today: Threads (Stallings, chapter 4.1-4.3, 4.6) Next: Concurrency (Stallings, chapter 5.1-5.4, 5.7) 1 Announcements Make tutorial Self-Study Exercise #4 Project #2 (due 9/20) Project #3
More informationRoadmap. Tevfik Ko!ar. CSC Operating Systems Spring Lecture - III Processes. Louisiana State University. Virtual Machines Processes
CSC 4103 - Operating Systems Spring 2008 Lecture - III Processes Tevfik Ko!ar Louisiana State University January 22 nd, 2008 1 Roadmap Virtual Machines Processes Basic Concepts Context Switching Process
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 informationCMPSCI 230 Computer Systems Principles. Processes
CMPSCI 230 Computer Systems Principles Processes Objectives To understand what a process is To learn the basics of exceptional control flow To learn how to create child processes How to run programs? How
More informationCSE 4/521 Introduction to Operating Systems
CSE 4/521 Introduction to Operating Systems Lecture 5 Threads (Overview, Multicore Programming, Multithreading Models, Thread Libraries, Implicit Threading, Operating- System Examples) Summer 2018 Overview
More informationTransparent, Lightweight Application Execution Replay on Commodity Multiprocessor Operating Systems
Transparent, Lightweight Application Execution Replay on Commodity Multiprocessor Operating Systems Oren Laadan Computer Science Department Columbia University New York, NY, 10025 orenl@cs.columbia.edu
More informationColumbia University in the city of new york
A virtual Smartphone Architecture Jeremy Andrus Christoffer Dall Alexander Van t Hof Oren Laadan Jason Nieh Columbia University in the city of new york 1 23rd ACM Symposium on Operating Systems Principles,
More informationProcesses and Non-Preemptive Scheduling. Otto J. Anshus
Processes and Non-Preemptive Scheduling Otto J. Anshus Threads Processes Processes Kernel An aside on concurrency Timing and sequence of events are key concurrency issues We will study classical OS concurrency
More informationAgenda Process Concept Process Scheduling Operations on Processes Interprocess Communication 3.2
Lecture 3: Processes Agenda Process Concept Process Scheduling Operations on Processes Interprocess Communication 3.2 Process in General 3.3 Process Concept Process is an active program in execution; process
More informationProcess. Program Vs. process. During execution, the process may be in one of the following states
What is a process? What is process scheduling? What are the common operations on processes? How to conduct process-level communication? How to conduct client-server communication? Process is a program
More informationIntroduction to Virtual Machines. Carl Waldspurger (SB SM 89 PhD 95) VMware R&D
Introduction to Virtual Machines Carl Waldspurger (SB SM 89 PhD 95) VMware R&D Overview Virtualization and VMs Processor Virtualization Memory Virtualization I/O Virtualization Typesof Virtualization Process
More informationFOSDEM 18. LTTng: The road to container awareness.
FOSDEM 18 LTTng: The road to container awareness mjeanson@efficios.com Who am I? Michael Jeanson Software developer @ EfficiOS Debian Developer What s LTTng? 2 tracers Kernel : lttng-modules Userspace
More informationCPSC 213. Introduction to Computer Systems. The Operating System. Unit 2e
CPSC 213 Introduction to Computer Systems Unit 2e The Operating System 1 Readings for Next Two Lectures Text Exceptional Control Flow: Processes, System Call Error Handling VM as a Tool for Memory Protection
More informationRoadmap. Tevfik Ko!ar. CSC Operating Systems Fall Lecture - III Processes. Louisiana State University. Processes. September 1 st, 2009
CSC 4103 - Operating Systems Fall 2009 Lecture - III Processes Tevfik Ko!ar Louisiana State University September 1 st, 2009 1 Roadmap Processes Basic Concepts Process Creation Process Termination Context
More informationWebPod: Persistent Web Browsing Sessions with Pocketable Storage Devices
WebPod: Persistent Web Browsing Sessions with Pocketable Storage Devices Shaya Potter Department of Computer Science Columbia University, New York, NY, USA spotter@cs.columbia.edu Jason Nieh Department
More informationCS 261 Fall Mike Lam, Professor. Exceptional Control Flow and Processes
CS 261 Fall 2017 Mike Lam, Professor Exceptional Control Flow and Processes Exceptional control flow Most control flow is sequential However, we have seen violations of this rule Exceptional control flow
More informationProcesses and System Calls
Processes and the Kernel 1 Processes and System Calls key concepts process,system call,processor exception,fork/execv,multiprocessing reading Three Easy Pieces: Chapter 4 (Processes), Chapter 5 (Process
More informationProcesses and System Calls
Processes and the Kernel 1 Processes and System Calls key concepts process,system call,processor exception,fork/execv,multiprocessing reading Three Easy Pieces: Chapter 4 (Processes), Chapter 5 (Process
More informationProcesses. OS Structure. OS Structure. Modes of Execution. Typical Functions of an OS Kernel. Non-Kernel OS. COMP755 Advanced Operating Systems
OS Structure Processes COMP755 Advanced Operating Systems An OS has many parts. The Kernel is the core of the OS. It controls the execution of the system. Many OS features run outside of the kernel, such
More informationCSC 539: Operating Systems Structure and Design. Spring 2006
CSC 539: Operating Systems Structure and Design Spring 2006 Processes and threads process concept process scheduling: state, PCB, process queues, schedulers process operations: create, terminate, wait,
More informationCSCE Operating Systems Interrupts, Exceptions, and Signals. Qiang Zeng, Ph.D. Fall 2018
CSCE 311 - Operating Systems Interrupts, Exceptions, and Signals Qiang Zeng, Ph.D. Fall 2018 Previous Class Process state transition Ready, blocked, running Call Stack Execution Context Process switch
More informationOS Virtualization. Linux Containers (LXC)
OS Virtualization Emulate OS-level interface with native interface Lightweight virtual machines No hypervisor, OS provides necessary support Referred to as containers Solaris containers, BSD jails, Linux
More informationUNIX Memory Management Interview Questions and Answers
UNIX Memory Management Interview Questions and Answers 1. What is the difference between Swapping and Paging? Swapping: Whole process is moved from the swap device to the main memory for execution. Process
More informationProcess Concepts. CSC400 - Operating Systems. 3. Process Concepts. J. Sumey
CSC400 - Operating Systems 3. Process Concepts J. Sumey Overview Concurrency Processes & Process States Process Accounting Interrupts & Interrupt Processing Interprocess Communication CSC400 - Process
More informationProcess Control. Philipp Koehn. 23 April 2018
Process Control Philipp Koehn 23 April 2018 Control Flow 1 The CPU executes one instruction after another Typically, they are next to each other in memory (unless jumps, branches, and returns from subroutine)
More informationMaking Applications Mobile
Making Applications Mobile using containers Ottawa Linux Symposium, July 2006 Cedric Le Goater Daniel Lezcano Clement Calmels Dave Hansen
More informationCS5460: Operating Systems
CS5460: Operating Systems Lecture 5: Processes and Threads (Chapters 3-4) Context Switch Results lab2-15 gamow home 3.8 us 1.6 us 1.0 us VirtualBox on lab2-25 VirtualBox on gamow VirtualBox on home 170
More informationChapter 3: Processes. Operating System Concepts 8th Edition, modified by Stewart Weiss
Chapter 3: Processes Operating System Concepts 8 Edition, Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication
More informationProcesses. Process Scheduling, Process Synchronization, and Deadlock will be discussed further in Chapters 5, 6, and 7, respectively.
Processes Process Scheduling, Process Synchronization, and Deadlock will be discussed further in Chapters 5, 6, and 7, respectively. 1. Process Concept 1.1 What is a Process? A process is a program in
More informationA Scalable Adaptive Mesh Refinement Framework For Parallel Astrophysics Applications
A Scalable Adaptive Mesh Refinement Framework For Parallel Astrophysics Applications James Bordner, Michael L. Norman San Diego Supercomputer Center University of California, San Diego 15th SIAM Conference
More informationChapter 4: Threads. Operating System Concepts. Silberschatz, Galvin and Gagne
Chapter 4: Threads Silberschatz, Galvin and Gagne Chapter 4: Threads Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Linux Threads 4.2 Silberschatz, Galvin and
More informationProcess a program in execution; process execution must progress in sequential fashion. Operating Systems
Process Concept An operating system executes a variety of programs: Batch system jobs Time-shared systems user programs or tasks 1 Textbook uses the terms job and process almost interchangeably Process
More informationFrom Processes to Threads
From Processes to Threads 1 Processes, Threads and Processors Hardware can interpret N instruction streams at once Uniprocessor, N==1 Dual-core, N==2 Sun s Niagra T2 (2007) N == 64, but 8 groups of 8 An
More informationDeterministic Process Groups in
Deterministic Process Groups in Tom Bergan Nicholas Hunt, Luis Ceze, Steven D. Gribble University of Washington A Nondeterministic Program global x=0 Thread 1 Thread 2 t := x x := t + 1 t := x x := t +
More informationChapter 5: Processes & Process Concept. Objectives. Process Concept Process Scheduling Operations on Processes. Communication in Client-Server Systems
Chapter 5: Processes Chapter 5: Processes & Threads Process Concept Process Scheduling Operations on Processes Interprocess Communication Communication in Client-Server Systems, Silberschatz, Galvin and
More information! The Process Control Block (PCB) " is included in the context,
CSE 421/521 - Operating Systems Fall 2012 Lecture - III Processes Tevfik Koşar Roadmap Processes Basic Concepts Process Creation Process Termination Context Switching Process Queues Process Scheduling
More informationProcesses The Process Model. Chapter 2 Processes and Threads. Process Termination. Process States (1) Process Hierarchies
Chapter 2 Processes and Threads Processes The Process Model 2.1 Processes 2.2 Threads 2.3 Interprocess communication 2.4 Classical IPC problems 2.5 Scheduling Multiprogramming of four programs Conceptual
More informationOPERATING SYSTEM. Chapter 4: Threads
OPERATING SYSTEM Chapter 4: Threads Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues Operating System Examples Objectives To
More informationCS471 ASST2. System Calls
CS471 ASST2 System Calls Save all of us some time and do NOT attempt to find a solution online. Deliverables Code walk-through (20 points) Same as previous assignments. Implementations (60 points) System
More informationProcess. Operating Systems (Fall/Winter 2018) Yajin Zhou ( Zhejiang University
Operating Systems (Fall/Winter 2018) Process Yajin Zhou (http://yajin.org) Zhejiang University Acknowledgement: some pages are based on the slides from Zhi Wang(fsu). Review System calls implementation
More informationUSCOPE: A SCALABLE UNIFIED TRACER FROM KERNEL TO USER SPACE
USCOPE: A SCALABLE UNIFIED TRACER FROM KERNEL TO USER SPACE Junghwan Rhee, Hui Zhang, Nipun Arora, Guofei Jiang, Kenji Yoshihira NEC Laboratories America www.nec-labs.com Motivation Complex IT services
More informationWindows architecture. user. mode. Env. subsystems. Executive. Device drivers Kernel. kernel. mode HAL. Hardware. Process B. Process C.
Structure Unix architecture users Functions of the System tools (shell, editors, compilers, ) standard library System call Standard library (printf, fork, ) OS kernel: processes, memory management, file
More informationAnnouncements Processes: Part II. Operating Systems. Autumn CS4023
Operating Systems Autumn 2018-2019 Outline Announcements 1 Announcements 2 Announcements Week04 lab: handin -m cs4023 -p w04 ICT session: Introduction to C programming Outline Announcements 1 Announcements
More informationExceptional Control Flow Part I
Exceptional Control Flow Part I Today Exceptions Process context switches Creating and destroying processes Next time Signals, non-local jumps, Chris Riesbeck, Fall 2011 Original: Fabian Bustamante Control
More informationVirtualization. Starting Point: A Physical Machine. What is a Virtual Machine? Virtualization Properties. Types of Virtualization
Starting Point: A Physical Machine Virtualization Based on materials from: Introduction to Virtual Machines by Carl Waldspurger Understanding Intel Virtualization Technology (VT) by N. B. Sahgal and D.
More informationVirtualization. ! Physical Hardware Processors, memory, chipset, I/O devices, etc. Resources often grossly underutilized
Starting Point: A Physical Machine Virtualization Based on materials from: Introduction to Virtual Machines by Carl Waldspurger Understanding Intel Virtualization Technology (VT) by N. B. Sahgal and D.
More informationThreads. What is a thread? Motivation. Single and Multithreaded Processes. Benefits
CS307 What is a thread? Threads A thread is a basic unit of CPU utilization contains a thread ID, a program counter, a register set, and a stack shares with other threads belonging to the same process
More informationCS 350 Winter 2011 Current Topics: Virtual Machines + Solid State Drives
CS 350 Winter 2011 Current Topics: Virtual Machines + Solid State Drives Virtual Machines Resource Virtualization Separating the abstract view of computing resources from the implementation of these resources
More informationCSE 153 Design of Operating Systems Fall 2018
CSE 153 Design of Operating Systems Fall 2018 Lecture 4: Processes (2) Threads Process Creation: Unix In Unix, processes are created using fork() int fork() fork() Creates and initializes a new PCB Creates
More informationTCSS 422: OPERATING SYSTEMS
TCSS 422: OPERATING SYSTEMS fork() Process API, Limited Direct Execution Wes J. Lloyd Institute of Technology University of Washington - Tacoma Creates a new process - think of a fork in the road Parent
More informationEEE3052: Introduction to Operating Systems. Fall Project #1
EEE3052: Introduction to Operating Systems Fall 2017 Project #1 Project Plan 4 projects 0) Install Xv6 1) Process management - System call (9/11 ~ 9/17) - Scheduling 2) Virtual memory 3) Synchronization
More informationHighly Reliable Mobile Desktop Computing in Your Pocket
Highly Reliable Mobile Desktop Computing in Your Pocket Shaya Potter Department of Computer Science Columbia University New York, NY USA spotter@cs.columbia.edu Jason Nieh Department of Computer Science
More informationSHARED ADDRESS TRANSLATION REVISITED
SHARED ADDRESS TRANSLATION REVISITED Xiaowan Dong Sandhya Dwarkadas Alan L. Cox University of Rochester University of Rochester Rice University Limitations of Current Shared Memory Management Physical
More informationPervasive Detection of Process Races in Deployed Systems
Pervasive Detection of Process Races in Deployed Systems Oren Laadan, Nicolas Viennot, Chia-Che Tsai, Chris Blinn, Junfeng Yang, and Jason Nieh orenl@cs.columbia.edu, nviennot@cs.columbia.edu, chiache.tsai@gmail.com,
More informationcsci3411: Operating Systems
csci3411: Operating Systems Lecture 3: System structure and Processes Gabriel Parmer Some slide material from Silberschatz and West System Structure System Structure How different parts of software 1)
More informationProcesses. Process Concept
Processes These slides are created by Dr. Huang of George Mason University. Students registered in Dr. Huang s courses at GMU can make a single machine readable copy and print a single copy of each slide
More informationEnzo-P / Cello. Formation of the First Galaxies. San Diego Supercomputer Center. Department of Physics and Astronomy
Enzo-P / Cello Formation of the First Galaxies James Bordner 1 Michael L. Norman 1 Brian O Shea 2 1 University of California, San Diego San Diego Supercomputer Center 2 Michigan State University Department
More informationPerformance Evaluation of Virtualization Technologies
Performance Evaluation of Virtualization Technologies Saad Arif Dept. of Electrical Engineering and Computer Science University of Central Florida - Orlando, FL September 19, 2013 1 Introduction 1 Introduction
More informationOperating System. Chapter 3. Process. Lynn Choi School of Electrical Engineering
Operating System Chapter 3. Process Lynn Choi School of Electrical Engineering Process Def: A process is an instance of a program in execution. One of the most profound ideas in computer science. Not the
More informationCS 550 Operating Systems Spring System Call
CS 550 Operating Systems Spring 2018 System Call 1 Recap: The need for protection When running user processes, the OS needs to protect itself and other system components For reliability: buggy programs
More information1 Requesting for Memory
Computer Science & Engineering Department I. I. T. Kharagpur Operating System: CS33007 3rd Year CSE: 5th Semester (Autumn 2006-2007) Lecture VIII (Linux System Calls IV) Goutam Biswas Date: 22nd-23rd August,
More informationPervasive Detection of Process Races in Deployed Systems
Pervasive Detection of Process Races in Deployed Systems Oren Laadan, Nicolas Viennot, Chia-Che Tsai, Chris Blinn, Junfeng Yang, and Jason Nieh orenl@cs.columbia.edu, nviennot@cs.columbia.edu, chiache.tsai@gmail.com,
More informationIntroduction Programmer Interface User Interface Process Management Memory Management File System I/O System Interprocess Communication
UNIX Introduction Programmer Interface User Interface Process Management Memory Management File System I/O System Interprocess Communication 30 Process Management How to represent a process for Process
More informationChapter 4: Processes. Process Concept
Chapter 4: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems 4.1 Silberschatz, Galvin and Gagne
More informationProcesses. CS3026 Operating Systems Lecture 05
Processes CS3026 Operating Systems Lecture 05 Dispatcher Admit Ready Queue Dispatch Processor Release Timeout or Yield Event Occurs Blocked Queue Event Wait Implementation: Using one Ready and one Blocked
More informationModule 4: Processes. Process Concept Process Scheduling Operation on Processes Cooperating Processes Interprocess Communication
Module 4: Processes Process Concept Process Scheduling Operation on Processes Cooperating Processes Interprocess Communication Operating System Concepts 4.1 Process Concept An operating system executes
More informationModule 4: Processes. Process Concept Process Scheduling Operation on Processes Cooperating Processes Interprocess Communication
Module 4: Processes Process Concept Process Scheduling Operation on Processes Cooperating Processes Interprocess Communication 4.1 Process Concept An operating system executes a variety of programs: Batch
More informationChapter 4: Processes
Chapter 4: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems 4.1 Silberschatz, Galvin and Gagne
More informationChapter 3: Processes. Operating System Concepts 8th Edition,
Chapter 3: Processes, Administrivia Friday: lab day. For Monday: Read Chapter 4. Written assignment due Wednesday, Feb. 25 see web site. 3.2 Outline What is a process? How is a process represented? Process
More informationThe Process Abstraction. CMPU 334 Operating Systems Jason Waterman
The Process Abstraction CMPU 334 Operating Systems Jason Waterman How to Provide the Illusion of Many CPUs? Goal: run N processes at once even though there are M CPUs N >> M CPU virtualizing The OS can
More informationCS 261 Fall Mike Lam, Professor. Processes
CS 261 Fall 2016 Mike Lam, Professor Processes Processes Process: instance of an executing program Independent single logical flow and private virtual address space Logical flow: sequence of executed instructions
More informationProcesses. Dr. Yingwu Zhu
Processes Dr. Yingwu Zhu Process Growing Memory Stack expands automatically Data area (heap) can grow via a system call that requests more memory - malloc() in c/c++ Entering the kernel (mode) Hardware
More informationChapter 3: Processes. Operating System Concepts 8 th Edition,
Chapter 3: Processes, Silberschatz, Galvin and Gagne 2009 Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication 3.2 Silberschatz, Galvin and Gagne 2009
More informationProcesses and More. CSCI 315 Operating Systems Design Department of Computer Science
Processes and More CSCI 315 Operating Systems Design Department of Computer Science Notice: The slides for this lecture have been largely based on those accompanying the textbook Operating Systems Concepts,
More informationInf2C - Computer Systems Lecture 16 Exceptions and Processor Management
Inf2C - Computer Systems Lecture 16 Exceptions and Processor Management Boris Grot School of Informatics University of Edinburgh Class party! When: Friday, Dec 1 @ 8pm Where: Bar 50 on Cowgate Inf2C Computer
More informationCSC209: Software tools. Unix files and directories permissions utilities/commands Shell programming quoting wild cards files
CSC209 Review CSC209: Software tools Unix files and directories permissions utilities/commands Shell programming quoting wild cards files ... and systems programming C basic syntax functions arrays structs
More informationCSC209: Software tools. Unix files and directories permissions utilities/commands Shell programming quoting wild cards files. Compiler vs.
CSC209 Review CSC209: Software tools Unix files and directories permissions utilities/commands Shell programming quoting wild cards files... and systems programming C basic syntax functions arrays structs
More information현재이이미지를표시할수없습니다. Chapter 9: Virtual Memory
현재이이미지를표시할수없습니다. Chapter 9: Virtual Memory Objectives To describe the benefits of a virtual memory system To explain the concepts of demand paging, page-replacement algorithms, and allocation of page frames
More informationCOP 4610: Introduction to Operating Systems (Spring 2014) Chapter 3: Process. Zhi Wang Florida State University
COP 4610: Introduction to Operating Systems (Spring 2014) Chapter 3: Process Zhi Wang Florida State University Contents Process concept Process scheduling Operations on processes Inter-process communication
More informationLecture 4: Process Management
Lecture 4: Process Management (Chapters 2-3) Process: execution context of running program. A process does not equal a program! Process is an instance of a program Many copies of same program can be running
More informationChapter 3: Processes
Operating Systems Chapter 3: Processes Silberschatz, Galvin and Gagne 2009 Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication (IPC) Examples of IPC
More informationOperating Systems. System calls. Guillaume Salagnac. Fall Insa-Lyon IST Semester
Operating Systems System calls Guillaume Salagnac Insa-Lyon IST Semester Fall 2018 2/36 Previously on IST-OPS Application 1 Application 2 OS Kernel Hardware The CPU implements the Von Neumann cycle executes
More informationChapter 4: Threads. Chapter 4: Threads
Chapter 4: Threads Silberschatz, Galvin and Gagne 2009 Chapter 4: Threads Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads 4.2
More informationConfinement (Running Untrusted Programs)
Confinement (Running Untrusted Programs) Chester Rebeiro Indian Institute of Technology Madras Untrusted Programs Untrusted Application Entire Application untrusted Part of application untrusted Modules
More informationChapter 3: Processes. Operating System Concepts 8 th Edition,
Chapter 3: Processes, Silberschatz, Galvin and Gagne 2009 Outline Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication in Client-Server
More informationDistributed Systems 27. Process Migration & Allocation
Distributed Systems 27. Process Migration & Allocation Paul Krzyzanowski pxk@cs.rutgers.edu 12/16/2011 1 Processor allocation Easy with multiprocessor systems Every processor has access to the same memory
More informationChapter 4: Threads. Chapter 4: Threads
Chapter 4: Threads Silberschatz, Galvin and Gagne 2013 Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues Operating System Examples
More informationThe Big Picture So Far. Chapter 4: Processes
The Big Picture So Far HW Abstraction Processor Memory IO devices File system Distributed systems Example OS Services Process management, protection, synchronization Memory Protection, management, VM Interrupt
More informationIO virtualization. Michael Kagan Mellanox Technologies
IO virtualization Michael Kagan Mellanox Technologies IO Virtualization Mission non-stop s to consumers Flexibility assign IO resources to consumer as needed Agility assignment of IO resources to consumer
More informationProcess Migration via Remote Fork: a Viable Programming Model? Branden J. Moor! cse 598z: Distributed Systems December 02, 2004
Process Migration via Remote Fork: a Viable Programming Model? Branden J. Moor! cse 598z: Distributed Systems December 02, 2004 What is a Remote Fork? Creates an exact copy of the process on a remote system
More informationContainers and isolation as implemented in the Linux kernel
Containers and isolation as implemented in the Linux kernel Technical Deep Dive Session Hannes Frederic Sowa Senior Software Engineer 13. September 2016 Outline Containers and isolation
More informationChapter 4: Multithreaded Programming
Chapter 4: Multithreaded Programming Silberschatz, Galvin and Gagne 2013! Chapter 4: Multithreaded Programming Overview Multicore Programming Multithreading Models Threading Issues Operating System Examples
More informationSandboxing an Android application through system call interposition
Sandboxing an Android application through system call interposition Contents Ransomware Sandboxing Android security model Trace an application One particular approach Ransomware Malicious piece of software
More informationChapter 4 Multithreaded Programming
Chapter 4 Multithreaded Programming Da-Wei Chang CSIE.NCKU Source: Abraham Silberschatz, Peter B. Galvin, and Greg Gagne, "Operating System Concepts", 9th Edition, Wiley. 1 1 Outline Overview Multithreading
More information