Application of Software Components in Operating System Design

Total Page:16

File Type:pdf, Size:1020Kb

Application of Software Components in Operating System Design CHARLES UNIVERSITY IN PRAGUE FACULTY OF MATHEMATICS AND PHYSICS DOCTORAL THESIS Martin Děcký Application of Software Components in Operating System Design Department of Distributed and Dependable Systems Supervisor of the Doctoral Thesis: Doc. Ing. Petr Tůma, Dr. Study Programme: Computer Science Specialization: I2 Software Systems Prague 2015 ii Acknowledgements The text of this doctoral thesis captures my original thoughts related to the HelenOS microkernel multiserver operating system. The text describes my overall inluence on the design of HelenOS and also my individual contributions to the implementation of HelenOS. That being written, it is completely necessary to acknowledge that no human is an island and (almost) all ideas are always extensions and recombination of previous ideas. The current source code of HelenOS in its mainline branch [42] comprises of more than 287,000 physical lines of code (see Figure 7.2). These 287,000 physical lines of code were contributed by more that 50 individuals and organizations (including myself) over the entire history of HelenOS and its direct ancestors since 2001. The size of the code would be even higher if we would also count in all the original code that can be found in the numerous feature branches of HelenOS [41] and the code in standalone patches that still wait for their inal review and merging into the main- line branch. For the sake of simplicity, we also ignore the code that was once written, but later refactored, replaced or removed. Assessing my own personal contribution to the HelenOS mainline branch can be done in a straight- forward way by examining the source code repository. A conservative estimate is that the mainline branch contains about 15 % of source lines created or modiied by me (ignoring copyright headers, refactoring of foreign code, trivial coding style ixes, generated and binary iles, all my contribu- tions before August 2009, etc.). 589 iles out of 3215 (i.e. approximately 18 %) carry my copyright header. Putting one’s name into the copyright header is a HelenOS custom to tag iles that contain a signiicant contribution (not just minor modiications) from the given developer. Historically, I am the second most active contributor with a total of 2171 changesets committed (out of 7017). It is also fairly easy to quantify my other work related to HelenOS: At the Charles University in Pra- gue, I have personally supervised 19 successfully defended master theses and 2 successfully de- fended bachelor theses related to HelenOS (an additional master thesis is currently in progress under my supervision). I have also supervised 1 successfully defended individual project and 2 suc- cessfully defended team software projects that were related to HelenOS. I have acted three times as HelenOS organization administrator for Google Summer of Code (in 2011, 2012 and 2014) and twice for ESA Summer of Code in Space (in 2013 and 2015). Within these programs, I have men- tored 3 students. Finally, I have presented HelenOS at 5 major international events (ISARCS 2010, FOSDEM 2012, FOSDEM 2013, FOSDEM 2014 and FOSDEM 2015). Assessing my contribution from qualitative point of view is certainly not so straightforward. As it is with the ideas themselves, every singular contribution can be analyzed for an almost arbitrary long time to evaluate the proportion of personal effort. Just as a model example, I have person- ally reviewed the source code of many (but not all) deliverables of the theses and projects I have supervised or mentored before merging it into the mainline branch of HelenOS. I have modiied the source code written by the students – at times, these modiications were only minor coding style cleanups, but at different times, it was a major refactoring or rewrite. The success of my “gatekeeping” work was clearly conditioned by the existence of the source code delivered by the original authors. On the other hand, I have also indirectly inluenced that source code via my supervision or mentoring and even more importantly, my modiications to the source code during the reviewing process represent my own original input. iii Acknowledgements iv Therefore I leave the judgement about the proportion of my contribution to HelenOS to the kind reader. I hereby declare that I am completely open about the fact that HelenOS is an open source project, a long-term team and community effort and a mosaic assembled from individual ideas and contributions of many people working on a shared source base and in a shared design environment. In case of any doubt, I am ready to provide any additional information necessary to clarify the actual extent of my contribution to HelenOS. I irmly believe that my own body of work on HelenOS entitles me to express my ideas in this doctoral thesis. Any time I use the phrases “the authors of HelenOS”, “the developers of HelenOS” and similar ex- pressions in the context of design and implementation of HelenOS, the expressions should be under- stood in the following way: The given subject matter has been under discussion among the mem- bers of the HelenOS community (including me) and the described opinion is a generally accepted consensus in the HelenOS community. Personal Remarks First and foremost, I would like to express my gratitude to Jakub Jermář for starting HelenOS and accepting me into the original HelenOS team. Without Jakub, his enthusiasm for operating systems and his natural leadership authority, my professional life would have undeniably went on a com- pletely different path. I would have missed many interesting events and encounters that HelenOS enabled us. I would also like to thank Jakub for being my close personal friend over the years. His constant optimism, his openness and certainly also his dedication to HelenOS helped not only me, but all contributors to HelenOS to realize their dreams. A big thank you also goes to the other members of the original HelenOS team software project: Sergey Bondari, Josef Cejka, Ondřej Palkovský, Jakub Váňa and our supervisor Jakub Yaghob. With- out their effort, HelenOS would have never grown beyond a simple toy kernel. We are still building on the solid foundations that we have designed and implemented together as a team from 2004 to 2006. These were really the pioneering times and I often remember them in a rather nostalgic way. As there would be no foundations of HelenOS without the original team members, there would be little beyond that without the contributors that followed later on. The manpower and time donated by them allowed HelenOS to grow from an intricate loader for Tetris to an operating system that is just on the verge of actual practical usability. Let me divide the list of names I would like to explicitly mention into several groups. Tomáš Benhák, Zdeněk Bouška, Tomáš Brambora, Jan Buchar, Jan Dolejš, Stepán Henek, Vojtěch Horký, Adam Hraška, Jan Kolárik, Petr Koupý, Stanislav Kozina, Jan Mareš, Lukáš Mejdrech, Fran- tišek Princ, Pavel Rı́mský, Antonı́n Steinhauser, Jiřı́ Svoboda, Dominik Táborský, Jiřı́ Tlach, Lenka Trochtová and Ján Veselý are the authors of master or bachelor theses at the Charles University in Prague that I have supervised. Andrey Erokhin, Julia G. Medvedeva and Jiřı́ Zárevúcky are the stu- dents that I have mentored within Google Summer of Code. Matúš Dekánek, Matěj Klonfar, Jiřı́ Michalec, Ľuboš Slovák, Radim Vansa and Jan Záloha contributed into HelenOS in the framework of two team software projects at the Charles University in Prague under my supervision. Finally, Jiřı́ Kavalı́k, Michal Kebrt, Michal Konopa, Pavel Jančı́k, Martin Jelen, Petr Jerman, Peter Majer, Vojtěch Mencl and Petr Stěpán contributed to HelenOS in the framework of the Operating Systems course at the Charles University in Prague under my supervision. Thank you all for accepting the high quality requirements of HelenOS, tolerating my not always timely replies to your emails and especially for devoting your time and resources to HelenOS. v Acknowledgements A similar gratitude goes also to the other contributors who worked within Google Summer of Code or ESA Summer of Code in Space and who were mentored by other members of the HelenOS com- munity: Tobias Börtitz, Sean Bartell, Jakub Klama, Vivek Prakash, Oleg Romanenko and Agnieszka Tabaka. A special honorable mention goes to Jiřı́ Zárevúcky and to the supervisor of his bachelor thesis Zdeněk Rı́ha from Masaryk University in Brno, and to Martin Sucha and to the supervisor of his master thesis Jaroslav Janáček from Comenius University in Bratislava. The respective supervisors bravely embarked on supporting the theses although not being members of the HelenOS commu- nity. Not all of the deliverables of all the theses and projects done by the previously mentioned people have been integrated directly into the HelenOS mainline branch, but in all cases they served as ex- tremely valuable input for future development of HelenOS. Thanks again! My endless gratitude goes also to all the independent contributors from the wider open source com- munity. These people sacriiced their free time to improve the source code of HelenOS without any speciic compensation from our side and therefore deserve our respect. For the sake of brevity, let me name at least those whose contributions are in the mainline branch of HelenOS: Dmitry Bolkhovityanov, Lubomı́r Bulej, Tomáš Bureš, Manuele Conti, Matteo Facchinetti, Beniamino Gal- vani, Matthieu Gueguen, Zbigniew Halas, Mohammed Q. Hussain, Adrian Jamróz, Fan Jinfei, Sandeep Kumar, Maurizio Lombardi, Vineeth Pillai, Tim Post, Alexander Prutkov, Marin Ramesa, Jeff Rous, Thomas Sanchez, Ondřej Serý, Martin Sucha, Petr Tůma and Laura-Mihaela Vasilescu. There are also people who contribute to the HelenOS wiki, send us bug reports, talk to us via our development mailing list or over IRC and even contribute patches that are unfortunately still wait- ing in the queue for a review.
Recommended publications
  • 24 Bit 96 Khz Digital Audio Workstation Using High Performance Be Operating System on a Multiprocessor Intel Machine
    24 bit 96 kHz Digital Audio Workstation using high performance Be Operating System on a multiprocessor Intel machine by: Michal Jurewicz - Mytek, Inc., New York, NY, USA Timothy Self - Be, Inc., Menlo Park, CA, USA ABSTRACT Digital Audio Workstation (DAW) has quickly established itself as the most important digital audio production tool. With the advent of high-resolution multi-channel audio formats and Internet audio exchange, the high performance and flawless operations of the desktop DAW have become a necessity. The authors explaining why current popular computer architectures are not suited to these new tasks, explore the possibilities of the new Be Operating System (BeOS)- specifically designed and optimized to handle digital audio and video. New features, unattainable with current operating systems, are discussed. 1. Introduction Ever increasing performance of computers has caused a gradual migration of the key audio production tools from hardware embodiments to the virtual world of computers. This trend will continue, propelled by bottom line economics and the appearance of new features such as network audio exchange. Although current computer hardware is up to the task, existing general purpose operating systems are the actual performance bottleneck . Designed over 10 years ago for general purpose computing, they fail to meet increasing demands for speed and file size. The new BeOS has been designed from ground up to handle high bandwidth digital audio and video in a modern multiprocessing and multitasking environment. The paper focuses solely on the use of commodity personal computers (IBM Compatibles and Apple) and their operating systems (Windows, MacOS, BeOS and Linux). Although number of specialized platforms such as SGI provides superior performance, they were omitted, as their presence in the current professional audio environment is minimal.
    [Show full text]
  • Easy As Abc: Categorizing Open Source Licenses
    EASY AS ABC: CATEGORIZING OPEN SOURCE LICENSES Andrew T. Pham1, Matthew B. Weinstein2, Jamie L. Ryerson3 With more than 180,000 open source projects available and its more than 1400 unique licenses, the complexity of deciding how to manage open source usage within “closed-source” commercial enterprises have dramatically increased.4 Because of the complexity and risks associated with open source—where source code is made freely available for all to review, edit, and use—many closed-source commercial enterprises discourage or prohibit use of open source; a common and short-sighted practice. With a proper open source management framework, open source can be an invaluable resource, and its risks can be understood, managed and controlled. This article proposes a simple, consistent and effective open source categorization and management system to enable a peaceful coexistence between open source and closed-source codes. Free and open source software (“FOSS” or collectively “open source”) is a valuable tool, but one that must be understood to be used effectively. The litany of risks associated with use of open source include: having to release a derivative product incorporating open source under the same open source license; incorporating code that infringes a patent; violating an open source license’s attribution requirements; and a lack of warranties and indemnities. Given the extensive investment of time, money and resources that goes into product development, it comes as no This article is an edited version of the original, which dealt not only with categorizing open source licenses but also a wider array of issues associated with implementing an open source policy.
    [Show full text]
  • The Linux Kernel Module Programming Guide
    The Linux Kernel Module Programming Guide Peter Jay Salzman Michael Burian Ori Pomerantz Copyright © 2001 Peter Jay Salzman 2007−05−18 ver 2.6.4 The Linux Kernel Module Programming Guide is a free book; you may reproduce and/or modify it under the terms of the Open Software License, version 1.1. You can obtain a copy of this license at http://opensource.org/licenses/osl.php. This book is distributed in the hope it will be useful, but without any warranty, without even the implied warranty of merchantability or fitness for a particular purpose. The author encourages wide distribution of this book for personal or commercial use, provided the above copyright notice remains intact and the method adheres to the provisions of the Open Software License. In summary, you may copy and distribute this book free of charge or for a profit. No explicit permission is required from the author for reproduction of this book in any medium, physical or electronic. Derivative works and translations of this document must be placed under the Open Software License, and the original copyright notice must remain intact. If you have contributed new material to this book, you must make the material and source code available for your revisions. Please make revisions and updates available directly to the document maintainer, Peter Jay Salzman <[email protected]>. This will allow for the merging of updates and provide consistent revisions to the Linux community. If you publish or distribute this book commercially, donations, royalties, and/or printed copies are greatly appreciated by the author and the Linux Documentation Project (LDP).
    [Show full text]
  • Sistemi Operativi Real-Time Marco Cesati Lezione R13 Sistemi Operativi Real-Time – II Schema Della Lezione
    Sistemi operativi real-time Marco Cesati Lezione R13 Sistemi operativi real-time – II Schema della lezione Caratteristiche comuni VxWorks LynxOS Sistemi embedded e real-time QNX eCos Windows Linux come RTOS 15 gennaio 2013 Marco Cesati Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SERT’13 R13.1 Sistemi operativi Di cosa parliamo in questa lezione? real-time Marco Cesati In questa lezione descriviamo brevemente alcuni dei più diffusi sistemi operativi real-time Schema della lezione Caratteristiche comuni VxWorks LynxOS 1 Caratteristiche comuni degli RTOS QNX 2 VxWorks eCos 3 LynxOS Windows Linux come RTOS 4 QNX Neutrino 5 eCos 6 Windows Embedded CE 7 Linux come RTOS SERT’13 R13.2 Sistemi operativi Caratteristiche comuni dei principali RTOS real-time Marco Cesati Corrispondenza agli standard: generalmente le API sono proprietarie, ma gli RTOS offrono anche compatibilità (compliancy) o conformità (conformancy) allo standard Real-Time POSIX Modularità e Scalabilità: il kernel ha una dimensione Schema della lezione Caratteristiche comuni (footprint) ridotta e le sue funzionalità sono configurabili VxWorks Dimensione del codice: spesso basati su microkernel LynxOS QNX Velocità e Efficienza: basso overhead per cambi di eCos contesto, latenza delle interruzioni e primitive di Windows sincronizzazione Linux come RTOS Porzioni di codice non interrompibile: generalmente molto corte e di durata predicibile Gestione delle interruzioni “separata”: interrupt handler corto e predicibile, ISR lunga
    [Show full text]
  • An Introduction to Software Licensing
    An Introduction to Software Licensing James Willenbring Software Engineering and Research Department Center for Computing Research Sandia National Laboratories David Bernholdt Oak Ridge National Laboratory Please open the Q&A Google Doc so that I can ask you Michael Heroux some questions! Sandia National Laboratories http://bit.ly/IDEAS-licensing ATPESC 2019 Q Center, St. Charles, IL (USA) (And you’re welcome to ask See slide 2 for 8 August 2019 license details me questions too) exascaleproject.org Disclaimers, license, citation, and acknowledgements Disclaimers • This is not legal advice (TINLA). Consult with true experts before making any consequential decisions • Copyright laws differ by country. Some info may be US-centric License and Citation • This work is licensed under a Creative Commons Attribution 4.0 International License (CC BY 4.0). • Requested citation: James Willenbring, David Bernholdt and Michael Heroux, An Introduction to Software Licensing, tutorial, in Argonne Training Program on Extreme-Scale Computing (ATPESC) 2019. • An earlier presentation is archived at https://ideas-productivity.org/events/hpc-best-practices-webinars/#webinar024 Acknowledgements • This work was supported by the U.S. Department of Energy Office of Science, Office of Advanced Scientific Computing Research (ASCR), and by the Exascale Computing Project (17-SC-20-SC), a collaborative effort of the U.S. Department of Energy Office of Science and the National Nuclear Security Administration. • This work was performed in part at the Oak Ridge National Laboratory, which is managed by UT-Battelle, LLC for the U.S. Department of Energy under Contract No. DE-AC05-00OR22725. • This work was performed in part at Sandia National Laboratories.
    [Show full text]
  • Ebook - Informations About Operating Systems Version: August 15, 2006 | Download
    eBook - Informations about Operating Systems Version: August 15, 2006 | Download: www.operating-system.org AIX Internet: AIX AmigaOS Internet: AmigaOS AtheOS Internet: AtheOS BeIA Internet: BeIA BeOS Internet: BeOS BSDi Internet: BSDi CP/M Internet: CP/M Darwin Internet: Darwin EPOC Internet: EPOC FreeBSD Internet: FreeBSD HP-UX Internet: HP-UX Hurd Internet: Hurd Inferno Internet: Inferno IRIX Internet: IRIX JavaOS Internet: JavaOS LFS Internet: LFS Linspire Internet: Linspire Linux Internet: Linux MacOS Internet: MacOS Minix Internet: Minix MorphOS Internet: MorphOS MS-DOS Internet: MS-DOS MVS Internet: MVS NetBSD Internet: NetBSD NetWare Internet: NetWare Newdeal Internet: Newdeal NEXTSTEP Internet: NEXTSTEP OpenBSD Internet: OpenBSD OS/2 Internet: OS/2 Further operating systems Internet: Further operating systems PalmOS Internet: PalmOS Plan9 Internet: Plan9 QNX Internet: QNX RiscOS Internet: RiscOS Solaris Internet: Solaris SuSE Linux Internet: SuSE Linux Unicos Internet: Unicos Unix Internet: Unix Unixware Internet: Unixware Windows 2000 Internet: Windows 2000 Windows 3.11 Internet: Windows 3.11 Windows 95 Internet: Windows 95 Windows 98 Internet: Windows 98 Windows CE Internet: Windows CE Windows Family Internet: Windows Family Windows ME Internet: Windows ME Seite 1 von 138 eBook - Informations about Operating Systems Version: August 15, 2006 | Download: www.operating-system.org Windows NT 3.1 Internet: Windows NT 3.1 Windows NT 4.0 Internet: Windows NT 4.0 Windows Server 2003 Internet: Windows Server 2003 Windows Vista Internet: Windows Vista Windows XP Internet: Windows XP Apple - Company Internet: Apple - Company AT&T - Company Internet: AT&T - Company Be Inc. - Company Internet: Be Inc. - Company BSD Family Internet: BSD Family Cray Inc.
    [Show full text]
  • Building a SAN-Less Private Cloud with IBM Powervm and IBM Powervc
    Front cover Building a SAN-less Private Cloud with IBM PowerVM and IBM PowerVC Javier Bazan Lazcano Stephen Lutz Redpaper International Technical Support Organization Building a SAN-less Private Cloud with IBM PowerVM and IBM PowerVC July 2018 REDP-5455-02 Note: Before using this information and the product it supports, read the information in “Notices” on page v. Third Edition (July 2018) This edition applies to Version 1, Release 4, Modification 1 of IBM Cloud PowerVC Manager for Software-Defined Infrastructure V1.1 (product number 5765-VCD). © Copyright International Business Machines Corporation 2017, 2018. 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 . .v Trademarks . vi Preface . vii Authors. vii Now you can become a published author, too! . viii Comments welcome. viii Stay connected to IBM Redbooks . viii Chapter 1. Architecture of a software-defined infrastructure solution with IBM Power Systems servers and IBM PowerVC . 1 1.1 Software-defined infrastructure . 2 1.2 The motivation behind software-defined infrastructure . 2 1.3 Use cases . 4 1.3.1 Use case 1: Building a storage area network-less cloud . 4 1.3.2 Use case 2: Building an iSCSI-backed cloud . 5 1.3.3 More use cases. 5 1.4 Rack topologies and components . 6 1.4.1 Starter cloud . 7 1.4.2 Mini cloud . 8 1.4.3 Rack scale . 9 1.4.4 Storage/management switches. 10 1.4.5 Data switches . 10 1.4.6 Network nodes .
    [Show full text]
  • Introduction to Linux Kernel Driver Programming
    IntroductionIntroduction toto LinuxLinux kernelkernel driverdriver programmingprogramming Introduction to Linux kernel driver programming The Linux kernel device model Authors and license ● Authors – Michael Opdenacker ([email protected]) Founder of Bootlin, kernel and embedded Linux engineering company https://bootlin.com/company/staff/michael-opdenacker ● License – Creative Commons Attribution – Share Alike 4.0 https://creativecommons.org/licenses/by-sa/4.0/ – Document sources: https://github.com/e-ale/Slides Need for a device model ● For the same device, need to use the same device driver on multiple CPU architectures (x86, ARM…), even though the hardware controllers are different. ● Need for a single driver to support multiple devices of the same kind. ● This requires a clean organization of the code, with the device drivers separated from the controller drivers, the hardware description separated from the drivers themselves, etc. Driver: between bus infrastructure and framework In Linux, a driver is always interfacing with: ● a framework that allows the driver to expose the hardware features in a generic way. ● a bus infrastructure, part of the device model, to detect/communicate with the hardware. Let’s focus on the bus infrastructure for now Device model data structures The device model is organized around three main data structures: ● The struct bus_type structure, which represent one type of bus (USB, PCI, I2C, etc.) ● The struct device_driver structure, which represents one driver capable of handling certain devices on a certain bus. ● The struct device structure, which represents one device connected to a bus The kernel uses inheritance to create more specialized versions of struct device_driver and struct device for each bus subsystem.
    [Show full text]
  • What Is an Operating System III 2.1 Compnents II an Operating System
    Page 1 of 6 What is an Operating System III 2.1 Compnents II An operating system (OS) is software that manages computer hardware and software resources and provides common services for computer programs. The operating system is an essential component of the system software in a computer system. Application programs usually require an operating system to function. Memory management Among other things, a multiprogramming operating system kernel must be responsible for managing all system memory which is currently in use by programs. This ensures that a program does not interfere with memory already in use by another program. Since programs time share, each program must have independent access to memory. Cooperative memory management, used by many early operating systems, assumes that all programs make voluntary use of the kernel's memory manager, and do not exceed their allocated memory. This system of memory management is almost never seen any more, since programs often contain bugs which can cause them to exceed their allocated memory. If a program fails, it may cause memory used by one or more other programs to be affected or overwritten. Malicious programs or viruses may purposefully alter another program's memory, or may affect the operation of the operating system itself. With cooperative memory management, it takes only one misbehaved program to crash the system. Memory protection enables the kernel to limit a process' access to the computer's memory. Various methods of memory protection exist, including memory segmentation and paging. All methods require some level of hardware support (such as the 80286 MMU), which doesn't exist in all computers.
    [Show full text]
  • Amigaos 3.2 FAQ 47.1 (09.04.2021) English
    $VER: AmigaOS 3.2 FAQ 47.1 (09.04.2021) English Please note: This file contains a list of frequently asked questions along with answers, sorted by topics. Before trying to contact support, please read through this FAQ to determine whether or not it answers your question(s). Whilst this FAQ is focused on AmigaOS 3.2, it contains information regarding previous AmigaOS versions. Index of topics covered in this FAQ: 1. Installation 1.1 * What are the minimum hardware requirements for AmigaOS 3.2? 1.2 * Why won't AmigaOS 3.2 boot with 512 KB of RAM? 1.3 * Ok, I get it; 512 KB is not enough anymore, but can I get my way with less than 2 MB of RAM? 1.4 * How can I verify whether I correctly installed AmigaOS 3.2? 1.5 * Do you have any tips that can help me with 3.2 using my current hardware and software combination? 1.6 * The Help subsystem fails, it seems it is not available anymore. What happened? 1.7 * What are GlowIcons? Should I choose to install them? 1.8 * How can I verify the integrity of my AmigaOS 3.2 CD-ROM? 1.9 * My Greek/Russian/Polish/Turkish fonts are not being properly displayed. How can I fix this? 1.10 * When I boot from my AmigaOS 3.2 CD-ROM, I am being welcomed to the "AmigaOS Preinstallation Environment". What does this mean? 1.11 * What is the optimal ADF images/floppy disk ordering for a full AmigaOS 3.2 installation? 1.12 * LoadModule fails for some unknown reason when trying to update my ROM modules.
    [Show full text]
  • Dualbooting Amigaos 4 and Amigaos 3.5/3.9
    Dualbooting AmigaOS 4 and AmigaOS 3.5/3.9 By Christoph Gutjahr. Licensed under the GNU Free Documentation License This tutorial explains how to turn a classic Amiga into a dualboot system that lets you choose the desired operating system - AmigaOS 4 or AmigaOS 3.5/3.9 - at every cold start. A "cold start" happens when... 1. the computer has just been switched on 2. you press the key combination Control-Amiga-Amiga for more than ten seconds while running AmigaOS 3 3. you press Control-Alt-Alt (instead of Control-Amiga-Amiga) under AmigaOS 4 During a "warm reboot" (e.g. by shortly pressing Control-Amiga-Amiga), the operating system that is currently used will be booted again. Requirements This tutorial is only useful for people using AmigaOS 3.5 or 3.9 in addition to AmigaOS 4. If you're using an older version of OS 3, you can not use the scripts described below. The Amiga in question should have two boot partitions - one for AmigaOS 4 and one for AmigaOS 3.5/3.9, both should be below the famous 4 GB barrier. The OS 4 partition must have a higher boot priority. Two different solutions There are two different approaches for dualbooting: the first one described below will display a simple 'boot menu' at every cold boot, asking the user to select the OS he wants to boot. The other solution explained afterwards will always boot into AmigaOS 4, unless the user enters the "Early Startup Menu" and selects the OS 3 partition as the boot drive.
    [Show full text]
  • Mac OS X: an Introduction for Support Providers
    Mac OS X: An Introduction for Support Providers Course Information Purpose of Course Mac OS X is the next-generation Macintosh operating system, utilizing a highly robust UNIX core with a brand new simplified user experience. It is the first successful attempt to provide a fully-functional graphical user experience in such an implementation without requiring the user to know or understand UNIX. This course is designed to provide a theoretical foundation for support providers seeking to provide user support for Mac OS X. It assumes the student has performed this role for Mac OS 9, and seeks to ground the student in Mac OS X using Mac OS 9 terms and concepts. Author: Robert Dorsett, manager, AppleCare Product Training & Readiness. Module Length: 2 hours Audience: Phone support, Apple Solutions Experts, Service Providers. Prerequisites: Experience supporting Mac OS 9 Course map: Operating Systems 101 Mac OS 9 and Cooperative Multitasking Mac OS X: Pre-emptive Multitasking and Protected Memory. Mac OS X: Symmetric Multiprocessing Components of Mac OS X The Layered Approach Darwin Core Services Graphics Services Application Environments Aqua Useful Mac OS X Jargon Bundles Frameworks Umbrella Frameworks Mac OS X Installation Initialization Options Installation Options Version 1.0 Copyright © 2001 by Apple Computer, Inc. All Rights Reserved. 1 Startup Keys Mac OS X Setup Assistant Mac OS 9 and Classic Standard Directory Names Quick Answers: Where do my __________ go? More Directory Names A Word on Paths Security UNIX and security Multiple user implementation Root Old Stuff in New Terms INITs in Mac OS X Fonts FKEYs Printing from Mac OS X Disk First Aid and Drive Setup Startup Items Mac OS 9 Control Panels and Functionality mapped to Mac OS X New Stuff to Check Out Review Questions Review Answers Further Reading Change history: 3/19/01: Removed comment about UFS volumes not being selectable by Startup Disk.
    [Show full text]