Relational Access to Unix Kernel Data Structures

Total Page:16

File Type:pdf, Size:1020Kb

Relational Access to Unix Kernel Data Structures Relational access to Unix kernel data structures Marios Fragkoulis Diomidis Spinellis Panos Louridas Angelos Bilas Athens University of Athens University of Athens University of University of Crete and Economics and Business Economics and Business Economics and Business FORTH-ICS [email protected] [email protected] [email protected] [email protected] Abstract We argue that a relational interface can offer complemen- tary advantages; this is our motivation behind PiCO QL. Var- State of the art kernel diagnostic tools like DTrace and Sys- temtap provide a procedural interface for expressing analy- ious imperative programming languages offer relational in- sis tasks. We argue that a relational interface to kernel data terfaces; some have become very popular [21, 25]. Previous structures can offer complementary benefits for kernel diag- work proposes relational interfaces in place of imperative nostics. ones for performing validation tasks at the operating system This work contributes a method and an implementation level [14, 29]. Windows-based operating systems provide for mapping a kernel’s data structures to a relational inter- the Windows Management Instrumentation (WMI) infras- tructure [33] and the WMI Query Language (WQL), which face. The Pico COllections Query Library (PiCO QL) Linux kernel module uses a domain specific language to define adopts a relational syntax, to provide access to management a relational representation of accessible Linux kernel data data and operations. structures, a parser to analyze the definitions, and a com- Extending operating system kernels with high level tools [4, 7] is a growing trend. PiCO QL is such a tool used for per- piler to implement an SQL interface to the data structures. forming kernel diagnostic actions. Our work contributes: It then evaluates queries written in SQL against the kernel’s data structures. PiCO QL queries are interactive and type safe. • a method for creating an extensible relational model of Unlike SystemTap and DTrace, PiCO QL is less intrusive be- cause it does not require kernel instrumentation; instead it Unix kernel data structures (Sections 2.1 and 2.2), hooks to existing kernel data structures through the mod- • a method to provide relational query evaluation on Linux ule’s source code. PiCO QL imposes no overhead when idle kernel data structures (Section 2.3), and and needs only access to the kernel data structures that con- • a diagnostic tool to extract relational views of the kernel’s tain relevant information for answering the input queries. state at runtime (Section 3). Each view is a custom image We demonstrate PiCO QL’s usefulness by presenting of the kernel’s state defined in the form of an SQL query. Linux kernel queries that provide meaningful custom views of system resources and pinpoint issues, such as security A Unix kernel running PiCO QL provides dynamic analy- vulnerabilities and performance problems. sis of accessible data structures with the following features. Categories and Subject Descriptors D2.5 [Testing and Debugging]: Diagnostics SQL SELECT queries: Queries conform to the SQL92 stan- dard [8]. Keywords Unix, kernel, diagnostics, SQL Type safety: Queries perform checks to ensure data struc- 1. Introduction ture types are used in a safe manner. PiCO QL does not affect the execution of kernel code, because it does not Kernel diagnostic tools like DTrace [7] and SystemTap [27] require its modification. provide a procedural interface for diagnosing system issues. Low performance impact: PiCO QL’s presence in the Unix kernel does not affect system performance. In addition, Permission to make digital or hard copies of all or part of this work for personal or query execution consumes only the necessary kernel re- classroom use is granted without fee provided that copies are not made or distributed sources, that is, data structures whose relational represen- for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM tations appear in the query. Thus, PiCO QL minimizes its must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, impact on kernel operation. Section 4.2 presents a quan- to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]. titative evaluation of this impact. EuroSys ’14, April 13–16, 2014, Amsterdam, The Netherlands. Copyright c 2014 ACM 978-1-4503-2704-6/14/04. $15.00. Relational views: To reuse queries efficiently and store http://dx.doi.org/10.1145/2592798.2592802 important queries, standard relational non-materialized views can be defined in the PiCO QL Domain Specific Our method defines three entities: data structures, data Language (DSL). structure associations, and virtual relational tables. Specif- ically, it provides a relational representation of data struc- Unix kernel data structures include C structs, linked lists, tures and data structure associations in the form of virtual arrays, and unions to name but a few [2, 6]. In the con- relational tables. Data structures can be unary instances or text of this paper, and unless otherwise noted, the term data containers grouping multiple instances. structure refers in general to Unix kernel data structures. Al- Our method is expressive; it can represent has-a associ- though PiCO QL’s implementation targets the Linux kernel, ations, many-to-many associations, and object-oriented fea- the relational interface is equally applicable to other versions tures like inheritance and polymorphism [10]. In this paper of Unix featuring loadable kernel modules and the /proc file we exemplify the representation of has-a associations, since system. this is the widespread type of associations in the kernel. We evaluate our tool by presenting SQL queries, which di- agnose interesting effects in two domains that concern a sys- tem’s operation, namely security and performance. We find that our tool can identify security vulnerabilities and perfor- 2.1.1 Has-a associations mance problems with less effort than other approaches. We Has-a associations are of two types: has-one and has-many. present several use cases to describe our tool’s contribution To represent data structures as first normal form relations, we to the kernel diagnostics tool stack. normalize has-a associations between data structures, that is we define a separate relational representation for them. For 2. A relational interface to the Unix kernel instance Figure 1(a) shows a simplified kernel data struc- data structures ture model for the Linux kernel’s files, processes, and vir- Our method for mapping the kernel’s data structures to a re- tual memory. Figure 1(b) shows the respective virtual ta- lational interface addresses two challenges: first, how to pro- ble schema. There, a process’s associated virtual memory structure has been represented in an associated table. The vide a relational representation for the kernel’s data struc- same applies for a process’s open files, a has-many associa- tures; second, how to evaluate SQL queries to these data structures. The key points of the design that address these tion. Notably, this normalization process is only required for has-many challenges include: associations. In the same schema, the associated files struct has been included within the process’s represen- • rules for providing a relational representation of the ker- tation. In addition, the structure fdtable has been included in nel’s data structures, its associated files struct and it is also part of the process rep- • a domain specific language (DSL) for specifying rela- resentation; each member of fdtable and files struct occupies tional representations and required information about a column in Process VT. By allowing to represent a has-one data structures, and association as a separate table or inside the containing in- stance’s table, the relational representation flexibly expands • the leveraging of SQLite’s virtual table hooks to evaluate or folds to meet representation objectives. SQL queries. Combining virtual tables in queries is achieved through 2.1 Relational representation of data structures join operations. In table Process VT foreign key column fs fd file id identifies the set of files that a process retains The problem of mapping a program’s in-memory data struc- tures to a relational representation, and vice versa, has been open. A process’s open file information can be retrieved by studied thoroughly in the literature [28]. We address this specifying in a query a join to the file table (EFile VT). By problem from a different angle: we provide a relational in- specifying a join to the file table, an instantiation happens. The instantiation of the file table is process specific; it con- terface to data structures without storing them in a relational tains the open files of a specific process only. For another database management system; the issue at hand is not the transformation of data from procedural code data structures process another instantiation would be created. Thus, multi- EFile VT to relational structures, but the representation of the same ple potential instances of exist implicitly, as Fig- data in different models. In other words, we do not trans- ure1(b) shows. form the data model used for procedural programming; in- stead we want to provide a relational view on top of it. Issues that emerge in the Object-Relational mapping problem are 2.2 Domain Specific Language design not relevant to our work. Our method’s DSL includes struct view definitions that de- To provide a relational representation we must solve the scribe a virtual table’s columns, virtual table definitions that representation mismatch between relations and procedural link a struct view definition to a data structure type, lock programming data structures. Relations consist of a set of directive definitions to leverage existing locking facilities columns that host scalar values, while data structures form when querying data structures, and standard relational view graphs of arbitrary structure.
Recommended publications
  • Katalog Elektronskih Knjiga
    KATALOG ELEKTRONSKIH KNJIGA Br Autor Naziv Godina ISBN Str. Porijeklo izdavanja 1 Peter Kent Pay Per Click Search 2006 0-471-74594-3 130 Kupovina Engine Marketing for Dummies 2 Terry Large Access 1 2007 Internet Freeware 3 Kevin Smith Excel Lassons & Tutorials 2004 Internet Freeware 4 Terry Michael Photografy Tutorials 2006 Internet Freeware Janine Peterson Phil Pivnick 5 Jake Ludington Converting Vinyl LPs 2003 Internet Freeware to CD 6 Allen Wyatt Cleaning Windows XP 2004 0-7645-7311-X Poklon for Dummies 7 Peter Kent Sarch Engine Optimization 2006 0-4717-5441-2 Kupovina for Dummies 8 Terry Large Access 2 2007 Internet Freeware 9 Dirk Dupon How to write, create, 2005 Internet Freeware promote and sell E-books on the Internet 10 Chayden Bates eBook Marketing 2000 Internet Freeware Explained 11 Kevin Sinclair How To Choose A 1999 Internet Freeware Homebased Bussines 12 Bob McElwain 101 Newbie-Frendly Tips 2001 Internet Freeware 13 Windows Basics 2004 Poklon 14 Michael Abrash Zen of Graphic 2005 Poklon Programming, 2. izdanje 15 13 Hot Internet 2000 Internet Freeware Moneymaking Methods 16 K. Williams The Complete HTML 1998 Poklon Teacher 17 C. Darwin On the Origin of Species Internet Freeware 2/175 Br Autor Naziv Godina ISBN Str. Porijeklo izdavanja 18 C. Darwin The Variation of Animals Internet Freeware 19 Bruce Eckel Thinking in C++, Vol 1 2000 Internet Freeware 20 Bruce Eckel Thinking in C++, Vol 2 2000 Internet Freeware 21 James Parton Captains of Industry 1890 399 Internet Freeware 22 Bruno R. Preiss Data Structures and 1998 Internet
    [Show full text]
  • Printed Program
    rd International Conference 43 on Software Engineering goes Virtual PROGRAM May 25th –28th 2021 Co-located events: May 17th –May 24th Workshops: May 24th , May 29th –June 4th https://conf.researchr.org/home/icse-2021 @ICSEconf Table of Contents Conference overviews ............................................................... 3 Sponsors and Supporters ......................................................... 11 Welcome letter ........................................................................ 13 Keynotes ................................................................................. 18 Technical Briefings ................................................................. 28 Co-located events .................................................................... 35 Workshops .............................................................................. 36 New Faculty Symposium ........................................................ 37 Doctoral Symposium .............................................................. 39 Detailed Program - Tuesday, May 25th .................................................... 42 - Wednesday, May 26th ............................................... 53 - Thursday, May 27th .................................................. 66 - Friday, May 28th ....................................................... 80 Awards .................................................................................... 91 Social and Networking events ................................................. 94 Organizing Committee ........................................................
    [Show full text]
  • A Dataset of Open-Source Safety-Critical Software⋆
    A Dataset of Open-Source Safety-Critical Software? Rafaila Galanopoulou[0000−0002−5318−9017] and Diomidis Spinellis[0000−0003−4231−1897] Department of Management Science and Technology Athens University of Economics and Business Patission 76, Athens, 10434, Greece ft8160018,[email protected] https://www.aueb.gr Abstract. We describe the method used to create a dataset of open- source safety-critical software, such as that used for autonomous cars, healthcare, and autonomous aviation, through a systematic and rigorous selection process. The dataset can be used for empirical studies regard- ing the quality assessment of safety-critical software, its dependencies, and its development process, as well as comparative studies considering software from other domains. Keywords: open-source · safety-critical · dataset 1 Introduction Safety-critical systems (SCS) are those whose failure could result in loss of life, significant property damage, or damage to the environment [5]. Over the past decades ever more software is developed and released as open-source software (OSS) | with licenses that allow its free use, study, change, and distribution [1]. The increasing adoption of open-source software in safety-critical systems [10], such as those used in the medical, aerospace, and automotive industries, poses an interesting challenge. On the one hand, it shortens time to delivery and lowers development costs [6]. On the other hand, it introduces questions regarding the system's quality. For a piece of software to be part of a safety-critical application it requires quality assurance, because quality is a crucial factor of an SCS's software [3]. This assurance demands that evidence regarding OSS quality is supplied, and an analysis is needed to assess if the certification cost is worthwhile.
    [Show full text]
  • Curriculum Vitae
    CURRICULUM VITAE Diomidis Spinellis Professor of Software Engineering Department of Management Science and Technology Athens University of Economics and Business September 17, 2021 CV — Diomidis Spinellis CONTENTS Contents 1 Personal and Contact Details 5 2 Education 5 3 Research Interests 5 4 Honours and Awards 5 5 Teaching Experience 7 6 Scientific, Professional, and Technical Activities 7 6.1 Memberships of Professional and Learned Societies .................... 7 6.2 Journal and Magazine Editorial Board Member ...................... 7 6.3 Service in Conference Committees ............................. 7 6.4 Other Professional Society Service ............................. 11 6.5 Selected Open Source Software Development ....................... 12 7 Publications 12 7.1 Books: Monographs and Edited Volumes .......................... 12 7.2 Theses ............................................ 13 7.3 Peer‐reviewed Journal Articles ............................... 13 7.4 Editor‐in‐Chief and Guest Editor Introductions ....................... 17 7.5 Magazine Columns ..................................... 18 7.6 Book Chapters ........................................ 20 7.7 Conference Publications .................................. 20 7.8 Letters Published in Scholarly Journals and Newspapers .................. 29 7.9 Technical Reports and Working Papers ........................... 29 7.10 Book Reviews ........................................ 30 7.11 Articles in the Technical Press and SIG Publications .................... 32 7.12 Invited Talks
    [Show full text]
  • Design Principles and Patterns for Computer Systems That Are
    Bibliography [AB04] Tom Anderson and David Brady. Principle of least astonishment. Ore- gon Pattern Repository, November 15 2004. http://c2.com/cgi/wiki? PrincipleOfLeastAstonishment. [Acc05] Access Data. Forensic toolkit—overview, 2005. http://www.accessdata. com/Product04_Overview.htm?ProductNum=04. [Adv87] Display ad 57, February 8 1987. [Age05] US Environmental Protection Agency. Wastes: The hazardous waste mani- fest system, 2005. http://www.epa.gov/epaoswer/hazwaste/gener/ manifest/. [AHR05a] Ben Adida, Susan Hohenberger, and Ronald L. Rivest. Fighting Phishing Attacks: A Lightweight Trust Architecture for Detecting Spoofed Emails (to appear), 2005. Available at http://theory.lcs.mit.edu/⇠rivest/ publications.html. [AHR05b] Ben Adida, Susan Hohenberger, and Ronald L. Rivest. Separable Identity- Based Ring Signatures: Theoretical Foundations For Fighting Phishing Attacks (to appear), 2005. Available at http://theory.lcs.mit.edu/⇠rivest/ publications.html. [AIS77] Christopher Alexander, Sara Ishikawa, and Murray Silverstein. A Pattern Lan- guage: towns, buildings, construction. Oxford University Press, 1977. (with Max Jacobson, Ingrid Fiksdahl-King and Shlomo Angel). [AKM+93] H. Alvestrand, S. Kille, R. Miles, M. Rose, and S. Thompson. RFC 1495: Map- ping between X.400 and RFC-822 message bodies, August 1993. Obsoleted by RFC2156 [Kil98]. Obsoletes RFC987, RFC1026, RFC1138, RFC1148, RFC1327 [Kil86, Kil87, Kil89, Kil90, HK92]. Status: PROPOSED STANDARD. [Ale79] Christopher Alexander. The Timeless Way of Building. Oxford University Press, 1979. 429 430 BIBLIOGRAPHY [Ale96] Christopher Alexander. Patterns in architecture [videorecording], October 8 1996. Recorded at OOPSLA 1996, San Jose, California. [Alt00] Steven Alter. Same words, different meanings: are basic IS/IT concepts our self-imposed Tower of Babel? Commun. AIS, 3(3es):2, 2000.
    [Show full text]
  • Digium Analog Gateway EULA
    END-USER LICENSE AGREEMENT FOR ANALOG DIGIUM GATEWAY AND GATEWAY SOFTWARE November 2017 IMPORTANT – PLEASE READ CAREFULLY 1.1 Definitions “Affiliate” means an entity which is (a) directly or indirectly controlling Digium; or (b) which is directly or indirectly owned or controlled by Digium. “Digium” means both Digium, Inc. and Digium's Affiliates. "Analog Digium Gateways" means Digium manufactured and branded gateways which are hardware devices (inclusive of the Analog Digium Gateway Software). “Digium Analog Gateway Software” collectively means both the Original Analog Digium Gateway Software and any Analog Digium Gateway Software Updates. “Digium Analog Gateway Software Updates” means updates or replacements provided by Digium for the Original Analog Digium Gateway Software in the form of feature enhancements, software updates, bug fixes, upgrades, otherwise modified versions of the Original Analog Digium Gateway Software, or system restore software provided by Digium, whether in read only memory or on any other media or in any other form. “Original Digium Analog Gateway Software” means the software, sounds (for example, ringtones), interfaces, content, fonts, documentation, and any data that are delivered with Analog Digium Gateways. "You", "you" or "your" means collectively the licensee, purchaser, and end user. 1.2 This End-User License Agreement (the "Agreement" or "EULA") is a legal agreement between Digium and You regarding the license terms of the Original Analog Digium Gateway Software, the Digium Analog Gateway Software Updates and the terms of use for Analog Digium Gateways. By using a Digium Analog Gateway or downloading a Analog Digium Gateway Software Update, as applicable, you are agreeing to be bound by the terms of this Agreement.
    [Show full text]
  • Redundancy and Access Permissions in Decentralized File Systems
    Lehrstuhl für Netzarchitekturen und Netzdienste Fakultät für Informatik Technische Universität München Redundancy and Access Permissions in Decentralized File Systems Johanna Amann Vollständiger Abdruck der von der Fakultät für Informatik der Technischen Universität München zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften (Dr. rer. nat.) genehmigten Dissertation. Vorsitzender: Univ.-Prof. Dr. Johann Schlichter Prüfer der Dissertation: 1. Univ.-Prof. Dr. Georg Carle 2. Univ.-Prof. Dr. Kurt Tutschku, Universität Wien 3. TUM Junior Fellow Dr. Thomas Fuhrmann Die Dissertation wurde am 20.06.2011 bei der Technischen Universität München eingereicht und durch die Fakultät für Informatik am 05.09.2011 angenommen. Zusammenfassung Verteilte Dateisysteme sind ein Thema mit dem sich die Informatik immer wieder aufs Neue auseinandersetzt. Die ersten verteilten Dateisysteme sind schon sehr kurz nach dem Aufkommen von Computernetzen entstanden. Traditionell sind solche Systeme serverbasiert, d. h. es gibt eine strikte Unterscheidung zwischen den Systemen welche die Daten speichern und den Systemen welche die Daten abrufen. Diese Architektur hat Vorteile; es wird zum Beispiel angenommen, dass die Server vertrauenswürdig sind. Außerdem gibt es eine inhärente lineare Ordnung der Dateioperationen. Auf der anderen Seite sind solche zentralisierten Systeme schlecht skalierbar, haben einen hohen Administrationsaufwand, eine geringe Fehlertoleranz oder sind teuer im Betrieb. Im Verlauf des letzten Jahrzehnts wurde eine neue Art von
    [Show full text]
  • Truenas X10 Was Released and Steve Wong Wrote About It
    FREENAS MINI FREENAS STORAGE APPLIANCE CERTIFIED IT SAVES YOUR LIFE. STORAGE How important is your data? with over six million downloads, As one of the leaders in the storage industry, you Freenas is undisputedly the most know that you’re getting the best combination of hardware designed for optimal performance Years of family photos. Your entire music popular storage operating system and movie collection. Ofce documents with FreeNAS. Contact us today for a FREE Risk in the world. you’ve put hours of work into. Backups for Elimination Consultation with one of our FreeNAS experts. Remember, every purchase directly supports every computer you own. We ask again, how Sure, you could build your own FreeNAS system: the FreeNAS project so we can continue adding important is your data? research every hardware option, order all the features and improvements to the software for years parts, wait for everything to ship and arrive, vent at to come. And really - why would you buy a FreeNAS customer service because it hasn’t, and fnally build it server from anyone else? now imaGinE LosinG it aLL yourself while hoping everything fts - only to install the software and discover that the system you spent Losing one bit - that’s all it takes. One single bit, and days agonizing over isn’t even compatible. Or... your fle is gone. The worst part? You won’t know until you makE it Easy on yoursELF absolutely need that fle again. Example of one-bit corruption As the sponsors and lead developers of the FreeNAS project, iXsystems has combined over 20 years of tHE soLution hardware experience with our FreeNAS expertise to The FreeNAS Mini has emerged as the clear choice to the mini boasts these state-of-the- bring you FreeNAS Certifed Storage.
    [Show full text]
  • June 2006 (PDF)
    J UNE 2006 VOLUME 31 NUMBER 3 THE USENIX MAGAZINE OPINION Musings RIK FARROW Autonomic Computing—The Music of the Cubes MARK BURGESS SYSADMIN A Comparison of Disk Drives for Enterprise Computing KURT CHAN Disks from the Perspective of a File System MARSHALL KIRK MCKUSICK Introduction to ZFS TOM HAYNES Adding Full-Text Filesystem Search to Linux STEFAN BÜTTCHER AND CHARLES L.A. CLARKE SECURITY Netfilter’s Connection Tracking System PABLO NEIRA AYUSO Using Linux Live CDs for Penetration Testing MARKOS GOGOULOS AND DIOMIDIS SPINELLIS COLUMNS Practical Perl Tools:Car 10.0.0.54,Where Are You? DAVID BLANK-EDELMAN ISPadmin: Policy Enforcement ROBERT HASKINS VoIP Watch H EISON CHAK /dev/random ROBERT G. FERRELL BOOK REVIEWS Book Reviews ELIZABETH ZWICKY ET AL. USENIX NOTES Election Results SAGE Update STRATA ROSE CHALUP The Advanced Computing Systems Association Upcoming Events 2ND STEPS TO REDUCING UNWANTED TRAFFIC ON 7TH SYMPOSIUM ON OPERATING SYSTEMS DESIGN THE INTERNET WORKSHOP (SRUTI ’06) AND IMPLEMENTATION (OSDI ’06) JULY 6–7, 2006, SAN JOSE, CA, USA Sponsored by USENIX, in cooperation with ACM SIGOPS http://www.usenix.org/sruti06 NOVEMBER 6–8, 2006, SEATTLE, WA, USA http://www.usenix.org/osdi06 2006 LINUX KERNEL DEVELOPERS SUMMIT JULY 16–18, 2006, OTTAWA, ONTARIO, CANADA SECOND WORKSHOP ON HOT TOPICS IN SYSTEM http://www.usenix.org/kernel06 DEPENDABILITY (HOTDEP ’06) NOVEMBER 8, 2006, SEATTLE, WA, USA 15TH USENIX SECURITY SYMPOSIUM http://www.usenix.org/hotdep06 (SECURITY ’06) Paper submissions due: July 15, 2006 JULY 31–AUGUST 4, 2006, VANCOUVER, B.C., CANADA http://www.usenix.org/sec06 ACM/IFIP/USENIX 7TH INTERNATIONAL MIDDLEWARE CONFERENCE FIRST WORKSHOP ON HOT TOPICS IN SECURITY NOV.
    [Show full text]
  • Delft University of Technology an Empirical Evaluation of Feedback
    Delft University of Technology An Empirical Evaluation of Feedback-Driven Software Development Beller, Moritz DOI 10.4233/uuid:b2946104-2092-42bb-a1ee-3b085d110466 Publication date 2018 Document Version Final published version Citation (APA) Beller, M. (2018). An Empirical Evaluation of Feedback-Driven Software Development. https://doi.org/10.4233/uuid:b2946104-2092-42bb-a1ee-3b085d110466 Important note To cite this publication, please use the final published version (if applicable). Please check the document version above. Copyright Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons. Takedown policy Please contact us and provide details if you believe this document breaches copyrights. We will remove access to the work immediately and investigate your claim. This work is downloaded from Delft University of Technology. For technical reasons the number of authors shown on this cover page is limited to a maximum of 10. AN EMPIRICAL EVALUATION OF FEEDBACK-DRIVEN SOFTWARE DEVELOPMENT Moritz Beller An Empirical Evaluation of Feedback-Driven Software Development An Empirical Evaluation of Feedback-Driven Software Development Proefschrift ter verkrijging van de graad van doctor aan de Technische Universiteit Delft, op gezag van de Rector Magnificus prof. dr. ir. T.H.J.J. van der Hagen, voorzitter van het College voor Promoties, in het openbaar te verdedigen op vrijdag 23 november 2018 om 15.00 uur door Moritz Marc BELLER Master of Science in Computer Science, Technische Universität München, Duitsland, geboren te Schweinfurt, Duitsland.
    [Show full text]
  • Technologies for Main Memory Data Analysis
    TECHNOLOGIES FOR MAIN MEMORY DATA ANALYSIS DISSERTATION FOR THE AWARD OF THE DOCTORAL DIPLOMA ATHENS UNIVERSITY OF ECONOMICS AND BUSINESS 2020 Marios D. Fragkoulis Department of Management Science and Technology Athens University of Economics and Business ii Department of Management Science and Technology Athens University of Economics and Business Email: [email protected] Copyright 2017 Marios Fragkoulis This work is licensed under a Creave Commons Aribuon-ShareAlike 4.0 Internaonal License. iii Supervised by Professor Diomidis Spinellis iv To my parents Contents 1 Introducon 1 1.1 Context ......................................... 1 1.2 Problem statement ................................... 2 1.3 Proposed soluon and contribuons .......................... 2 1.4 Research methodology ................................. 3 1.5 Thesis outline ...................................... 3 2 Related Work 6 2.1 Orthogonal persistence ................................. 7 2.1.1 Background ................................... 7 2.1.2 Scope ...................................... 8 2.1.3 Surveys on orthogonal persistence ....................... 9 2.1.4 Dimensions of persistent systems ....................... 11 2.1.4.1 Persistence implementaon ..................... 12 2.1.4.2 Data denion and manipulaon language ............. 12 2.1.4.3 Stability and resilience ........................ 12 2.1.4.4 Protecon .............................. 12 2.1.5 Persistent systems performing transacons .................. 15 2.1.5.1 Persistent operang systems .................... 15
    [Show full text]
  • Form, Forces, and Lessons of Unix Architectural Evolution
    3/3/2021 The Triumph of the New Jersey Style: How Architectural Elegance, Components, and Reuse Shaped the Evolution of Unix Diomidis Spinellis Paris Avgeriou Department of Management Science and Technology Institute for Mathematics and Computer Science Athens University of Economics and Business University of Groningen & Department of Software Technology Delft University of Technology www.spinellis.gr @CoolSWEng 1 Unix 50th Anniversary 1969–2019 2 1 3/3/2021 Faces of Open Source / Peter Adams Peter/ SourceOpen of Faces 3 4 2 3/3/2021 5 6 3 3/3/2021 7 8 4 3/3/2021 9 10 5 3/3/2021 11 12 6 3/3/2021 History 13 Data Sources Data 14 7 3/3/2021 Architectural Design Decisions 15 Results Quantitative 16 8 3/3/2021 Theory of OSTheory Architectural Evolution Architectural 17 History 18 9 3/3/2021 19 20 10 3/3/2021 21 22 11 3/3/2021 23 24 12 3/3/2021 25 26 13 3/3/2021 27 28 14 3/3/2021 29 30 15 3/3/2021 31 32 16 3/3/2021 33 34 17 3/3/2021 35 Data Sources Data 36 18 3/3/2021 37 38 19 3/3/2021 39 40 20 3/3/2021 41 42 21 3/3/2021 github.com/dspinellis/unix-history-repo/ 43 44 22 3/3/2021 45 46 23 3/3/2021 47 48 24 3/3/2021 49 50 25 3/3/2021 51 dspinellis.github.io/unix-history-man 52 26 3/3/2021 53 54 27 3/3/2021 Architectural Design Decisions 55 56 28 3/3/2021 PDP-7 [Unix] (1970) 57 … and I once heard an old-timer growl at a young programmer: “I've written boot loaders that were shorter than your variable names!” — Stephen C.
    [Show full text]