A Persistent System in Real Use-Experiences of the First 13 Years

Total Page:16

File Type:pdf, Size:1020Kb

A Persistent System in Real Use-Experiences of the First 13 Years A Persistent System in Real Use - Experiences of the First 13 Years - Jochen Liedtke German National Research Center for Computer Science GMD SET 53757 SaIikt Augustin Germany jochen.liedt [email protected] Abstract more memory and a hard disk were added. In the following years the system was ported to many differ- Eumel and its advanced successor L3 are operating ent niachines based on Zilog 280 and 28000, Motorola systems built by GMD which have been used, for 13 GSOOO and Intel SO86 processors. years and 4 years respectively, as production systems Unfortunately 8-bit and the early 16-bit processors in business and education. More than 2000 Euinel sys- did not provide hardware to support a state of the art tems and 500 L.9 systems have been shipped since 1979 operating system, in particular they lacked a memory and 1988. Both systems rely heavily on the paradigm management unit. We, therefore, designed a virtual of persistence (including fault-surviving persistence). machine with a powerful instruction set and virtual Both data and processes, in principle all objects are 32 bit addresses. Although the instructions and the persistent, files are implemented by means of persis- XlMU had to be implemented in software, the sys- tent objects (not vice versa) etc. tem's overall efficiency was high enough that commer- In addition to the principles and mec1ianism.s of Eu- cial sites had up to 5 terminals per system. nael/LS, general and specific experiences are described: Due to its non-standard architecture Eumel was these relate to the design, implementation and main- initially a one language system based on ELAN tenance of the syslenzs over the last 13 years. For [Honi 791. Later, some other compilers became avail- general purpose timesharing systems the idea is pow- able (CDL, Pascal, Basic, Dynamo) but these were not erful and elegant, it can be eficiently implemented, but widely used. making a system really usable is hard work. In due course processors came up with the neces- sary hardware support for data security and virtual addressing; the requirements of the virtual machine 1 Historical background: Eumel and could then be met directly by hardware. In 1987 L3 we started the L3 development, principally aimed at achieving higher performance and obtaining an open When the first 8-bit microcomputers became avail- system. The L3 architecture is an advancement and a able in Germany, GMD started an effort to introduce generalization of the Eumel principles, but built com- them, aa small workstations, into schools and univer- pletely from scratch. Since L3 is upwards compatible sities. Since there was no really usable operating sys- with Eumel, it inherited all of the existing tools and tem for these machines (only CP/M and similar con- applictions. trol programs), GMD and the University of Bielefeld Both L3 and its predecessor Eumel are pure p- decided to develop a new system from scratch. kernel based systems relying heavily on the idea of Design and implementation of the Euniel (pro- persistent processes. They are strongly influenced by nounced 'oimel') operating system started in 1979. hlultics and have similarities to later systems, such as The initial hardware base was a computer with a Zilog Accent and Mach. Z80 processor, 64 I<B of main memory and one or more The first Eumel systems were shipped to end users 8"floppy disk drives storing 300 Kbytes each. Later, in 1980, and were mainly used for teaching program- 2 0-8186-5270-5193$3.00 0 1993 IEEE ming and text processing. In the following years com- mechanisms used to achieve this are virtual address mercial systems to support lawyers, and other spe- spaces and m,apping. Benefits of this decision are that: cialised applications for small and medium sized com- panies, were built on top Eumel. By the mid 80’s more 0 Only one general mechanism has to be designed, than 2000 systems had been installed. implemented, verified and tuned for files, pro- Delivery of L3 began in 1989 and, to date, about grams and databases. 500 L3 systems have been shipped. Most of these are used for commercial applications, others as Eumel suc- 0 New persistent data types can be built efficiently cessors in schools. L3 is now in daily use in a variety using this mechanism. of industrial and commercial contents. 0 A single, general, recovery mechanism can be con- st,ructed. 2 work Related 0 Neither syntactical nor run time overhead is in- curred when accessing persistent data. The Eumel/L3 model of virtual memory was strongly influenced by the Multics [Ben 721 ideas. Lo- Since data is persistent, the active instances oper- rie [Lor 771 introduced shadow paging for checkpoint- ating on the data should be persistent too; so we de- ing. A slightly more general variant of this method is cided that processes would also be persistent. In fact used in Eumel/L3 for both copying and checkpointing. this only requires that stack pointers, program coun- In 1979, most related work was yet to start (or not ters and other internal registers be regarded as data. yet widely known). Accent [Ras 811 and its successor Consequences of this decision are that: Mach [Acc 861 used copy on write techniques. These and various other systems (e.g. Amoeba [Mu1 841, 0 Program and system checkpoints are easy to im- Chorus [Gui 821, V [Che 841 and its predecessor Toth plement. [Che 791) are based on the message passing paradigm, but not on the persistence paradigm. 0 All running programs automatically become dae- The programming languages Elle [Alb 801 and PS- mons. Algol [Atk 821 already handled persistent and tran- sient data uniformly. To date, partial data persis- 0 For more complex functions (e.g. protection and tence (without dealing with faults) is part of the the synchronisation) active algorithms can be used in Comandos [Cah 931 project. Data and process per- place of conventional passive data structures. sistence including faults is also supported in Monads Thus tasks - consisting of an address space, one or [Ros 871 and by the KeyKOS [Har 851 nano-kernel, more threads, and a set of data objects mapped into first released in 1983. the address space - are principally persistent. The Eumel/LS concepts and experiences have also influenced the BirliX [Hir 921 operating system design Unfortunately not all tasks can be made persistent. at GMD. When beginning the L3 design we decided that all device drivers had to be user level tasks. This idea is natural, since there is nothing exceptional about a 3 Principles device driver, and it proved to be flexible and powerful. But, for hardware related reasons, most device drivers 3.1 Everything is persistent must not be swapped out, or even blocked for long enough to write back their status to the persistent We did not find any concept(ua1reason for anything store. So tasks can be declared to be resident, which not to be persistent. Obviously all things should live also means non persistent. as long as they are needed; and equally obviously turn- ing off the power should neither be connected with the 3.2 Processes are first class objects lifetime of a file nor with the lifetime of a local vari- able on a program stack. There are files that are only Most operating systems introduce passive data as needed for a few seconds, and programs that run for first class objects: they give unique identifiers or even weeks. path names t>othem, permit low level access control Some data (e.g. files) have to be persistent, so we etc. However, when processes are also persistent, this decided that all data should be persistent. The basic turns out to be upside down. An active process is more 3 general, flexible and powerful than a passive data ob- of inter-process communication. The integrity of mes ject (although the models are Turing-equivalent), es- sa.ge transfer, the uniqueness of task and thread iden- pecially when implementing objects with inherent ac- tifiers and one distinguished identifier are sufficient to tivity: e.g. traffic lights, floppy disk drives (turning solve these problems. The last item can be used as a off the motor if no request for 3 seconds) or a terminal root for higher level naming schemes. handler which cleans the screen and requests new au- Since all data objects are completely controlled by thorization (like xautoolog), when no keystroke occurs tasks, local identifiers are sufficient, unique only per for some minutes (or the terminal camera no longer task and not in time; this simplifies the kernel. Fur- “sees” the user). A simple example for this type of thermore higher levels gain flexibility, because they object is a clock which shows the actual time on the are less restricted by kernel concepts. Some naming screen and can be switched to different local times and binding mechanisms that have been implemented concurrently: on top of the kernel are described in section 5. PROC configurable screen clock : delay := 0 ; 4 Details do do This section gives a short overview of some details show (time + delay) ; of the support for persistence in Eumel and L3. More timeout := 60s - time niod 60s ; details are described in [EUM 79, EUM 79a, Bey 89, receive (client, msg, timeout) Lie 91, Lie 921. until msg received od ; delay := msg.time shift 4.1 Tasks, threads and communication od END PROC The L3-kernel is an abstract machine implementing the data type task. A task consists of This example also shows that Atkinson’s orig- inal scale of persistence [Atk 831 (transient, lo- at least one thread cal, own/global, .
Recommended publications
  • ICACC Abstracts Book
    The American Ceramic Society 42nd International Conference & Exposition on Advanced Ceramics and Composites ABSTRACT BOOK January 21–26, 2018 Daytona Beach, Florida Introduction This volume contains abstracts for over 900 presentations during the 42nd International Conference & Exposition on Advanced Ceramics & Composites in Daytona Beach, Florida. The abstracts are reproduced as submitted by authors, a format that provides for longer, more detailed descriptions of papers. The American Ceramic Society accepts no responsibility for the content or quality of the abstract content. Abstracts are arranged by day, then by symposium and session title. An Author Index appears at the back of this book. The Meeting Guide contains locations of sessions with times, titles and authors of papers, but not presentation abstracts. How to Use the Abstract Book Refer to the Table of Contents to determine page numbers on which specific session abstracts begin. At the beginning of each session are headings that list session title, location and session chair. Starting times for presentations and paper numbers precede each paper title. The Author Index lists each author and the page number on which their abstract can be found. Copyright © 2018 The American Ceramic Society (www.ceramics.org). All rights reserved. MEETING REGULATIONS The American Ceramic Society is a nonprofit scientific organization that facilitates whether in print, electronic or other media, including The American Ceramic Society’s the exchange of knowledge meetings and publication of papers for future reference. website. By participating in the conference, you grant The American Ceramic Society The Society owns and retains full right to control its publications and its meetings.
    [Show full text]
  • Freier Download BA 104 Als
    BAD 104 ALCHEMY Gone, gone, gone... [31 May 2019] Roky Erickson (The 13th Floor Elevators), 71 [01 Jun 2019] Michel Serres (Philosoph der Parasiten, Gemenge und Gemische), 88 [06 Jun 2019] Dr. John Mac Rebennack (the Night Tripper w/ New Orleans R&B), 77 [22 July 2019] Brigitte Kronauer (Teufelsbrück, Zwei schwarze Jäger), 78 [11 Sep 2019] Daniel Johnston (American singer-songwriter), 58 [30 Sep 2019] Gianni Lenoci (italienischer NowJazz-Pianist), 56 [06 Oct 2019] Ginger Baker (Trommelfeuerkopf bei Cream, Air Force...), 80 [03 Nov 2019] Katagiri Nobukazu (der Drummer von Ryorchestra) Hirnschlag BA's Top Ten 2019 Arashi - Jikan (PNL) d.o.o.r - Songs from a Darkness (poise) Fire! Orchestra - Arrival (Rune Grammofon) Kamilya Jubran & Werner Hasler - Wa (Everest) Land of Kush - Sand Enigma (Constellation) Les Comptes De Korsakoff - Nos Amers (Puzzle) MoE & Pinquins - Vi som elsket kaos (ConradSound) Stephanie Pan - Have Robot Dog, Will Travel (Arteksounds) Andrew Poppy - Hoarse Songs (Field Radio) La STPO - L'Empreinte (The Legacy) (Azafran Media) Die Macht eines Buches, ganz gleich welchen Buches, ... liegt darin, daß es eine offenstehende Tür ist, durch die man abhauen kann. Ich unterstreiche abhauen. Julien Green ...ein Kraut Schmerzenlos, einen Tropfen Todvorbei, einen Löffel Barmherzigkeit. Alles auf des Messers Schneide: Lachen, Weinen, Worte. Ernst Wiechert Honoré de Balzac - Verlorene Illusionen Karl Heinz Bohrer - Granatsplitter Charlotte Brontë - Erzählungen aus Angria Albert Camus - Der Fall ... Das Exil und das Reich Joseph Conrad - Taifun Jean-Pierre Gibrat - Mattéo: August 1936 André Gide - Die Verliese des Vatikan Julien Green - Der Geisterseher; Tagebücher 1996 bis 1998 Ernst Jünger - Eumeswil [nochmal] Daniel Kehlmann - Tyll Esther Kinsky - Hain Sibylle Lewitscharoff - Blumenberg Henry de Montherlant - Das Chaos und die Nacht [noch besser als beim ersten Mal] Walter Muschg - Tragische Literaturgeschichte Raymond Queneau - Mein Freund Pierrot Hugo Pratt - Corto Maltese: Das Goldene Haus von Samarkand ..
    [Show full text]
  • Partition Types
    Partition Types Partition Types The number on the right is in Hexadecimal. 01 DOS 12-bit fat 02 XENIX root 03 XENIX /usr 04 DOS 3.0+ 16-bit FAT (up to 32M) 05 DOS 3.3+ Extended Partition 06 DOS 3.31+ 16-bit FAT (over 32M) 07 OS/2 IFS (e.g., HPFS) 07 Advanced Unix 07 Windows NT NTFS 07 QNX2.x (pre-1988) 08 OS/2 (v1.0-1.3 only) 08 AIX boot partition 08 SplitDrive 08 DELL partition spanning multiple drives 08 Commodore DOS 08 QNX 1.x and 2.x ("qny") 09 AIX data partition 09 Coherent filesystem 09 QNX 1.x and 2.x ("qnz") 0a OS/2 Boot Manager 0a Coherent swap partition 0a OPUS 0b WIN95 OSR2 32-bit FAT 0c WIN95 OSR2 32-bit FAT, LBA-mapped 0e WIN95: DOS 16-bit FAT, LBA-mapped 0f WIN95: Extended partition, LBA-mapped 10 OPUS (?) 11 Hidden DOS 12-bit FAT 12 Compaq config partition 14 Hidden DOS 16-bit FAT <32M 16 Hidden DOS 16-bit FAT >=32M 17 Hidden IFS (e.g., HPFS) 18 AST SmartSleep Partition 19 Unused (Claimed for Willowtech Photon COS) 1b Hidden WIN95 OSR2 32-bit FAT 1c Hidden WIN95 OSR2 32-bit FAT, LBA-mapped 1e Hidden WIN95 16-bit FAT, LBA-mapped 20 Unused 21 Reserved 21 Unused 22 Unused 23 Reserved 24 NEC DOS 3.x 26 Reserved 31 Reserved 32 NOS 33 Reserved 34 Reserved 35 JFS on OS/2 or eCS 36 Reserved 38 THEOS ver 3.2 2gb partition 39 Plan 9 partition 39 THEOS ver 4 spanned partition 3a THEOS ver 4 4gb partition 3b THEOS ver 4 extended partition 3c PartitionMagic recovery partition 3d Hidden NetWare 40 Venix 80286 41 Linux/MINIX (sharing disk with DRDOS) 41 Personal RISC Boot 41 PPC PReP (Power PC Reference Platform) Boot 42 Linux swap (sharing
    [Show full text]
  • Microkernels: Mach and L4
    Microkernels: Mach and L4 Presented by Jason Wu With content borrowed from Dan Williams (2009) and Hakim Weatherspoon (2008) Outline • Introduction to Kernels • 1st Generation Microkernels – Mach • 2nd Generation Microkernels – L4 • Conclusions Introduction to Kernels • Different Types of Kernel Designs – Monolithic kernel – Microkernel – Hybrid Kernel – Exokernel – Virtual Machines? Monolithic Kernels • All OS services operate in kernel space • Good performance • Disadvantages – Dependencies between system component – Complex & huge (millions(!) of lines of code) – Larger size makes it hard to maintain • E.g. Multics, Unix, BSD, Linux Microkernels • Minimalist approach – IPC, virtual memory, thread scheduling • Put the rest into user space – Device drivers, networking, file system, user interface • More stable with less services in kernel space • Disadvantages – Lots of system calls and context switches • E.g. Mach, L4, AmigaOS, Minix, K42 Monolithic Kernels VS Microkernels Hybrid Kernels • Combine the best of both worlds – Speed and simple design of a monolithic kernel – Modularity and stability of a microkernel • Still similar to a monolithic kernel – Disadvantages still apply here • E.g. Windows NT, NetWare, BeOS Exokernels • Follows end-to-end principle – Extremely minimal – Fewest hardware abstractions as possible – Just allocates physical resources to apps • Disadvantages – More work for application developers • E.g. Nemesis, ExOS • Next Thursday! The Microkernel Debate • How big should it be? • Big debate during the 1980’s Summary:
    [Show full text]
  • Opensource Software Im Alltag
    OpensourceOpensource SoftwareSoftware imim AlltagAlltag -- IstIst dasdas möglich?möglich? Willkommen zum Xing Stammtisch Alexander Demmler – 25.11.2016 © A. Demmler 2016 www.lacunasolutions.com 1 Marktanteile Desktop Systeme 2016 © A. Demmler 2016 www.lacunasolutions.com 2 Webserver Systeme © A. Demmler 2016 www.lacunasolutions.com 3 Einsatz von OSS in US Unternehmen: Northbridge Eine Venture Capital Company. Game changers disrupt existing markets. They also create new multi-billion dollar markets and have the potential to change the way we live and work. http://www.northbridge.com © A. Demmler 2016 www.lacunasolutions.com 4 Was bedeutet OpenSource? • OpenSource Software (OSS) ist professionelle Software unter einer alternativen Entwicklungs- und Vertriebsform • OpenSource ist nicht Linux - aber Linux ist auch OpenSource! • OpenSource bedeutet ein Stück Freiheit: - freie Auswahl - Freiheit ob und wieviel man bezahlt - Freiheit in der Nutzung © A. Demmler 2016 www.lacunasolutions.com 5 Was ist die Community? • Die Community besteht aus - Entwicklern + Beratern + Anwendern + Hobbyisten - grossen Unternehmen (HP, IBM, SUN) - Distributoren wie SUSE, RedHat, Ubuntu u.a. • Die Community entwickelt und pflegt gemeinsam die Software und bietet Unterstützung (Support) • Die Community ist kein Club von Hackern, Freaks und anderen Bösewichten! © A. Demmler 2016 www.lacunasolutions.com 6 Das Geschäftsmodell Freie Software Dienstleistungen (Kosten) Basis Version Erweiterungen Download im WWW Service + Support Online Support Schulungen Zusatzeinkünfte Werbung + Sponsoren © A. Demmler 2016 www.lacunasolutions.com 7 Lizenzrechtliches • Softwarecode (Quellen) sind offen gelegt: - Verbreitung und Nutzung sind ausdrücklich erlaubt - Veränderung (Anpassung, Erweiterung) erlaubt - Quellcode muss offengelegt werden • Es gibt historisch bedingt verschiedene Lizenzmodelle. (GPL, OSL, CPL, EPL u.a) • EU Initiative um Lizenzen vereinen: http://ec.europa.eu ACHTUNG: Auch hier gelten Vorschriften! Computerwoche: http://www.computerwoche.de © A.
    [Show full text]
  • Modeling Large Populations of Full-Sized Virtual Machines Using Minimal Virtual Instances
    UNIVERSITY OF OSLO Department of Informatics Modeling large populations of full-sized virtual machines using minimal virtual instances H˚avard Ostnes haavako@ifi.uio.no Network and System Administration Oslo University College May 23, 2012 1 Modeling large populations of full-sized virtual machines using minimal virtual instances H˚avard Ostnes haavako@ifi.uio.no Network and System Administration Oslo University College May 23, 2012 Abstract This thesis proposes the use of minimal virtual machines to model larger populations of instances in different environments, and investigates if a cloud environment is able to take the populations even further. Finally the thesis wants to investigate if min- imal virtual machines are suitable to host custom application stacks and are able to compete with full-sized virtual machines. As virtualization technology has achieved increased popularity the recent years virtual machines are now used by many busi- nesses, institutions and consumers for different purposes. Full-sized virtual machines are large, and demand considerable amounts of computing resources from the Cloud Resource Pool. This project was able to significantly reduce the size of virtual ma- chines and the amount of computing resources required to host them. The smallest virtual machine accomplished in this project had a size of merely 1.5MB allowing a population of almost 500 times, or at least two orders of magnitude, larger than one standard-sized Ubuntu Server instance. Custom written software was also created for each type of virtual machine for the purpose of simulating real-world CPU usage pat- terns. Several population sizes of minimal virtual machines were deployed and tested in Hypervisor-on-Hardware and Hypervisor-in-Cloud labs to compare their behavior and performance in different environments.
    [Show full text]
  • Design of the SPEEDOS Operating System Kernel
    Universität Ulm Fakultät für Informatik Abteilung Rechnerstrukturen Design of the SPEEDOS Operating System Kernel Dissertation zur Erlangung des Doktorgrades Dr. rer. nat. der Fakultät für Informatik der Universität Ulm vorgelegt von Klaus Espenlaub aus Biberach a.d. Riß 2005 Official Copy, serial number df13c6b7-d6ed-e3f4-58b6-8662375a2688 Amtierender Dekan: Prof. Dr. Helmuth Partsch Gutachter: Prof. Dr. J. Leslie Keedy (Universität Ulm) Gutachter: Prof. Dr. Jörg Kaiser (Otto-von-Guericke-Universität, Magdeburg) Gutachter: Prof. John Rosenberg (Deakin University, Geelong, Victoria, Australia) Prüfungstermin: 11.07.2005 iii Abstract (Eine inhaltsgleiche, deutsche Fassung dieser Übersicht ist ab Seite 243 zu finden.) The design of current operating systems and their kernels shows deficiencies in re- spect to the structuring approach and the flexibility of their protection systems. The operating systems and applications suffer under this lack of extensibility and flexib- ility. The protection model implemented in many operating systems is not powerful enough to represent arbitrary protection conditions on a more fine-grained granu- larity than giving read and/or write access to an entire object. Additionally current operating systems are not capable of controlling the flow of information between software units effectively. Confinement conditions cannot be expressed explicitly and thus confinement problems can only be solved indirectly. Further complications with the protection system and especially the software structure in modern operating systems based on the microkernel approach are caused by the use of the out-of-process model. It is extremely difficult to spe- cify access rights appropriately, because the client/server paradigm does not easily allow a relationship to be established between the role of the client and the per- missions of the server.
    [Show full text]
  • Microkernel-Based and Capability-Based Operating Systems
    Microkernel-based and Capability-based Operating System Martin Děcký [email protected] March 2021 About the Speaker Charles University Research scientist at D3S (2008 – 2017) Graduated (Ph.D.) in 2015 Co-author of the HelenOS (http://www.helenos.org/) microkernel multiserver operating system Huawei Technologies Senior Research Engineer, Munich Research Center (2017 – 2018) Principal Research Engineer, Dresden Research Center (2019 – present) Martin Děcký, March 25th 2021 Microkernel-based and Capability-based Operating Systems 2 Sweden RC Finland RC UK RC Ireland RC Belgium RC Vancouver Edmonton Toronto Poland RC Ukraine RC Montreal France RC Ottawa Germany, Austria, Switzerland RC Israel RC Beijing Waterloo Italy RC Xi’an Nanjing Japan RC Chengdu Shanghai Wuhan Suzhou Songshanhu Hangzhou HQ Shenzhen India RC Edinburgh Tampere Stockholm Helsinki Cambridge Singapore RC Ipswich Goteburg London Lund Warsaw Leuven Dublin Dresden Nuremburg Kyiv Paris Zurich Munich City R&D Center Lagrange Vienna Grenoble Milan Related Country Research Center Nice Pisa City Research Center Tel Aviv Martin Děcký, March 25th 2021 Microkernel-based and Capability-based Operating Systems 3 Huawei Dresden Research Center (DRC) Since 2019, ~20 employees (plus a virtualization team in Munich) Martin Děcký, March 25th 2021 Microkernel-based and Capability-based Operating Systems 4 Huawei Dresden Research Center (DRC) (2) Focuses on R&D in the domain of operating systems Microkernels, hypervisors Collaboration with the OS Kernel Lab in Huawei HQ Collaboration with
    [Show full text]
  • In Memoriam Jochen Liedtke (1953 - 2001)
    Prof. Dr. Jochen Liedtke It is with sorrow that we announce the death of Jochen Liedtke. He died unexpectedly on Sunday, June 10th, 2001. In Memoriam Jochen Liedtke (1953 - 2001) Jochen studied mathematics at the University of Bielefeld, completing his diploma in 1977. The focus of his thesis was the novel programming language ELAN. Jochen's first operating system was a by-product; a run time environment for ELAN was needed on small Z80 micro computers. The result of Jochen's effort, EUMEL, was based on two simple principles: persistent processes and data spaces. All data of the entire system including process control blocks and data space descriptors were contained in these data spaces. They could be copied efficiently and atomically using copy on write and garbage collection techniques. By copying the "data space of data spaces" every few minutes, a complete copy of the entire system state was taken and lazily written out to disk. Thus, process persistence came for free (at least conceptually). Sending around data spaces in synchronous messages was the only means of process interaction which made it easy to build a simple distributed EUMEL system. The paging device was a floppy disk (what else on a cheap computer at that time). In 1984 Jochen moved to GMD, the German National Research Center to build a "native code" version of EUMEL, called L3. This was the time when microkernel based systems were en vogue. Soon however, many researchers gave up their attempts to build the really fast message passing systems that were needed to run device drivers and other performance critical components at user level.
    [Show full text]
  • Bibliography
    Bibliography ACPO (2003) Good Practice Guide for Computer Based Electronic Evidence V3, Association of Chief Police Officers (ACPO), National Hi-Tech Crime Unit (NHTCU). Adams, C. K. (1981) Master Handbook of Microprocessor Chips, Tab Books Inc, Pennsylvania. Aikenhead, M. (1995) Legal knowledge based systems: some observations for the future, Web Journal of Current Legal Issues, [1995] 2 Web JCLI, 19 May. URL: http://webjcli. ncl.ac.uk/articles2/aiken2.html. Akdeniz, Y. (1996) Section 3 of the Computer Misuse Act 1990: an antidote for computer viruses!, Web Journal of Current Legal Issues, [1996] 3 Web JCLI, 24 May. URL: http:// webjcli.ncl.ac.uk/1996/issue3/akdeniz3.html. Akdeniz, Y.(1997) UK government policy on encryption, Web Journal of Current Legal Issues, [1997] 1 Web JCLI, 28 February. URL: http://webjcli.ncl.ac.uk/1997/issue1/ akdeniz1.html. Anderson,M.R.(1996) Erased files often aren’t,Government Technology Magazine,November. URL: http://www.govtech.net/magazine/story.php?id=95238. No longer available. ANSI (1996) ANSI X3.279-1996 – AT Attachment Interface with Extensions (ATA-2), ANSI, 11 West 42nd Street, New York, URL: http://alpha1.dyns.net/files/Drive/d0948r4c. pdf. Apple Computer Inc. (1999) More About IEEE 1394 and FireWire. URL: http://developer. apple.com/hardware/FireWire/More_about_Firewire.htm. No longer available. Apple Computer Inc. (2006) Device Drivers FireWire. URL: http://developer.apple.com/ hardwaredrivers/fireWire/Index.html. ASUS (2005) ASUS Motherboard A8N32-SLI, E2280, Second Edition V2, October 2005, ASUSTeK Computer Inc. Atzberger, P. and Zolli, A. (1996) Portable Network Graphics, Trincoll Journal. URL: http:// www.webtechniques.com/archives/1996/12/zolli/.
    [Show full text]
  • CS 414/415 Systems Programming and Operating Systems
    1 MICROKERNELS: MACH AND L4 CS6410 Hakim Weatherspoon Introduction to Kernels Different Types of Kernel Designs Monolithic kernel Microkernel Hybrid Kernel Exokernel Virtual Machines? Monolithic Kernels All OS services operate in kernel space Good performance Disadvantages Dependencies between system component Complex & huge (millions(!) of lines of code) Larger size makes it hard to maintain E.g. Multics, Unix, BSD, Linux Microkernels Minimalist approach IPC, virtual memory, thread scheduling Put the rest into user space Device drivers, networking, file system, user interface, even the pager for virtual memory More stable with less services in kernel space Disadvantages Lots of system calls and context switches E.g. Mach, L4, AmigaOS, Minix, K42 Monolithic Kernels VS Microkernels Hybrid Kernels Combine the best of both worlds Speed and simple design of a monolithic kernel Modularity and stability of a microkernel Still similar to a monolithic kernel Disadvantages still apply here E.g. Windows NT, NetWare, BeOS Exokernels Follows end-to-end principle Extremely minimal Fewest hardware abstractions as possible Just allocates physical resources to apps Disadvantages More work for application developers E.g. Nemesis, ExOS This Thursday! The Microkernel Debate How big should it be? Big debate during the 1980’s Summary: Kernels Monolithic kernels Advantages: performance Disadvantages: difficult to debug and maintain Microkernels Advantages: more reliable and secure Disadvantages: more overhead Hybrid
    [Show full text]
  • Lecture Notes in Computer Science 2135 Edited by G
    Lecture Notes in Computer Science 2135 Edited by G. Goos, J. Hartmanis, and J. van Leeuwen 3 Berlin Heidelberg New York Barcelona Hong Kong London Milan Paris Tokyo Graham N.C. Kirby Alan Dearle Dag I.K. Sjøberg (Eds.) Persistent Object Systems Design, Implementation, and Use 9thInternational Workshop,POS-9 Lillehammer, Norway, September 6-8, 2000 Revised Papers 13 Series Editors Gerhard Goos, Karlsruhe University, Germany Juris Hartmanis, Cornell University, NY, USA Jan van Leeuwen, Utrecht University, The Netherlands Volume Editors Graham N.C. Kirby Alan Dearle University St. Andrews, School Computer Science NorthHaugh,St. Andrews, Fe KY16 9SS, UK E-mail: {graham/al}@dcs.st-and.ac.uk Dag I.K. Sjøberg Simula ResearchLaboratory P.O. Box 1080 Blindern, 0316 Oslo, Norway E-mail: Dag.Sjoberg@ifi.uio.no Cataloging-in-Publication Data applied for Die Deutsche Bibliothek - CIP-Einheitsanahme Persistent object systems : design, implementation, and use ; 9th international workshop ; revised papers / POS-9, Lillehammer, Norway, September6-8,2000. Graham N. C. Kirby ... (ed.). - Berlin ; Heidelberg ; New York ; Barcelona ; Hong Kong ; London ; Milan ; Paris ; Tokyo : Springer, 2001 (Lecture notes in computer science ; 2135) ISBN 3-540-42735-X CR Subject Classification (1998): C.2.4, D.2, D.3, D.4, H.2, H.4, F.3 ISSN 0302-9743 ISBN 3-540-42735-X Springer-Verlag Berlin Heidelberg New York This work is subject to copyright. All rights are reserved, whether the whole or part the material is concerned, specifically the rights translation, reprinting, re-use illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks.
    [Show full text]