A Methodology for Trustworthy File Systems

Total Page:16

File Type:pdf, Size:1020Kb

A Methodology for Trustworthy File Systems A Methodology for Trustworthy File Systems Sidney Amani Submitted in fulfilment of the requirements for the degree of Doctor of Philosophy School of Computer Science and Engineering Faculty of Engineering August 2016 PLEASE TYPE THE UNIVERSITY OF NEW SOUTH WALES Thesis/Dissertation Sheet Surname or Family name: Amani First name: Sidney Other name/s: Abbreviation for degree as given in the University calendar: PhD School: School of Computer Science and Engineering Faculty: Faculty of Engineering Title: A methodology for trustworthy file systems Abstract 350 words maximum: (PLEASE TYPE) The main contribution of this thesis is a methodology for designing, implementing and verifying realistic file systems with evidence of its effectiveness by application to a non-trivial flash file system. The goal of this research is to demonstrate that an implementation level machine-checked proof of correctness of a file system can be done at reasonable cost. Our approach leverages Cogent, a purely functional, memory and type-safe language we helped design, that bridges the gap between verifiable formal model and low-level code. Cogent takes a modular file system implementation as input and generates a C implementation and a formal proof that links it to its corresponding generated Cogent specification. Cogent specifications inherit the purely functional aspect of the input source code, and thus they proved much easier to reason about than the C code directly. In order to prove the correctness of complex file system components at reasonable cost, we decompose the functionality into a set of components such that the correctness of each can be proven in isolation. The component proofs are mechanically composed into a theorem that holds on the C implementation by refinement. To validate our approach, we designed and implemented BilbyFs, a modular flash file system. We formally specified BilbyFs’ file system operations in Isabelle/HOL, and proved the functional correctness of two key operations: sync() and iget(). BilbyFs’ design demonstrates the practicality of aggressive modular decomposition, and its Cogent implementation highlights the benefits and feasibility of using a linearly-typed language to implement a realistic file system. Our verification results show that we can exploit our modular design to reason about implementation components in isolation, and that overall our methodology drastically reduces the effort of verifying file system code. Declaration relating to disposition of project thesis/dissertation I hereby grant to the University of New South Wales or its agents the right to archive and to make available my thesis or dissertation in whole or in part in the University libraries in all forms of media, now or here after known, subject to the provisions of the Copyright Act 1968. I retain all property rights, such as patent rights. I also retain the right to use in future works (such as articles or books) all or part of this thesis or dissertation. I also authorise University Microfilms to use the 350 word abstract of my thesis in Dissertation Abstracts International (this is applicable to doctoral theses only). …………………………………………………………… ……………………………………..……………… Signature Witness Signature Date The University recognises that there may be exceptional circumstances requiring restrictions on copying or conditions on use. Requests for restriction for a period of up to 2 years must be made in writing. Requests for a longer period of restriction may be considered in exceptional circumstances and require the approval of the Dean of Graduate Research. FOR OFFICE USE ONLY Date of completion of requirements for Award: THIS SHEET IS TO BE GLUED TO THE INSIDE FRONT COVER OF THE THESIS Originality Statement ‘I hereby declare that this submission is my own work and to the best of my knowledge it contains no materials previously published or written by another person, or substantial proportions of material which have been accepted for the award of any other degree or diploma at UNSW or any other educational institution, except where due acknowledge- ment is made in the thesis. Any contribution made to the research by others, with whom I have worked at UNSW or elsewhere, is explicitly acknowledged in the thesis. I also declare that the intellectual content of this thesis is the product of my own work, except to the extent that assistance from others in the project’s design and conception or in style, presentation and linguistic expression is acknowledged.’ Signed ............................................................................. Date ............................................................................... ii Copyright Statement ‘I hereby grant the University of New South Wales or its agents the right to archive and to make available my thesis or dissertation in whole or part in the University libraries in all forms of media, now or here after known, subject to the provisions of the Copyright Act 1968. I retain all proprietary rights, such as patent rights. I also retain the right to use in future works (such as articles or books) all or part of this thesis or dissertation. I also authorise University Microfilms to use the 350 word abstract of my thesis in Dissertation Abstract International (this is applicable to doctoral theses only). I have either used no substantial portions of copyright material in my thesis or I have obtained permission to use copyright material; where permission has not been granted I have applied/will apply for a partial restriction of the digital copy of my thesis or dissertation.’ Signed ............................................................................. Date ............................................................................... Authenticity Statement ‘I certify that the Library deposit digital copy is a direct equivalent of the final officially approved version of my thesis. No emendation of content has occurred and if there are any minor variations in formatting, they are the result of the conversion to digital format.’ Signed ............................................................................. Date ............................................................................... iii iv Abstract The main contribution of this thesis is a methodology for designing, imple- menting and verifying realistic file systems with evidence of its effectiveness by application to a non-trivial flash file system. The goal of this research is to demonstrate that an implementation level machine-checked proof of correctness of a file system can be done at reasonable cost. Our approach leverages Cogent, a purely functional, memory- and type- safe language we helped design, that bridges the gap between verifiable formal model and low-level code. Cogent takes a modular file system implementation as input and generates a C implementation and a formal proof that links it to its corresponding generated Cogent specification. Cogent specifications inherit the purely functional aspect of the input source code, and thus they proved much easier to reason about than the C code directly. In order to prove the correctness of complex file system components at reasonable cost, we decompose the functionality into a set of components such that the correctness of each can be proven in isolation. The component proofs are mechanically composed into a theorem that holds on the C implementation by refinement. To validate our approach, we designed and implemented BilbyFs, a modular flash file system. We formally specified BilbyFs’ file system operations in Isabelle/HOL, and proved the functional correctness of two key operations: sync() and iget(). BilbyFs’ design demonstrates the practicality of aggressive modular de- composition, and its Cogent implementation highlights the benefits and feasibility of using a linearly-typed language to implement a realistic file system. Our verification results show that we can exploit our modular design to reason about implementation components in isolation, and that overall our methodology drastically reduces the effort of verifying file system code. v Acknowledgements This thesis would not have been possible without the help of Toby Murray, my main supervisor during my PhD program, whose supervision style was great. Toby, thank you for your patience over the years and for cheering me up when the future did not look bright. I am also indebted to Leonid Ryzhyk, who was my supervisor during the first year of my PhD. Leonid, you have been a model of diligence and integrity to me. I truly admire you as a colleague and, more importantly, as a friend. This adventure would not have been possible without the support of Gernot Heiser, Gabi Keller and Gerwin Klein who were always willing to help and never lost their trust in me. The rest of the Trustworthy File Systems team also played a significant role in this endeavour. It was a great pleasure to work with so many talented people. More specifically, I would like to thank Zilin Chen, Christine Rizkallah, Alex Hixon, Yutaka Nagashima, Liam O’Connor, Thomas Sewell, Joel Beeren, Japheth Lim and Keng Chai Ong. I am grateful that I had the support of my family: my parents, Bernardine and N’Goran Amani; my siblings, Steve, Johan, Gisele and their own families. I cannot enumerate all the many friends I am fortunate to have, but I would like to give a special thank to the members of Boyz In Da Hood. Thank you all for being supportive during that journey. Finally I would like to thank Lucy, whose love and support have been crucial. Lucy, without your support, I would certainly
Recommended publications
  • BACHELOR PAPER Analysis of Mycroft and Rhasspy Open Source
    BACHELOR PAPER Term paper submitted in partial fulfillment of the requirements for the degree of Bachelor of Science in Engineering at the University of Applied Sciences Technikum Wien - Degree Program Smart Homes and Assistive Technologies Analysis of Mycroft and Rhasspy Open Source voice assistants By: Carlos Lumbreras Sádaba Supervisor 1: Ing. Martin Deinhofer, M.Sc. Vienna, 2020-22-06 Declaration of Authenticity “As author and creator of this work to hand, I confirm with my signature knowledge of the relevant copyright regulations governed by higher education acts (see Urheberrechtsgesetz/ Austrian copyright law as amended as well as the Statute on Studies Act Provisions / Examination Regulations of the UAS Technikum Wien as amended). I hereby declare that I completed the present work independently and that any ideas, whether written by others or by myself, have been fully sourced and referenced. I am aware of any consequences I may face on the part of the degree program director if there should be evidence of missing autonomy and independence or evidence of any intent to fraudulently achieve a pass mark for this work (see Statute on Studies Act Provisions / Examination Regulations of the UAS Technikum Wien as amended). I further declare that up to this date I have not published the work to hand nor have I presented it to another examination board in the same or similar form. I affirm that the version submitted matches the version in the upload tool.” Sesma, 2020-06-22 Place, Date Signature Kurzfassung Der technologische Fortschritt hat die Sprachsteuerung von Maschinen bzw. intelligenten Geräten für den Durchschnittskonsumenten zugänglich gemacht.
    [Show full text]
  • Huawei Announces EROFS Linux File-System, Might Eventually Be Used
    ARTICLES & REVIEWS NEWS ARCHIVE FORUMS PREMIUM CATEGORIES Custom Search Search Latest Linux News Huawei Announces EROFS Linux File-System, Might Huawei Announces EROFS Linux File- Eventually Be Used By Android Devices System, Might Eventually Be Used By Android Devices Written by Michael Larabel in Linux Storage on 31 May 2018 at 09:00 AM EDT. 3 Comments Mesa 18.0.5 Is The Last Planned Release In Huawei's Gao Xiang has announced the EROFS open-source Linux file-system The Series intended for Android devices, but still at its very early stages of AMD K8 Support Stripped Out Of Coreboot development. NVIDIA’s Next Generation Mainstream GPU Will At Least Be Detailed In August EROFS is the company's new approach for a read-only file-system that would work well for Android devices. EROFS is short for the Extendable Read-Only GNOME 3 Might Be Too Resource Hungry To File-System and they began developing it with being unsatisfied with other read-only file- Ever Run Nicely On The Raspberry Pi system alternatives. XWayland Gets Patch To Automatically Use EGLStreams For NVIDIA Support When EROFS is designed to offer better performance than other read-only alternatives while still Needed focusing upon saving storage space. As part of EROFS is also a compression mode pursuing BPFILTER Landing For Linux 4.18 For a different design approach than other file-systems: the compression numbers shared in Eventually Better Firewall / Packet Filtering today's announcement on both server hardware and a Kirin 970 are compelling for being in AMDGPU Patches Prepping JPEG Support For the early stages of development.
    [Show full text]
  • Ainix: an Open Platform for Natural Language Interfaces to Shell Commands
    AInix: An open platform for natural language interfaces to shell commands Turing Scholars Undergraduate Honors Thesis University of Texas at Austin David Gros Supervised By: Dr. Raymond Mooney Second Reader: Dr. Greg Durrett Departmental Reader: Dr. Robert van de Geijn May 2019 Contents 1 Abstract 3 2 Introduction 4 3 Background and Motivation 6 3.1 Relevant Terms and Concepts . .6 3.2 Currently Available Platforms and Tools . .6 3.2.1 Digital Assistant Platforms . .6 3.2.2 Semantic Parsing Frameworks . .7 3.2.3 Previous Natural Language to Shell Commands Work . .7 3.3 Why Unix Commands? . .8 3.3.1 Brief History of the Unix Shell Commands . .8 4 Platform Architecture 9 4.1 aish . 10 5 AInix Kernel Dataset 10 5.1 Key Features . 10 5.1.1 Many-to-many . 10 5.1.2 Replacers . 12 5.2 The Arche Release . 13 6 AInix Grammar Files 14 6.1 Challenges of Parsing Unix Commands . 16 6.2 Terminology . 16 6.3 Enabling Flexible Parsing . 17 6.4 Limitations . 18 7 Explored Models 19 7.1 Seq2Seq . 19 7.2 Grammar Guided Methods . 20 7.3 Retrieval Based Methods . 20 7.3.1 UNIX-focused contextual embedding . 21 7.3.2 Background . 21 7.3.3 Collecting a code-focused dataset . 21 7.3.4 CookieMonster Model . 22 7.3.4.1 CookieMonster Tokenization Scheme . 22 7.3.4.2 CookieMonster Architecture . 25 7.3.5 Nearest Neighbor Method . 25 1 8 Results and Discussion 26 8.1 Seq2Seq Results . 27 8.2 Grammar Guided Model Results .
    [Show full text]
  • Energy-Aware Interface for Memory Allocation in Linux
    Energy-Aware Interface for Memory Allocation in Linux Lars Rechter, Martin Jensen June 2021 10th Semester The Technical Faculty of IT and Design Department of Computer Science Selma Lagerlöfsvej 300 9220 Aalborg Øst https://www.cs.aau.dk Abstract: In this master thesis, we extend the Linux kernel to support grouping frequently ac- Title: Energy-Aware Interface for cessed (hot) and infrequently accessed Memory Allocation in Linux (cold) data on different memory hardware. By doing this, the memory hardware with Subject: Programming Technology cold data can reduce energy consumption Project period: by going into low power states. We man- Spring 2021 age this separation in the kernel by adding 01/02/2021 - 14/06/2021 an additional zone for cold data, which is adjustable at compile time. Processes can Group No: allocate memory in the cold zone with an pt103f21 extension to the mmap system call. We test the memory layout of our machine Group Members: with the benchmark STREAM, showing Lars Rechter that the modified kernel behaves as desired Martin Jensen in terms of memory separation. Addition- ally, we implement a proof of concept in- Supervisor: memory database to benchmark the power Bent Thomsen consumption and run time performance of Lone Leth Thomsen our modified kernel. The results show a Pages: 78 smaller overhead than expected, but no reduction in power usage. We attribute the unchanged power usage to the memory power management strategy of the mem- ory controller in our test machine. Publication of this report’s contents (including citation) without permission from the authors is prohibited. Summary Computers are faster and more common now than ever, rendering the need to optimise programs, specifically for speed, less prevalent.
    [Show full text]
  • Digole Serial Displays: Driving Digole’S Serial Display in UART, I2C, and SPI Modes with an ODROID-C1+  September 1, 2017
    ODROID-HC1 and ODROID-MC1: Aordable High-Performance And Cloud Computing At Home September 1, 2017 The ODROID-HC1 is a single board computer (SBC) which is an aordable solution for a network attached storage (NAS) server, and the ODROID-MC1 is a simple solution for those who need an aordable and powerful personal cluster. My ODROID-C2 Docker Swarm: Part 1 – Swarm Mode Features September 1, 2017 Docker Swarm mode provides cluster management and service orchestration capabilities including service discovery and service scaling, among other things, using overlay networks and an in-built load balancer respectively. ODROID-XU4 Mainline U-Boot September 1, 2017 Hardkernel is working on a new version of U-Boot for the ODROID-XU4, with many new features and improvements. ODROID Wall Display: Using An LCD Monitor And An ODROID To Show Helpful Information September 1, 2017 A wall monitor is an eective method of passively delivering a constant stream of information. Rather than purchasing a digital picture frame that is not only expensive, but is also small with limited functionality, why not use a computer monitor or TV screen with an ODROID to display photos, weather Linux Gaming: Fanboy Part 2 – I am a Sega Fanboy! September 1, 2017 In the 1980s and 1990s, Nintendo and Sega fought to dominate the console market. While both had similar products, there were still some major dierences. If you compare their earlier products, the Nintendo Entertainment System (NES) and Sega Master System (SMS), and Game Boy/Game Boy Color (GB/GBC) and Game Gear Home Assistant: Customization and Automations September 1, 2017 Advanced topics related to Home Assistant (HA) using in-depth steps, allowing you to maximize the use of Home Assistant, and also help with experimentation.
    [Show full text]
  • Z/OS Distributed File Service Zseries File System Implementation Z/OS V1R13
    Front cover z/OS Distributed File Service zSeries File System Implementation z/OS V1R13 Defining and installing a zSeries file system Performing backup and recovery, sysplex sharing Migrating from HFS to zFS Paul Rogers Robert Hering ibm.com/redbooks International Technical Support Organization z/OS Distributed File Service zSeries File System Implementation z/OS V1R13 October 2012 SG24-6580-05 Note: Before using this information and the product it supports, read the information in “Notices” on page xiii. Sixth Edition (October 2012) This edition applies to version 1 release 13 modification 0 of IBM z/OS (product number 5694-A01) and to all subsequent releases and modifications until otherwise indicated in new editions. © Copyright International Business Machines Corporation 2010, 2012. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Notices . xiii Trademarks . xiv Preface . .xv The team who wrote this book . .xv Now you can become a published author, too! . xvi Comments welcome. xvi Stay connected to IBM Redbooks . xvi Chapter 1. zFS file systems . 1 1.1 zSeries File System introduction. 2 1.2 Application programming interfaces . 2 1.3 zFS physical file system . 3 1.4 zFS colony address space . 4 1.5 zFS supports z/OS UNIX ACLs. 4 1.6 zFS file system aggregates. 5 1.6.1 Compatibility mode aggregates. 5 1.6.2 Multifile system aggregates. 6 1.7 Metadata cache. 7 1.8 zFS file system clones . 7 1.8.1 Backup file system . 8 1.9 zFS log files.
    [Show full text]
  • A Study of Failure Recovery and Logging of High-Performance Parallel File Systems
    1 A Study of Failure Recovery and Logging of High-Performance Parallel File Systems RUNZHOU HAN, OM RAMESHWAR GATLA, MAI ZHENG, Iowa State University JINRUI CAO, State University of New York at Plattsburgh DI ZHANG, DONG DAI, North Carolina University at Charlotte YONG CHEN, Texas Tech University JONATHAN COOK, New Mexico State University Large-scale parallel file systems (PFSes) play an essential role in high performance computing (HPC). However, despite the importance, their reliability is much less studied or understood compared with that of local storage systems or cloud storage systems. Recent failure incidents at real HPC centers have exposed the latent defects in PFS clusters as well as the urgent need for a systematic analysis. To address the challenge, we perform a study of the failure recovery and logging mechanisms of PFSes in this paper. First, to trigger the failure recovery and logging operations of the target PFS, we introduce a black- box fault injection tool called PFault, which is transparent to PFSes and easy to deploy in practice. PFault emulates the failure state of individual storage nodes in the PFS based on a set of pre-defined fault models, and enables examining the PFS behavior under fault systematically. Next, we apply PFault to study two widely used PFSes: Lustre and BeeGFS. Our analysis reveals the unique failure recovery and logging patterns of the target PFSes, and identifies multiple cases where the PFSes are imperfect in terms of failure handling. For example, Lustre includes a recovery component called LFSCK to detect and fix PFS-level inconsistencies, but we find that LFSCK itself may hang or trigger kernel panicswhen scanning a corrupted Lustre.
    [Show full text]
  • Lustre* Software Release 2.X Operations Manual Lustre* Software Release 2.X: Operations Manual Copyright © 2010, 2011 Oracle And/Or Its Affiliates
    Lustre* Software Release 2.x Operations Manual Lustre* Software Release 2.x: Operations Manual Copyright © 2010, 2011 Oracle and/or its affiliates. (The original version of this Operations Manual without the Intel modifications.) Copyright © 2011, 2012, 2013 Intel Corporation. (Intel modifications to the original version of this Operations Man- ual.) Notwithstanding Intel’s ownership of the copyright in the modifications to the original version of this Operations Manual, as between Intel and Oracle, Oracle and/or its affiliates retain sole ownership of the copyright in the unmodified portions of this Operations Manual. Important Notice from Intel INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IM- PLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSO- EVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR IN- FRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death. SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL IN- DEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND REASONABLE AT- TORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS SUBCON- TRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS PARTS.
    [Show full text]
  • Deliverable 2.2 Digital Intelligent Assistant Core for Manufacturing Demonstrator – Version 1
    Grant: 957296 Call: H2020-ICT-2020-1 Topic: ICT-38-2020 Type: RIA Duration: 01.10.2020 – 30.09.2023 Deliverable 2.2 Digital intelligent assistant core for manufacturing demonstrator – version 1 Lead Beneficiary: BIBA Type of Deliverable: Demonstrator Dissemination Level: Public Submission Date: 14.07.2021 Version: 1.0 This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 957296. PUBLIC Versioning and contribution history Version Description Contributions 0.1 Initial version BIBA 0.3 Initial descriptions BIBA 0.4 Security mechanisms for Mycroft core and Mobile App UBI 0.7 Component descriptions added and scenario outlined BIBA 0.9 First complete draft BIBA 1.0 Final version BIBA Reviewers Name Organisation Konstantinos Grevenitis Holonix Disclaimer This document contains only the author's view and that the Commission is not responsible for any use that may be made of the information it contains. Copyright COALA Consortium 2020-2023 Page 2 of 28 PUBLIC Table of Contents 1 Introduction .....................................................................................................................6 1.1 Purpose and Objectives ...........................................................................................6 1.2 Approach ..................................................................................................................6 1.3 Relation to other WPs and Tasks .............................................................................6
    [Show full text]
  • Error Propagation Analysis for File Systems!
    Error Propagation Analysis for File Systems! Cindy Rubio-González, Haryadi S. Gunawi, Ben Liblit, Remzi H. Arpaci-Dusseau, and Andrea C. Arpaci-Dusseau! University of Wisconsin-Madison PLDI’09 ECS 289C Seminar on Program Analysis February 17th, 2015 Motivation! • Systems software plays an important role! o Designed to operate the computer hardware! o Provides platform for running application software! • Particular focus on file systems! o Store massive amounts of data! o Used everywhere!! § Home use: photos, movies, tax returns! § Servers: network file servers, search engines! • Incorrect error handling → serious consequences! o Silent data corruption, data loss, system crashes, etc.! • Broken systems software → Broken user applications!! ! 2 Error Handling! Error Propagation + Error Recovery! USER-LEVEL APPLICATION SYSTEMS SOFTWARE Error Recovery:! ERROR ERROR • Logging! • Notifying! • Re-trying! Run-time ERROR ERROR Errors! HARDWARE Incorrect error handling → longstanding problem! 3 Return-Code Idiom! • Widely used in systems software written in C! • Also used in large C++ applications! • Run-time errors represented as integer values! • Propagated through variable assignments and function return values! 4 Error Codes in Linux! 5 Example of Error-Propagation Bug! 1 int txCommit(...) { 2 ... 3 if (isReadOnly(...)) { 4 rc = -EROFS; read-only file-system error! 5 ... 6 goto TheEnd; 7 } ... 8 if (rc = diWrite(...)) diWrite may return EIO error! 9 txAbort(...); 10 TheEnd: return rc; function returns variable rc 11 } 13 int diFree(...) { 14 ..
    [Show full text]
  • D2.1: State-Of-The-Art Survey
    CARP D2.1: State-of-the-Art Survey Grant Agreement: 287767 Project Acronym: CARP Project Name: Correct and Efficient Accelerator Programming Instrument: Small or medium scale focused research project (STREP) Thematic Priority: Alternative Paths to Components and Systems Start Date: 1 December 2011 Duration: 36 months Document Type1: D (Deliverable) Document Distribution2: PU (Public) Document Code3: CARP-ICL-RP-004 Version: v1.15 Editor (Partner): J. Ketema (ICL) Contributors: ARM, ENS, ICL, MONO, REAL, RIGHT, RWTHA, UT Workpackage(s): WP2 Reviewer(s): A. Cohen (ENS), J. Dubreil (MONO), M. Huisman (UT) Due Date: 31 May 2012 Submission Date: 31 May 2012 Number of Pages: 97 1MD = management document; TR = technical report; D = deliverable; P = published paper; CD = communication/dissemination. 2PU = Public; PP = Restricted to other programme participants (including the Commission Services); RE = Restricted to a group specified by the consortium (including the Commission Services); CO = Confidential, only for members of the consortium (including the Commission Services). 3This code is constructed as described in the Project Handbook. Copyright c 2012 by the CARP Consortium. D2.1: State-of-the-ArtCARP Survey J. Ketema3 (Editor) D. Mansell1, T. Glauert1, A. Lokhmotov1 (Chapter 3) A. Cohen2 (Chapter 4) A. Betts3 C. Dehnert7 D. Distefano4 F. Gretz7 J.-P. Katoen7 A. Lokhmotov1 (Chapter 5) A.F. Donaldson3 D. Distefano4 M. Huisman8 C. Jansen7 J. Ketema3 M. Mihelciˇ c´8 (Chapter 6) E. Hajiyev5 D. Takacs5 T. Virolainen6 (Chapter 7) 1ARM 2ENS 3ICL 4MONO 5REAL 6RIGHT 7RWTHA 8UT REVISION HISTORY Date Version Author Modification 2 May 2012 1.0 J. Ketema (ICL) Initial setup of LATEX document 10 May 2012 1.1 J.
    [Show full text]
  • Linux Installation and Getting Started
    Linux Installation and Getting Started Copyright c 1992–1996 Matt Welsh Version 2.3, 22 February 1996. This book is an installation and new-user guide for the Linux system, meant for UNIX novices and gurus alike. Contained herein is information on how to obtain Linux, installation of the software, a beginning tutorial for new UNIX users, and an introduction to system administration. It is meant to be general enough to be applicable to any distribution of the Linux software. This book is freely distributable; you may copy and redistribute it under certain conditions. Please see the copyright and distribution statement on page xiii. Contents Preface ix Audience ............................................... ix Organization.............................................. x Acknowledgments . x CreditsandLegalese ......................................... xii Documentation Conventions . xiv 1 Introduction to Linux 1 1.1 About This Book ........................................ 1 1.2 A Brief History of Linux .................................... 2 1.3 System Features ......................................... 4 1.4 Software Features ........................................ 5 1.4.1 Basic commands and utilities ............................. 6 1.4.2 Text processing and word processing ......................... 7 1.4.3 Programming languages and utilities .......................... 9 1.4.4 The X Window System ................................. 10 1.4.5 Networking ....................................... 11 1.4.6 Telecommunications and BBS software .......................
    [Show full text]