General Performance Assesement of the L4/Fiasco Micro-kernel
|
|
- Buck Leonard
- 6 years ago
- Views:
Transcription
1 General Performance Assesement of the L4/Fiasco Micro-kernel Cheng Guanghui, Zhou Qingguo*, Nicholas Mc Guire, Wu Wenzhong SISE, Lanzhou University Tianshui South Road 222, Lanzhou, Gansu, P.R.China Abstract This paper presents the experimental study of the performance of L4Linux on top of L4/Fiasco and Linux. Holding the hardware constant and using the different benchmark tools to measure a list of performances in order to give us a global view for performance comparison of L4Linux/Fiasco and Linux which could separately stand for the micro-kernel and monolithic kernel. Our experiments and analysis show the concrete measurement about their performances and in the end we present our conclusions. In Addition through these benchmarks we find some problems and maybe they are new task for the L4 community. 1 Introduction The debate with micro-kernel and monolithic kernel has been very hot all the time since the concept of micro-kernel appeared and maybe everyone could remember that famous one named Linus vs Tanenbaum. About one decade years ago the Herman Hartig, Jochen Liedtke and others published a paper The performance of of u-kernel-based systems in which the authors gave us a conclusion about the performance loss when comparing with monolithic kernel and micro-kernel. As a result the 5%-10% is as a conclusion when talking about the performance loss of micro-kernel vs monolithic kernel. In recent 10 years the Fiasco, L4Linux and Linux have many new versions. Especially the Linux kernel updates very very fast and from 2.0 to 2.4 and from 2.4 to 2.6 it varied very much. We repeat the similar experiments they did 10 years ago but with the tools and system of newest version. L4 is a second-generation micro-kernel specification first designed and implemented by Jochen Liedtke. Now this specification of the L4 API has implementation in many different flavours, one of which explicitly targets hard real-time systems - L4/Fiasco. L4/Fiasco, which is being developed at TU Dresden Contact us: Qingguo Zhou; Phone: ; zhouqg@lzu.edu.cn since 1996 is currently an implementation of the L4 V2 API specificatoin. The L4/Fiasco is the core of DROPS (The Dresden Real-Time Operating System Project) system which supports running real-time and time-sharing applications concurrently on one computer. L4Linux is a port of the Linux kernel to the L4 u-kernel API. Because of existence of L4Linux we could use the same tool to test two systems with different architecture. In order to get a global and fair overview for performance comparison of L4Linux and Linux we have four different benchmarks such as AIM9, Lmbench, bonnie++ and NetPIPE. In other words it is also as the view of comparison of micro-kernel and monolithic kernel. The rest of this paper is organized as following. In section 2: first we describe the test environment for evaluating them. Then we separate these results and reorganize them into 7 parts such as Numerical Operations, Process Operations, File Operations, Memory Operations, Process Communications, Disk I/O Performance, Network Performance. This classification mostly origins from the report of Lmbench benchmark. In section 3 we could state our conclusions about this test and give our opinions about the L4/Fiasco even the micro-kernel. 1
2 2 Performance Benchmark 2.3 Performance Metrics 2.1 Experimental Setup Numerical Operations The goal of this paper is to evaluate the L4Linux/Fiasco and Linux as the example of microkernel and monolithic kernel. In micro-kernel side we choose the newest version of Fiasco and L4Linux : Fiasco 1.2 and L4Linux (All the source code is downloaded from the cvs). In monolithic kernel side we choose the Linux (The kernel is downloaded from the offical kernel ftp site). we use the same file system from Ubuntu-6.06 and the hardware with AMD Duron 1.6G and 512M RAM. But in order for accuracy of comparison we limit the Linux and L4Linux could only use 256M memory. This is the basic test envirionment and if the benchmark need special hardware we could describle in the following section. The version information about benchmark tools is as following: Lmbench-3.0-a3, AIM Bechmark Suite IX(AIM9), NetPIPE 3.6.1, bonnie a. Lmbench integer float double L4Linux Linux AIM9 add mul div L4Linux Linux TABLE 1: Basic Numerical Operations 2.2 Experimental Method The benchmark once time is not reliable very much becuase of occasionality so every group of experiment we must have enough samples. So we have Lmbench benchmark 30 times and finally we have the average value. Because difference of AIM benchmark results with both L4Linux/Fiasco and Linux is trivial according to the results themselves. So we have the AIM benchmark 10 times. The situation of bonnie++ is like the Lmbench we do 30 times. The NetPIPE benchmark is very special and this test in Linux is very stable but L4Linux/Fiasco is very unstable. As a result the NetPIPE test in Linux is 10 times but the NetPIPE test in L4Linux/Fiasco needs to be 30 times. We will describle the NetPIPE benchmark in the following in detail. In the Lmbench benchmark about numberic operations in fact we test three types of number such as integer, float and double. In every type they have many kinds of operations such as add, mul, div and others. As different type we also give some particular operations For example mod of integer number. In the AIM9 the types of benchmark are more including double,float,long,int,short and they only give 3 operations with add, mul and div. Becuase they have too many kinds of numeric operations and all the results between these two kernels are almost the same. Therefore, in the TABLE 1 we use 1 to replace the real value because the raw data of L4Linux and Linux is the same. From the TABLE 1 we could find the performance of basic numberic operations with L4Linux/Fiasco and Linux almost has no difference and the micro-kernel doesn t have any visible performance loss. 2
3 2.3.2 Process Operations File Operations null- null- stat open/ Slct- Lmbench call I/O close TCP Linux L4Linux sig- sig- fork exec sh Lmbench inst hdnl Linux L4Linux kFile 0KFile 10kFile 10KFile Lmbench Create Delete Create Delete Linux L4Linux TABLE 4: File Operations In the TABLE 4 the smaller is better. From this table we could find that performance of Linux is also higher than L4Linux when they have some file operations Process Communication TABLE 2: Process Operations-lmbench Lmbench pipe af unix tcp tcp-conn From the TABLE 2 we could find the system call of micro-kernel is usually about 3 times than the monolithic kernel at least except select-tcp but the performance of select-tcp has different actions as for others. The L4Linux is equivalent with Linux in select-tcp. In this table the smaller is better. exec fork signal function function AIM9 -trap -call1 -call15 L4Linux Linux TABLE 3: Process Operations-AIM9 From the TABLE 3 we could find in a solid period that creating or execting a process in L4Linux is much slower than in Linux. But when having function call they have the same performance measurement. In this TABLE the bigger is better because it could deal with tasks faster if the number is more. In most situations the system call of micro-kernel is much slower than monolithic kernel from the Lmbench and AIM9. But this conlusion is not constant and it is only something experimental. Linux L4Linux TABLE 5: Proc Communication Latencies In the TABLE 5 we compare the communication latencies and we could find that the latency of L4Linux is double of Linux at least. And in this table the smaller is better. Lmbench pipe af tcp fileunix reread Linux L4Linux Lmbench bcopy bcopy mem- mem- (libc) (hand) read write Linux L4Linux : Proc Communication Band- TABLE width In the TABLE 6 the bigger is better and we compare the communication bandwidth of L4Linux and Linux. According to the result they have the similar performance in the communication bandwidth. 3
4 From the TABLE 5 and TABLE 6 we could know the communication latencies of L4Linux is much slower than Linux but the communication bandwidth of L4Linux and Linux are the similar Disk I/O operations bonnie++ real(m) user(m) sys(m) AIM9 disk rr disk rw disk rd disk wrt L4Linux Linux L4Linux Linux TABLE 9: Time Expense AIM9 disk cp sync rw sync wrt sync cp L4Linux Linux TABLE 7: Disk Operations(1) In the TABLE 7 the bigger is better. disk rr means Disk Reads (K) Per Second and others are similar. According to this table the disk read and disk write in L4Linux is also slower than in the Linux. but the actions relative with sync in L4Linux is much more than ones in Linux. According to the data in the TA- BLE 7 the sync speed in L4Linux is 10 times than in Linux at least. bonnie++ seq char cpu% seq blk cpu% read(k/sec) read(k/sec) From the TABLE 8 we could find that the L4Linux reads or writes the disk slower than Linux but it takes less CPU resources,too. We have the bonnie++ 30 times in total. From the TABLE 9 it only needs 78 minutes to finish all 30 tests in L4Linux but in Linux it needs 76 minutes to accomplish it. In conclusion the performance of L4Linux in disk I/O speed is very close to the performance of Linux Network Performance L4Linux Linux "L4.15" "L4.19" "Linux" bonnie++ seq rewr- cpu% seq char cpu% ite(k/sec) write(k/sec) L4Linux Linux Bandwidth in Mbps bonnie++ seq blk cpu% random cpu% write(k/sec) seek(/sec) L4Linux Linux e+06 1e+07 Message Size in Bytes TABLE 8: Disk Operations(2) Figure 1: NetPIPE Figure(1) 4
5 Bandwidth in Mbps "L4.19" "L4.2" "Linux" e+06 1e+07 "average" "Linux" "L4.17" "L4.2" 80 Bandwidth in Mbps Message Size in Bytes Figure 2: NetPIPE Figure(2) 0 0 1e+06 2e+06 3e+06 4e+06 5e+06 6e+06 7e+06 8e+06 9e+06 1e+07 Message Size in Bytes Figure 3: NetPIPE Figure(3) The basic setup is simple, we run NetPIPE on the native Linux installation and then rerun it under the L4Linux paravirtualization of the version-same kernel(2.6.17). Some problems seem to have been related to the PCI bus, the first tests were made with mainstream PCI card (RTL8139 and EEPRO100) - these test runs did not complete but simply hung for ever all the time. And the L4Linux output the kernel panic words. We tried different types of PCI cards but the same problems still appeared. Later we modify the relative file in L4Linux the kernel panic problem was resolved but the test didn t complete in most of time yet (2 times in 30 times are completed normally). Now the problems seem to be related to fairly large packet sizes and not directly related to the PCI bus. We think maybe it is a more fundamental problem in the current L4Linux version (CVS version ). In the Figure 1 you could see the 2 samples in which the netpipe could exit normally named L4.19 and L4.15 in comparison with the Linux sample. In the Figure 2 you could see the maximum sample of L4Linux named L4.19, the minimum sample of L4Linux named L4.19 and the Linux sample. In the Figure 3 you could see the average L4Linux sample named average, the maximum sample named L4.19, the minimum named L4.2 and the standard Linux sample. From these tests we think the L4/Fiasco or L4Linux is not stable in some situation. But L4Linux has a strong potential in the improvement of network performance because sometimes the maximum bandwidth could be up to 87M but the Linux is only 89M. And in 30 times experiment they have 5 times that the bandwidth is more than 80M. So we think it is very urgent and important to improve the stability of L4/Fiasco or L4Linux. If somebody could fix it it is possible that the average maximum bandwidth is up to 80M. Maybe how to resolve it is our nextstep of studying L4/Fiasco. NetPIPE average maximum minimum Linux L4Linux TABLE 10: Network Performance Testing of network performance showed some serious problems. We are not yet able to clarify fully if these problems are related only to the newest release of L4Linux or more fundamental. Nevertheless we present the results here although we don t overinterprete due to the problems. 3 Conclusion In this paper we have a series of benchmarks about performance comparison with the L4Linux on top of Fiasco and Linux. First,we present the first-hand performance benchamrk data about the L4Linux based on fiasco-1.2 and the Linux Second,from the benchmark of bonnie++ and NetPIPE we could find the performances of micro-kernel and monolithic-kernel are very very close. I think the performance loss of micro-kernel is not the reason of Linus vs Tanebaum any more. 5
6 4 Acknowledgements We d like to thank Adam Lackozynski of Dresden University of Technology very much. We asked him many problems when building the benchmark envionment and he was very patient and quick to give me the answer. Thanks to the Martin Pohlack of Dresden University of Technology very much. He helped me to fix a bug in my former paper. Thanks to the support of Cold and Arid Regions Environment and Engineering Research Institution, Chinese Academy of Sciences. Thanks to all other students in DSLab of Lanzhou University. They help us to review this paper and make the latex format. References [1] Andrew S. Tanenbaum, Jorrit N. Herder, Herbert Bos, 2006, Can we Make Operating Systems Reliable and Secure?, Computer, vol 39, no.5 pp [2] Herman Hartig, Michael Hohmuth, Jochen Liedtke, Jean Wolter, 1997, The Performance of u-kernel-based Systems, 16th ACM Symposiumon Operating Systems principles [3] Larry McVoy, Carl Staelin, lmbench: Portable tools for Performance analysis [4] Qingguo Zhou, Wang Baojun, Nicholas McGuire, 2004, Case Study of Performance of Real-Time Linux On the X86 Architecture, The Sixth Real-Time Linux Workshop [5] Herman Hartig, Michael Hohmuth and Jean Wolter, 1998, Taming Linux, the proceedings of PART 98 [6] Michel R. Dagenais, Disks, Partitions, Volumes and RAID Performance with the Linux Operating System [7] Nicholas Mc Guire and Qingguo Zhou,Benchmarking - Cache issues, the real-time Linux workshop 2005 [8] Hermann Hartig, Michael Hohmuth, Noman Feske, Christian Helmuth, Adam Lackozynski, Frank Mehnert and Michael Peter, 2005, The Nizza Secure-System Architecture, the proceedings of CollaborationCom 2005, San- Jose,CA,USA 6
General Performance Assesement of the L4/Fiasco Micro-kernel
General Performance Assesement of the L4/Fiasco Micro-kernel Cheng Guanghui, Zhou Qingguo*, Nicholas Mc Guire, Wu Wenzhong SISE, Lanzhou University Tianshui South Road 222, Lanzhou, Gansu, 7300000 P.R.China
More informationMICROKERNELS: MACH AND L4
1 MICROKERNELS: MACH AND L4 CS6410 Hakim Weatherspoon Introduction to Kernels Different Types of Kernel Designs Monolithic kernel Microkernel Hybrid Kernel Exokernel Virtual Machines? Monolithic Kernels
More informationFaithful Virtualization on a Real-Time Operating System
Faithful Virtualization on a Real-Time Operating System Henning Schild Adam Lackorzynski Alexander Warg Technische Universität Dresden Department of Computer Science Operating Systems Group 01062 Dresden
More informationBenchmarking Over The Grid Using SEE Virtual Organization.
Benchmarking Over The Grid Using SEE Virtual Organization. January 2007 Technical Report Ioannis Kouvakis 1 and Fotis Georgatos 2 1 Student of Univerity of Aegean, Department of Mathematics, gkouvakis@hep.ntua.gr
More informationThe Performance of µ-kernel-based Systems
Liedtke et al. presented by: Ryan O Connor October 7 th, 2009 Motivation By this time (1997) the OS research community had virtually abandoned research on pure µ-kernels. due primarily
More informationThe Microkernel Overhead
The Micro Overhead http://d3s.mff.cuni.cz Martin Děcký decky@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Martin Děcký, FOSDEM 2012, 5 th February 2012 The Micro Overhead
More informationDeveloping with L4 Overview and Pointers
Developing with L4 Overview and Pointers Carsten Weinhold 11. April 2012 1 Introduction 1.1 Scope of this Document This document aims at helping developers who are new to L4 with their first steps. In
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 informationFile Size Distribution on UNIX Systems Then and Now
File Size Distribution on UNIX Systems Then and Now Andrew S. Tanenbaum, Jorrit N. Herder*, Herbert Bos Dept. of Computer Science Vrije Universiteit Amsterdam, The Netherlands {ast@cs.vu.nl, jnherder@cs.vu.nl,
More informationOperating System Structure
Operating System Structure Joey Echeverria joey42+os@gmail.com April 18, 2005 Carnegie Mellon University: 15-410 Spring 2005 Overview Motivations Kernel Structures Monolithic Kernels Open Systems Microkernels
More informationFault Isolation for Device Drivers
Fault Isolation for Device Drivers 39 th International Conference on Dependable Systems and Networks, 30 June 2009, Estoril Lisbon, Portugal Jorrit N. Herder Vrije Universiteit Amsterdam ~26% of Windows
More informationIntroduction to OS. Introduction MOS Mahmoud El-Gayyar. Mahmoud El-Gayyar / Introduction to OS 1
Introduction to OS Introduction MOS 1.1 1.3 Mahmoud El-Gayyar elgayyar@ci.suez.edu.eg Mahmoud El-Gayyar / Introduction to OS 1 Why an Operating Systems course? Understanding of inner workings of systems
More informationOutline. Low-Level Optimizations in the PowerPC/Linux Kernels. PowerPC Architecture. PowerPC Architecture
Low-Level Optimizations in the PowerPC/Linux Kernels Dr. Paul Mackerras Senior Technical Staff Member IBM Linux Technology Center OzLabs Canberra, Australia paulus@samba.org paulus@au1.ibm.com Introduction
More informationCONSTRUCTION OF A HIGHLY DEPENDABLE OPERATING SYSTEM
CONSTRUCTION OF A HIGHLY DEPENDABLE OPERATING SYSTEM 6th European Dependable Computing Conference Coimbra, Portugal October 18 20, 2006 Jorrit N. Herder Dept. of Computer Science Vrije Universiteit Amsterdam
More informationIntroduction Construction State of the Art. Virtualization. Bernhard Kauer OS Group TU Dresden Dresden,
Virtualization Bernhard Kauer OS Group TU Dresden bk@vmmon.org Dresden, 2010-07-15 Motivation The vision: general-purpose OS secure trustworthy small fast fancy First problem: Legacy Application Supporting
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 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 informationCute Tricks with Virtual Memory
Cute Tricks with Virtual Memory A short history of VM (and why they don t work) CS 614 9/7/06 by Ari Rabkin Memory used to be quite limited. Use secondary storage to emulate. Either by swapping out whole
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 informationSistemi in Tempo Reale
Laurea Specialistica in Ingegneria dell'automazione Sistemi in Tempo Reale Giuseppe Lipari Introduzione alla concorrenza Fundamentals Algorithm: It is the logical procedure to solve a certain problem It
More informationTutorial on Memory Management, Deadlock and Operating System Types
Operating Systems and Systems Integration Tutorial on Memory Management, Deadlock and Operating System Types 1 Background 1.1 Memory management Virtual memory: is a method of managing memory automatically
More informationSistemi in Tempo Reale
Laurea Specialistica in Ingegneria dell'automazione Sistemi in Tempo Reale Giuseppe Lipari Introduzione alla concorrenza Fundamentals Algorithm: It is the logical procedure to solve a certain problem It
More informationDevice Driver Fault Simulation Using KEDR
Device Driver Fault Simulation Using KEDR Shakti D Shekar Prof. Dr. B B Meshram Prof. Varshapriya VJTI, Mumbai VJTI, Mumbai VJTI, Mumbai shaktishekar10@gmail.com bbmeshram@vjti.org.in varshapriyajn@vjti.org.in
More informationBackground: Operating Systems
Background: Operating Systems Brad Karp UCL Computer Science CS GZ03 / M030 9 th October 2015 Outline Goals of an operating system Sketch of UNIX User processes, kernel Process-kernel communication Waiting
More informationBackground: I/O Concurrency
Background: I/O Concurrency Brad Karp UCL Computer Science CS GZ03 / M030 5 th October 2011 Outline Worse Is Better and Distributed Systems Problem: Naïve single-process server leaves system resources
More informationVirtual Machines Measure Up
Virtual Machines Measure Up Graduate Operating Systems, Fall 2005 Final Project Presentation John Staton Karsten Steinhaeuser University of Notre Dame December 15, 2005 Outline Problem Description Virtual
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 informationVIRTUALIZATION: IBM VM/370 AND XEN
1 VIRTUALIZATION: IBM VM/370 AND XEN CS6410 Hakim Weatherspoon IBM VM/370 Robert Jay Creasy (1939-2005) Project leader of the first full virtualization hypervisor: IBM CP-40, a core component in the VM
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 informationLecture 2 Fundamental OS Concepts. Bo 2018, Spring
Lecture 2 Fundamental OS Concepts Bo Tang @ 2018, Spring Our Roadmap Computer Organization Revision Kernel Data Structures in OS OS History Four fundamental OS concepts Thread Address space (with translation)
More informationNetworks and Operating Systems Chapter 11: Introduction to Operating Systems
Systems Group Department of Computer Science ETH Zürich Networks and Operating Systems Chapter 11: Introduction to Operating Systems (252-0062-00) Donald Kossmann & Torsten Hoefler Frühjahrssemester 2012
More informationA Userspace Packet Switch for Virtual Machines
SHRINKING THE HYPERVISOR ONE SUBSYSTEM AT A TIME A Userspace Packet Switch for Virtual Machines Julian Stecklina OS Group, TU Dresden jsteckli@os.inf.tu-dresden.de VEE 2014, Salt Lake City 1 Motivation
More informationIntroduction CHAPTER. Review Questions
1 CHAPTER Introduction Review Questions Section 1.1 1.1 What are the four components of a computer system? 1.2 Provide at least three resources the operating system allocates. 1.3 What is the common name
More informationCS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University
Frequently asked questions from the previous class survey CS 370: OPERATING SYSTEMS [VIRTUALIZATION] Shrideep Pallickara Computer Science Colorado State University Difference between physical and logical
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 informationCS 550 Operating Systems Spring Operating Systems Overview
1 CS 550 Operating Systems Spring 2018 Operating Systems Overview 2 What is an OS? Applications OS Hardware A software layer between the hardware and the application programs/users which provides a virtualization
More informationLecture 3: O/S Organization. plan: O/S organization processes isolation
6.828 2012 Lecture 3: O/S Organization plan: O/S organization processes isolation topic: overall o/s design what should the main components be? what should the interfaces look like? why have an o/s at
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 informationMicrokernels and Portability. What is Portability wrt Operating Systems? Reuse of code for different platforms and processor architectures.
Microkernels and Portability What is Portability wrt Operating Systems? Reuse of code for different platforms and processor architectures. Contents Overview History Towards Portability L4 Microkernels
More informationVirtual machines (e.g., VMware)
Case studies : Introduction to operating systems principles Abstraction Management of shared resources Indirection Concurrency Atomicity Protection Naming Security Reliability Scheduling Fairness Performance
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 informationCS533 Concepts of Operating Systems. Jonathan Walpole
CS533 Concepts of Operating Systems Jonathan Walpole Improving IPC by Kernel Design & The Performance of Micro- Kernel Based Systems The IPC Dilemma IPC is very import in µ-kernel design - Increases modularity,
More informationOperating Systems (2INC0) 2018/19. Introduction (01) Dr. Tanir Ozcelebi. Courtesy of Prof. Dr. Johan Lukkien. System Architecture and Networking Group
Operating Systems (2INC0) 20/19 Introduction (01) Dr. Courtesy of Prof. Dr. Johan Lukkien System Architecture and Networking Group Course Overview Introduction to operating systems Processes, threads and
More informationMemory Hierarchy. Memory Flavors Principle of Locality Program Traces Memory Hierarchies Associativity. (Study Chapter 5)
Memory Hierarchy Why are you dressed like that? Halloween was weeks ago! It makes me look faster, don t you think? Memory Flavors Principle of Locality Program Traces Memory Hierarchies Associativity (Study
More informationThe L4 microkernel. Garland, Mehta, Roehricht, Schulze. CS-450 Section 3 Operating Systems Fall 2003 James Madison University Harrisonburg, VA
Garland, Mehta, Roehricht, Schulze The L4 microkernel Harrisonburg, November 29, 2003 CS-450 Section 3 Operating Systems Fall 2003 James Madison University Harrisonburg, VA Contents 1 An Introduction to
More informationCSE 451: Operating Systems Winter Processes. Gary Kimura
CSE 451: Operating Systems Winter 2013 Processes Gary Kimura Process management This module begins a series of topics on processes, threads, and synchronization this is the most important part of the class,
More informationOperating System Structure
Operating System Structure Joey Echeverria joey42+os@gmail.com modified by: Matthew Brewer mbrewer@andrew.cmu.edu Nov 15, 2006 Carnegie Mellon University: 15-410 Fall 2006 Overview Motivations Kernel Structures
More informationOS DESIGN PATTERNS II. CS124 Operating Systems Fall , Lecture 4
OS DESIGN PATTERNS II CS124 Operating Systems Fall 2017-2018, Lecture 4 2 Last Time Began discussing general OS design patterns Simple structure (MS-DOS) Layered structure (The THE OS) Monolithic kernels
More informationBjörn Döbel. Microkernel-Based Operating Systems. Exercise 3: Virtualization
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Björn Döbel Microkernel-Based Operating Systems Exercise 3: Virtualization Emulation Virtualization Emulation / Simulation
More informationAssessment of the Realtime Preemption Patches (RT-Preempt) and their impact on the general purpose performance of the system
Assessment of the Realtime Preemption Patches (RT-Preempt) and their impact on the general purpose performance of the system Siro Arthur Research Fellow, Distributed And Embedded Systems Lab ( DSLab) Lanzhou
More informationCSC369 Lecture 2. Larry Zhang, September 21, 2015
CSC369 Lecture 2 Larry Zhang, September 21, 2015 1 Volunteer note-taker needed by accessibility service see announcement on Piazza for details 2 Change to office hour to resolve conflict with CSC373 lecture
More informationLecture Topics. Announcements. Today: Operating System Overview (Stallings, chapter , ) Next: Processes (Stallings, chapter
Lecture Topics Today: Operating System Overview (Stallings, chapter 2.1-2.4, 2.8-2.10) Next: Processes (Stallings, chapter 3.1-3.6) 1 Announcements Consulting hours posted Self-Study Exercise #3 posted
More informationDesign and Implementation of a Random Access File System for NVRAM
This article has been accepted and published on J-STAGE in advance of copyediting. Content is final as presented. IEICE Electronics Express, Vol.* No.*,*-* Design and Implementation of a Random Access
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 informationReal-Time Systems Hermann Härtig Real-Time Operating Systems Brief Overview
Real-Time Systems Hermann Härtig Real-Time Operating Systems Brief Overview 02/02/12 Outline Introduction Basic variants of RTOSes Real-Time paradigms Common requirements for all RTOSes High level resources
More informationECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017
ECE 550D Fundamentals of Computer Systems and Engineering Fall 2017 The Operating System (OS) Prof. John Board Duke University Slides are derived from work by Profs. Tyler Bletsch and Andrew Hilton (Duke)
More 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 informationCS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University
CS 555: DISTRIBUTED SYSTEMS [THREADS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey Shuffle less/shuffle better Which actions?
More informationTaming Linux. Hermann Härtig, Michael Hohmuth, and Jean Wolter. Dresden University of Technology Dept. of Computer Science D Dresden, Germany
Taming Linux Hermann Härtig, Michael Hohmuth, and Jean Wolter Dresden University of Technology Dept of Computer Science D-01062 Dresden, Germany l4-linux@osinftu-dresdende Tel: +49 351 463-8282, Fax: +49
More informationCS 390 Chapter 2 Homework Solutions
CS 390 Chapter 2 Homework Solutions 2.1 What is the purpose of... System calls are used by user-level programs to request a service from the operating system. 2.5 What is the purpose of... The purpose
More informationWhat is an Operating System? A Whirlwind Tour of Operating Systems. How did OS evolve? How did OS evolve?
What is an Operating System? A Whirlwind Tour of Operating Systems Trusted software interposed between the hardware and application/utilities to improve efficiency and usability Most computing systems
More informationDesign Overview of the FreeBSD Kernel CIS 657
Design Overview of the FreeBSD Kernel CIS 657 Organization of the Kernel Machine-independent 86% of the kernel (80% in 4.4BSD) C code Machine-dependent 14% of kernel Only 0.6% of kernel in assembler (2%
More informationDo Microkernels Suck? Gernot Heiser UNSW, NICTA and Open Kernel Labs
Do Microkernels Suck? Gernot Heiser UNSW, NICTA and Open Kernel Labs OLS 2007 Talk by Christoph Lameter: Extreme High Performance Computing or Why Microkernels Suck Contents: This is how we got Linux to
More informationDistributed File Systems Issues. NFS (Network File System) AFS: Namespace. The Andrew File System (AFS) Operating Systems 11/19/2012 CSC 256/456 1
Distributed File Systems Issues NFS (Network File System) Naming and transparency (location transparency versus location independence) Host:local-name Attach remote directories (mount) Single global name
More informationDesign Overview of the FreeBSD Kernel. Organization of the Kernel. What Code is Machine Independent?
Design Overview of the FreeBSD Kernel CIS 657 Organization of the Kernel Machine-independent 86% of the kernel (80% in 4.4BSD) C C code Machine-dependent 14% of kernel Only 0.6% of kernel in assembler
More informationLow overhead virtual machines tracing in a cloud infrastructure
Low overhead virtual machines tracing in a cloud infrastructure Mohamad Gebai Michel Dagenais Dec 7, 2012 École Polytechnique de Montreal Content Area of research Current tracing: LTTng vs ftrace / virtio
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 informationINNOV-4: Fun With Virtualization. Or, How I learned to love computers that don t really exist...
1 INNOV-4: Fun With Virtualization Or, How I learned to love computers that don t really exist... President, BravePoint, Inc. About Unix user since 1982 Progress developer since 1984 Linux Desktop and
More informationCOMP 273 Winter physical vs. virtual mem Mar. 15, 2012
Virtual Memory The model of MIPS Memory that we have been working with is as follows. There is your MIPS program, including various functions and data used by this program, and there are some kernel programs
More informationMicrokernels and Client- Server Architectures
Microkernels and Client- Server Architectures I m not interested in making devices look like user-level. They aren t, they shouldn t, and microkernels are just stupid. Linus Torwalds 1 Motivation Early
More informationMemory Management. To improve CPU utilization in a multiprogramming environment we need multiple programs in main memory at the same time.
Memory Management To improve CPU utilization in a multiprogramming environment we need multiple programs in main memory at the same time. Basic CPUs and Physical Memory CPU cache Physical memory
More informationCSC369 Lecture 2. Larry Zhang
CSC369 Lecture 2 Larry Zhang 1 Announcements Lecture slides Midterm timing issue Assignment 1 will be out soon! Start early, and ask questions. We will have bonus for groups that finish early. 2 Assignment
More informationFaculty of Computer Science, Operating Systems Group. The L4Re Microkernel. Adam Lackorzynski. July 2017
Faculty of Computer Science, Operating Systems Group The L4Re Microkernel Adam Lackorzynski July 2017 2 Agenda Plan What is L4Re? History The L4Re Microkernel / Hypervisor Fiasco Interfaces SMP Virtualization...
More informationCaching. From an OS Perspective. COMP /S2 Week 3
cse/unsw Caching From an OS Perspective COMP9242 2004/S2 Week 3 CACHING Registers Cache Main Memory Disk Cache is fast (1 5 cycle access time) memory sitting between fast registers and slow RAM (10 100
More informationECE 571 Advanced Microprocessor-Based Design Lecture 2
ECE 571 Advanced Microprocessor-Based Design Lecture 2 Vince Weaver http://www.eece.maine.edu/~vweaver vincent.weaver@maine.edu 21 January 2016 Announcements HW#1 will be posted tomorrow I am handing out
More informationAN OVERVIEW OF MINIX 3
AN OVERVIEW OF MINIX 3 NICTA seminar, 20 Oct. 2008 Sydney, Australia Jorrit N. Herder Vrije Universiteit Amsterdam There are no significant bugs in our released software that any significant number of
More informationMicrokernel Construction. Introduction. Michael Hohmuth. Lars Reuther. TU Dresden Operating Systems Group
Introduction Lecture Goals Provide deeper understanding of OS mechanisms Make all of you enthusiastic kernel hackers Illustrate alternative system design concepts Promote OS research at 2 Administration
More informationCS 326: Operating Systems. Networking. Lecture 17
CS 326: Operating Systems Networking Lecture 17 Today s Schedule Project 3 Overview, Q&A Networking Basics Messaging 4/23/18 CS 326: Operating Systems 2 Today s Schedule Project 3 Overview, Q&A Networking
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 informationCPS 310 first midterm exam, 2/26/2014
CPS 310 first midterm exam, 2/26/2014 Your name please: Part 1. More fun with forks (a) What is the output generated by this program? In fact the output is not uniquely defined, i.e., it is not necessarily
More informationAnalysing the Scalability of Virtualized Environment. Master Thesis. Bishmaya Banstola. UNIVERSITY OF OSLO Department of Informatics
UNIVERSITY OF OSLO Department of Informatics Analysing the Scalability of Virtualized Environment Master Thesis Bishmaya Banstola Network and System Administration May 23, 2012 Analysing the Scalability
More information4. Jump to *RA 4. StackGuard 5. Execute code 5. Instruction Set Randomization 6. Make system call 6. System call Randomization
04/04/06 Lecture Notes Untrusted Beili Wang Stages of Static Overflow Solution 1. Find bug in 1. Static Analysis 2. Send overflowing input 2. CCured 3. Overwrite return address 3. Address Space Randomization
More informationCOS 318: Operating Systems. File Systems. Topics. Evolved Data Center Storage Hierarchy. Traditional Data Center Storage Hierarchy
Topics COS 318: Operating Systems File Systems hierarchy File system abstraction File system operations File system protection 2 Traditional Data Center Hierarchy Evolved Data Center Hierarchy Clients
More informationFilesystem Performance on FreeBSD
Filesystem Performance on FreeBSD Kris Kennaway kris@freebsd.org BSDCan 2006, Ottawa, May 12 Introduction Filesystem performance has many aspects No single metric for quantifying it I will focus on aspects
More informationCLOUD COMPUTING IT0530. G.JEYA BHARATHI Asst.Prof.(O.G) Department of IT SRM University
CLOUD COMPUTING IT0530 G.JEYA BHARATHI Asst.Prof.(O.G) Department of IT SRM University What is virtualization? Virtualization is way to run multiple operating systems and user applications on the same
More informationComputer Architecture Spring 2016
Computer Architecture Spring 2016 Lecture 02: Introduction II Shuai Wang Department of Computer Science and Technology Nanjing University Pipeline Hazards Major hurdle to pipelining: hazards prevent the
More informationConcepts of Distributed Systems 2006/2007
Concepts of Distributed Systems 2006/2007 Introduction & overview Johan Lukkien 1 Introduction & overview Communication Distributed OS & Processes Synchronization Security Consistency & replication Programme
More informationOperating Systems Course Overview
Operating Systems Course Overview Instructor: Kartik Gopalan Class website: http://oscourse.github.io Interfaces in a Computer System (1) User-level processes (2) (3) Libraries Operating System (4) (5)
More informationBasic Concepts & OS History
Basic Concepts & OS History Nima Honarmand Administrivia TA: Babak Amin Azad Office hours: Monday & Wednesday, 5:30-7:00 PM Location: 2217 old CS building VMs ready; SSH Keys will be emailed today Lab1
More informationLecture 2 Operating System Structures (chapter 2)
Bilkent University Department of Computer Engineering CS342 Operating Systems Lecture 2 Operating System Structures (chapter 2) Dr. İbrahim Körpeoğlu http://www.cs.bilkent.edu.tr/~korpe 1 References The
More informationLecture Notes for 04/04/06: UNTRUSTED CODE Fatima Zarinni.
Lecture Notes for 04/04/06 UNTRUSTED CODE Fatima Zarinni. Last class we started to talk about the different System Solutions for Stack Overflow. We are going to continue the subject. Stages of Stack Overflow
More informationMulti-level Translation. CS 537 Lecture 9 Paging. Example two-level page table. Multi-level Translation Analysis
Multi-level Translation CS 57 Lecture 9 Paging Michael Swift Problem: what if you have a sparse address space e.g. out of GB, you use MB spread out need one PTE per page in virtual address space bit AS
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 informationMemory latency: Affects cache miss penalty. Measured by:
Main Memory Main memory generally utilizes Dynamic RAM (DRAM), which use a single transistor to store a bit, but require a periodic data refresh by reading every row. Static RAM may be used for main memory
More informationA Key Theme of CIS 371: Parallelism. CIS 371 Computer Organization and Design. Readings. This Unit: (In-Order) Superscalar Pipelines
A Key Theme of CIS 371: arallelism CIS 371 Computer Organization and Design Unit 10: Superscalar ipelines reviously: pipeline-level parallelism Work on execute of one instruction in parallel with decode
More informationCSCE Introduction to Computer Systems Spring 2019
CSCE 313-200 Introduction to Computer Systems Spring 2019 Threads Dmitri Loguinov Texas A&M University January 29, 2019 1 Updates Quiz on Thursday System Programming Tutorial (pay attention to exercises)
More informationMemory latency: Affects cache miss penalty. Measured by:
Main Memory Main memory generally utilizes Dynamic RAM (DRAM), which use a single transistor to store a bit, but require a periodic data refresh by reading every row. Static RAM may be used for main memory
More informationCMPSC 311- Introduction to Systems Programming Module: Caching
CMPSC 311- Introduction to Systems Programming Module: Caching Professor Patrick McDaniel Fall 2016 Reminder: Memory Hierarchy L0: Registers CPU registers hold words retrieved from L1 cache Smaller, faster,
More informationBenchmarking Operating Systems
Benchmarking Operating Systems Nicholas Hatt Oberlin College 08 nhatt@cs.oberlin.edu Axis Sivitz Oberlin College 08 asivitz@cs.oberlin.edu Benjamin A. Kuperman Oberlin College Computer Science kuperman@cs.oberlin.edu
More information