The Performance of Micro-Kernel-Based Systems
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
(12) Patent Application Publication (10) Pub
US 20140.095539A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2014/0095539 A1 Smit et al. (43) Pub. Date: Apr. 3, 2014 (54) SYSTEMAND METHOD FOR tinuation of application No. 09/933,493, filed on Aug. ASYNCHRONOUS CLIENT SERVER SESSION 20, 2001, now Pat. No. 8,112,529. COMMUNICATION Publication Classification (71) Applicant: MasterObjects, Inc., Zeist (NL) (51) Int. Cl. (72) Inventors: Mark Hans Smit, Maarssen (NL); G06F 7/30 (2006.01) Stefan M. van den Oord, Best (NL) (52) U.S. Cl. CPC ................................ G06F 17/30696 (2013.01) (73) Assignee: MasterObjects, Inc., Zeist (NL) USPC .......................................................... 707/772 (57) ABSTRACT (21) Appl. No.: 14/027,645 The invention provides a session-based bi-directional multi tier client-server asynchronous information database search (22) Filed: Sep. 16, 2013 and retrieval system for sending a character-by-character string of data to an intelligent server that can be configured to Related U.S. Application Data immediately analyze the lengthening string character-by (63) Continuation of application No. 13/366,905, filed on character and return to the client increasingly appropriate Feb. 6, 2012, now Pat. No. 8,539,024, which is a con database information as the client sends the string. Arif ... is A i is Kerstriler listick: ersistent {}:s: Sters is: ritesic sig: liais: lagi Sistisic's Sife fertiei stees Mediate C3:::::::::::::::: issisi Eisik Patent Application Publication Apr. 3, 2014 Sheet 1 of 17 US 2014/0095539 A1 Questobjects {ssrt Ouest(bjecis Server its - {tiestfijects Series: FIG. Patent Application Publication Apr. 3, 2014 Sheet 2 of 17 US 2014/0095539 A1 iii.;; 'ersistent Q38: Store Freferencelas:g&f Sissistic'st Sisyre Sviciikai: -- - . -
A Programmable Microkernel for Real-Time Systems∗
A Programmable Microkernel for Real-Time Systems∗ Christoph M. Kirsch Marco A.A. Sanvido Thomas A. Henzinger University of Salzburg VMWare Inc. EPFL and UC Berkeley [email protected] tah@epfl.ch ABSTRACT Categories and Subject Descriptors We present a new software system architecture for the im- D.4.7 [Operating Systems]: Organization and Design— plementation of hard real-time applications. The core of the Real-time systems and embedded systems system is a microkernel whose reactivity (interrupt handling as in synchronous reactive programs) and proactivity (task General Terms scheduling as in traditional RTOSs) are fully programma- Languages ble. The microkernel, which we implemented on a Strong- ARM processor, consists of two interacting domain-specific Keywords virtual machines, a reactive E (Embedded) machine and a proactive S (Scheduling) machine. The microkernel code (or Real Time, Operating System, Virtual Machine microcode) that runs on the microkernel is partitioned into E and S code. E code manages the interaction of the system 1. INTRODUCTION with the physical environment: the execution of E code is In [9], we advocated the E (Embedded) machine as a triggered by environment interrupts, which signal external portable target for compiling hard real-time code, and in- events such as the arrival of a message or sensor value, and it troduced, in [11], the S (Scheduling) machine as a universal releases application tasks to the S machine. S code manages target for generating schedules according to arbitrary and the interaction of the system with the processor: the exe- possibly non-trivial strategies such as nonpreemptive and cution of S code is triggered by hardware interrupts, which multiprocessor scheduling. -
The Design of the EMPS Multiprocessor Executive for Distributed Computing
The design of the EMPS multiprocessor executive for distributed computing Citation for published version (APA): van Dijk, G. J. W. (1993). The design of the EMPS multiprocessor executive for distributed computing. Technische Universiteit Eindhoven. https://doi.org/10.6100/IR393185 DOI: 10.6100/IR393185 Document status and date: Published: 01/01/1993 Document Version: Publisher’s PDF, also known as Version of Record (includes final page, issue and volume numbers) Please check the document version of this publication: • A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website. • The final author version and the galley proof are versions of the publication after peer review. • The final published version features the final layout of the paper including the volume, issue and page numbers. Link to publication General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal. -
Avionics Systems Development for Small Unmanned Aircraft Vladislav Gavrilets
Avionics Systems Development for Small Unmanned Aircraft by Vladislav Gavrilets Submitted to the Department of Aeronautics and Astronautics in partial fulfillment of the requirements for the degree of Master of Science in Aeronautics and Astronautics at the R ,SSACHUSETTS INSTITUTE OF TECHNOLOGY June 1998 @ Massachusetts Institute of Technology 1998. All rights reserved. A uthor ................... .......... ............ Department of Aeronautics and Astronautics May 22, 1998 Certified by ......................... ... \ John J. Deyst Professor of Aeronautics and Astronautics Thesis Supervisor Accepted by ...................... S1 Jaime Peraire Chairman, Department Committee on Graduate Students JUL Os)81"8 LIBRARIES Avionics Systems Development for Small Unmanned Aircraft by Vladislav Gavrilets Submitted to the Department of Aeronautics and Astronautics on May 22, 1998, in partial fulfillment of the requirements for the degree of Master of Science in Aeronautics and Astronautics Abstract The avionics systems for two small unmanned aerial vehicles (UAVs) are considered from the point of view of hardware selection, navigation and control algorithm design, and software development. Some common challenges for many small UAV systems are addressed, including gust disturbance rejection at low speeds, control power, and systems integration. A rapid prototyping simulation framework which grew out of these efforts is described. A number of navigation, attitude determination and control algorithms are suggested for use in specific applications. Thesis Supervisor: John J. Deyst Title: Professor of Aeronautics and Astronautics Acknowledgments The work described in this thesis was a result of team effort. Here I would like to thank people who contributed to both projects described in the thesis, and otherwise provided support during my two years at MIT. I would like to thank my advisor Professor John J. -
Chapter 1. Origins of Mac OS X
1 Chapter 1. Origins of Mac OS X "Most ideas come from previous ideas." Alan Curtis Kay The Mac OS X operating system represents a rather successful coming together of paradigms, ideologies, and technologies that have often resisted each other in the past. A good example is the cordial relationship that exists between the command-line and graphical interfaces in Mac OS X. The system is a result of the trials and tribulations of Apple and NeXT, as well as their user and developer communities. Mac OS X exemplifies how a capable system can result from the direct or indirect efforts of corporations, academic and research communities, the Open Source and Free Software movements, and, of course, individuals. Apple has been around since 1976, and many accounts of its history have been told. If the story of Apple as a company is fascinating, so is the technical history of Apple's operating systems. In this chapter,[1] we will trace the history of Mac OS X, discussing several technologies whose confluence eventually led to the modern-day Apple operating system. [1] This book's accompanying web site (www.osxbook.com) provides a more detailed technical history of all of Apple's operating systems. 1 2 2 1 1.1. Apple's Quest for the[2] Operating System [2] Whereas the word "the" is used here to designate prominence and desirability, it is an interesting coincidence that "THE" was the name of a multiprogramming system described by Edsger W. Dijkstra in a 1968 paper. It was March 1988. The Macintosh had been around for four years. -
Research Purpose Operating Systems – a Wide Survey
GESJ: Computer Science and Telecommunications 2010|No.3(26) ISSN 1512-1232 RESEARCH PURPOSE OPERATING SYSTEMS – A WIDE SURVEY Pinaki Chakraborty School of Computer and Systems Sciences, Jawaharlal Nehru University, New Delhi – 110067, India. E-mail: [email protected] Abstract Operating systems constitute a class of vital software. A plethora of operating systems, of different types and developed by different manufacturers over the years, are available now. This paper concentrates on research purpose operating systems because many of them have high technological significance and they have been vividly documented in the research literature. Thirty-four academic and research purpose operating systems have been briefly reviewed in this paper. It was observed that the microkernel based architecture is being used widely to design research purpose operating systems. It was also noticed that object oriented operating systems are emerging as a promising option. Hence, the paper concludes by suggesting a study of the scope of microkernel based object oriented operating systems. Keywords: Operating system, research purpose operating system, object oriented operating system, microkernel 1. Introduction An operating system is a software that manages all the resources of a computer, both hardware and software, and provides an environment in which a user can execute programs in a convenient and efficient manner [1]. However, the principles and concepts used in the operating systems were not standardized in a day. In fact, operating systems have been evolving through the years [2]. There were no operating systems in the early computers. In those systems, every program required full hardware specification to execute correctly and perform each trivial task, and its own drivers for peripheral devices like card readers and line printers. -
Microkernel Construction Introduction
Microkernel Construction Introduction Nils Asmussen 04/09/2020 1 / 32 Normal Organization Thursday, 4th DS, 2 SWS Slides: www.tudos.org ! Studies ! Lectures ! MKC Subscribe to our mailing list: www.tudos.org/mailman/listinfo/mkc2020 In winter term: Microkernel-based operating systems (MOS) Various labs 2 / 32 Organization due to COVID-19 Slides and video recordings of lectures will be published Questions can be asked on the mailing list Subscribe to the mailing list! Practical exercises are planed for the end of the semester Depending on how COVID-19 continues, exercises are in person or we use some video-conferencing tool 3 / 32 Goals 1 Provide deeper understanding of OS mechanisms 2 Look at the implementation details of microkernels 3 Make you become enthusiastic microkernel hackers 4 Propaganda for OS research done at TU Dresden and Barkhausen Institut 4 / 32 Outline Organization Monolithic vs. Microkernel Kernel design comparison Examples for microkernel-based systems Vision vs. Reality Challenges Overview About L4/NOVA 5 / 32 Monolithic Kernel System Design u s Application Application Application e r k Kernel e r File Network n e Systems Stacks l m Memory Process o Drivers Management Management d e Hardware 6 / 32 Monolithic Kernel OS (Propaganda) System components run in privileged mode No protection between system components Faulty driver can crash the whole system Malicious app could exploit bug in faulty driver More than 2=3 of today's OS code are drivers No need for good system design Direct access to data structures Undocumented -
Operating System Structure
Operating System Structure Joey Echeverria [email protected] modified by: Matthew Brewer [email protected] Nov 15, 2006 Carnegie Mellon University: 15-410 Fall 2006 Overview • Motivations • Kernel Structures – Monolithic Kernels ∗ Kernel Extensions – Open Systems – Microkernels – Exokernels – More Microkernels • Final Thoughts Carnegie Mellon University: 15-410 Fall 2006 1 Motivations • Operating systems have a hard job. • Operating systems are: – Hardware Multiplexers – Abstraction layers – Protection boundaries – Complicated Carnegie Mellon University: 15-410 Fall 2006 2 Motivations • Hardware Multiplexer – Each process sees a “computer” as if it were alone – Requires allocation and multiplexing of: ∗ Memory ∗ Disk ∗ CPU ∗ IO in general (network, graphics, keyboard etc.) • If OS is multiplexing it must also allocate – Priorities, Classes? - HARD problems!!! Carnegie Mellon University: 15-410 Fall 2006 3 Motivations • Abstraction Layer – Presents “simple”, “uniform” interface to hardware – Applications see a well defined interface (system calls) ∗ Block Device (hard drive, flash card, network mount, USB drive) ∗ CD drive (SCSI, IDE) ∗ tty (teletype, serial terminal, virtual terminal) ∗ filesystem (ext2-4, reiserfs, UFS, FFS, NFS, AFS, JFFS2, CRAMFS) ∗ network stack (TCP/IP abstraction) Carnegie Mellon University: 15-410 Fall 2006 4 Motivations • Protection Boundaries – Protect processes from each other – Protect crucial services (like the kernel) from process – Note: Everyone trusts the kernel • Complicated – See Project 3 :) – Full -
Kernel Architectures
A short history of kernels n Early kernel: a library of device drivers, support for threads (QNX) Operating System Kernels n Monolithic kernels: Unix, VMS, OS 360… n Unstructured but fast… n Over time, became very large Ken Birman n Eventually, DLLs helped on size n Pure microkernels: Mach, Amoeba, Chorus… (borrowing some content from n OS as a kind of application Peter Sirokman) n Impure microkernels: Modern Windows OS n Microkernel optimized to support a single OS n VMM support for Unix on Windows and vice versa The great m-kernel debate Summary of First Paper n How big does it need to be? n The Performance of µ-Kernel-Based Systems (Hartig et al. 16th SOSP, Oct 1997) n With a m-kernel protection-boundary crossing forces us to n Evaluates the L4 microkernel as a basis for a full operating system n Change memory -map n Ports Linux to run on top of L4 and compares n Flush TLB (unless tagged) performance to native Linux and Linux running on n With a macro-kernel we lose structural the Mach microkernel protection benefits and fault-containment n Explores the extensibility of the L4 microkernel n Debate raged during early 1980’s Summary of Second Paper In perspective? n The Flux OSKit: A Substrate for Kernel and n L4 seeks to validate idea that a m-kernel Language Research (Ford et al. 16th SOSP, can support a full OS without terrible 1997) cost penalty n Describes a set of OS components designed to be used to build custom operating systems n Opened the door to architectures like the n Includes existing code simply using “glue code” Windows -
Pc104 1884 Spring 01
Coming of age: A trinity of technology PC/104 – Linux – GPS Figure 1. MZ104 board in the hand – One of the first five origi- nal beta test MZ104 boards. This unit was designed, built, and By Doug Stead tested in less than 60 days. Shown without the SO_DIMM mem- ory module, main memory can be added in sizes 2 to 64 Mbytes using fast SDRAM. Heat is not a problem as the MachZ chip con- sumes less than 0.5 Watts of saving battery power, or engineer- ing additional heat dissipation in sealed enclosures. itary, medical, and telecom environments, or where a desktop system is not suitable. At the heart of the MZ104 is a 133 MHz 486 processor buried within the MachZ silicon. This PC-on-a-chip, measuring What the world needs now, aside from Engineering, has just released the MZ104, 35mm x 35mm, contains all the transistors love, sweet love, are more reliability, a brand new sibling to the world of and logic gates to produce the functional- efficiency, and ubiquity. Over the last PC/104 products. (See Figure 1.) ity of a multi-card solution (See Figure 2). decade, our company has been a witness The MachZ chip uses 0.25-micron tech- and a participant in the maturation of not The MZ104 is a 486+ PC/104 single-board nology and is packaged in a 388-pin Ball only our own technology of embedded computer, which is a fully compliant Grid Array (BGA). When operating at top x86 PC/104 single-board computers and PC/104 CPU engine. -
Computer Architectures an Overview
Computer Architectures An Overview PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Sat, 25 Feb 2012 22:35:32 UTC Contents Articles Microarchitecture 1 x86 7 PowerPC 23 IBM POWER 33 MIPS architecture 39 SPARC 57 ARM architecture 65 DEC Alpha 80 AlphaStation 92 AlphaServer 95 Very long instruction word 103 Instruction-level parallelism 107 Explicitly parallel instruction computing 108 References Article Sources and Contributors 111 Image Sources, Licenses and Contributors 113 Article Licenses License 114 Microarchitecture 1 Microarchitecture In computer engineering, microarchitecture (sometimes abbreviated to µarch or uarch), also called computer organization, is the way a given instruction set architecture (ISA) is implemented on a processor. A given ISA may be implemented with different microarchitectures.[1] Implementations might vary due to different goals of a given design or due to shifts in technology.[2] Computer architecture is the combination of microarchitecture and instruction set design. Relation to instruction set architecture The ISA is roughly the same as the programming model of a processor as seen by an assembly language programmer or compiler writer. The ISA includes the execution model, processor registers, address and data formats among other things. The Intel Core microarchitecture microarchitecture includes the constituent parts of the processor and how these interconnect and interoperate to implement the ISA. The microarchitecture of a machine is usually represented as (more or less detailed) diagrams that describe the interconnections of the various microarchitectural elements of the machine, which may be everything from single gates and registers, to complete arithmetic logic units (ALU)s and even larger elements. -
Providing Policy Control Over Object Operations in a Mach Based System
The following paper was originally published in the Proceedings of the Fifth USENIX UNIX Security Symposium Salt Lake City, Utah, June 1995. Providing Policy Control Over Object Operations in a Mach Based System Spencer E. Minear Secure Computing Corporation Roseville, Minnesota For more information about USENIX Association contact: 1. Phone: 510 528-8649 2. FAX: 510 548-5738 3. Email: [email protected] 4. WWW URL: http://www.usenix.org Providing Policy Control Over Object Operations in a Mach Based System Spencer E. Minear Secure Computing Corporation 2675 Long Lake Road, Roseville, Minnesota 55113-2536 Email: [email protected] 28 April 1995 Abstract 1 Introduction The fundamental tenet on which this work is based is that high-integrity secure and safety- In both secure and safety-critical systems it critical systems benefit from an architecture is desirable to have a very clear relationship which possesses the following characteristics: between the system’s mandatory security pol- icy and its proven operational semantics. This 1. The system must have a clear, mandatory relationship is made clearer if the system ar- security policy which defines its desired chitecture provides strong separation between operation, the enforcement mechanisms and the policy 2. The system’s enforcement mechanisms decisions, and if the policy decision software must provide control over all system op- is clearly identifiable in the system’s architec- erations, ture. 3. The decision logic implementing the sys- tem’s mandatory security policy must be This paper describes a prototype Unix sys- encapsulated in a very limited number of tem based on Mach which provides manda- system elements, tory control over all kernel-supported opera- 4.