ANDREW TANENBAUM, RAJA APPUSWAMY, HERBERT BOS,

2y ago
12 Views
2 Downloads
475.27 KB
7 Pages
Last View : 2m ago
Last Download : 3m ago
Upload by : Camden Erdman
Transcription

A N D R E W TA N E N B A U M , R A J A A P P U S W A M Y, H E R B E R TB O S , L O R E NZO C AVA L L A RO, C R I S T I A N O G I U F F R I DA ,T O M Á Š H R U B Ý, J O R R I T H E R D E R , E R I K V A N D E RKO U W E , A N D DAV I D VA N M O O L E N B RO E KMINIX 3: statusreport and currentresearchDespite the fact that Andrew Tanenbaumhas been producing open source code for 30years as a professor at the Vrije Universiteit,somehow he found the time to (co)author 18books and 150 papers and become a Fellowof the ACM and of the IEEE. He was awardedthe USENIX Flame Award in 2008. He believesthat computers should be like TV sets: youplug them in and they work perfectly for thenext 10 years.Jorrit Herder holds an MSc degree in computerscience (cum laude) from the Vrije Universiteit inAmsterdam and will get his PhD there in Sept. 2010.His research focused on operating system reliabilityand security, and he was closely involved in thedesign and implementation of MINIX 3. He is now atGoogle in Sydney.ast@cs.vu.nlTomáš Hrubý has master’s degrees from both theCharles University in Prague and the Vrije Universi teit. After graduating, he decided to go down underand spent some time at the University of Otago inNew Zealand and NICTA in Australia. He is currentlya PhD student at the Vrije Universiteit, working onhow to match multiserver operating systems tomulticore chips.Raja Appuswamy is a PhD student at VrijeUniversiteit. His research interests includefile and storage systems, and operatingsystem reliability. He received his BE fromAnna Univeristy, India, and his MS from theUniversity of Florida, Gainesville.rappusw@few.vu.nlHerbert Bos obtained his MSc from theUniversity of Twente in the Netherlandsand his PhD from the Cambridge UniversityComputer Laboratory (UK). He is currently anassociate professor at the Vrije Universiteitin Amsterdam, with a keen research interestin operating systems, high-speed networks,and security.herbertb@cs.vu.nlLorenzo is a post-doctorate researcher atVrije Universiteit Amsterdam, where hejoined Prof. Tanenbaum and his team working on systems dependability and security.Lorenzo’s passion for systems security wasfurther inspired by work at UC Santa Barbaraand Stony Brook University. Lorenzo receivedan MSc and a PhD in computer science fromthe University of Milan, Italy.l.cavallaro@few.vu.nlCristiano Giuffrida is a PhD student at VrijeUniversiteit, Amsterdam. His research interests include self-healing systems and secureand reliable operating systems. He receivedhis BE and ME from University of Rome “TorVergata,” Italy.c.giuffrida@few.vu.nl; LOGIN : JUNE 2010jnherder@gmail.comthruby@few.vu.nlErik van der Kouwe got his master’s degree at theVrije Universiteit and is now a PhD student in computer science there. He works on virtualization andlegacy driver support.vdkouwe@cs.vu.nlDavid van Moolenbroek has an MSc degree incomputer science from the Vrije Universiteit in Amsterdam, and is currently working as a PhD studentthere. His research interests include file and storagesystems and operating system reliability.dcvmoole@few.vu.nlMO ST PEO PL E WA N T T H EI R COM PU T ERto be like their TV set: you buy it, plug itin, and it works perfectly for the next 10years. Suffice it to say that current computers—and especially their operating systems—are not even close. We will considerthe job done when the average user hasnever experienced a system crash in his orher lifetime and no computer has a RESETbutton. In the MINIX project, we are tryingM I N I X 3 : STAT U S R E P O R T A N D CU R R E N T R E S E A RC H7

to get closer to that goal by improving the reliability, availability, andsecurity of operating systems.What started in 1987 as MINIX 1, a tool to teach students about operating systems,has become MINIX 3, a more mature operating system whose internal structurepromotes high availability while preserving the well-established POSIX interface toapplication programs and users. Although the name has been kept, the two systemsare very different, just as Windows 3 and Windows 7 are both called Windows butare also very different. In this article, we will briefly describe the architecture ofMINIX 3 and what it is like now—as an update to the February 2007 ;login: article[1]—and the work currently in progress to develop it further.The impetus for much of this work was a grant to one of us (Tanenbaum) from theNetherlands Royal Academy of Arts and Sciences for 1 million euros to developa highly reliable operating system, followed four years later by a 2.5 million eurogrant from the European Research Council to continue this work. This funding hasprimarily supported PhD students, postdocs, and a couple of programmers to workon the project, which has led to a series of releases, of which 3.1.7 is the latest one.The MINIX 3 vision has been guided by a number of core principles: Separation of concerns: Split the OS into components that are well isolated fromeach other.Least authority: Grant each component only the powers it needs to do its job andno more.Fault tolerance: Admit that bugs exist and plan to recover from them while continuing to run.Dynamic update: Plan on staying up all the time, even in the face of major software updates.Standards compliance: Be POSIX-compliant on the outside but don’t fear changeon the inside.We believe we have made a good start toward producing a general-purpose, POSIXcompliant operating system with excellent fault tolerance. As hardware speeds haveshot up over the past two or three decades, we do not believe that most users reallycare about squeezing the last drop of performance out of the hardware. For example, in MINIX 3, a build of the entire operating system (about 120 compilations anda dozen links) takes under 10 seconds on a modern PC. Good enough.If you get the MINIX 3.1.7 CD-ROM from www.minix3.org and install it, to theuser it looks like other UNIX systems, albeit with fewer ported application programs (so far), since that has not been our focus. But on the inside it is completelydifferent. It is a multiserver operating system based on a small microkernel thathandles interrupts, low-level process management, and IPC, and not much more.The bulk of the operating system runs as a collection of user-mode processes. Thekey concept here is “multiserver operating system”—the design of the system as acollection of user-mode drivers and servers with independent failure modes. Whilethe term “microkernel” gets a lot of attention—and microkernels are widely used incell phones, avionics, automotive, and other embedded systems where reliability iscrucial [2]—it is the multiserver aspect of the system that concerns us here.The microkernel runs in kernel mode, but nearly all the other OS components runin user mode. The lowest layer of user-mode processes consists of the I/O devicedrivers, each driver completely isolated in a separate process protected by the MMUand communicating with the kernel via a simple API and with other processes bymessage passing. The next layer up consists of servers, including the virtual fileserver, the MINIX file server, the process manager, the virtual memory manager,and the reincarnation server. Above this layer are the normal user processes, suchas X11, shells, and application programs (see Figure 1).8; L O G I N : VO L . 3 5, N O. 3

FIGURE 1 : THE STRUCTURE OF MINIX 3The reincarnation server is the most unusual part of the design. Its job isto monitor the other servers and drivers, and when it detects a problem,it replaces the faulty component (driver or server) on the fly with a cleanversion taken from the disk (or, in the case of the disk driver, from RAM).Since most errors are transient, even after a driver crashes (e.g., due to a segmentation fault after dereferencing a bad pointer), the system can, in manycases, continue without user processes even knowing part of the system hasbeen replaced. We ran a fault-injection test in which 2.4 million faults wereintentionally injected into drivers, and although we got thousands of drivercrashes, the system continued to run correctly in all trials [3]. It didn’t crasheven once.Current Status of MINIX 3MINIX 3 is not standing still. The MINIX 3 Web site has been visited 1.7million times and the CD-ROM image has been downloaded over 300,000times. We have been selected to participate in the Google Summer of Codein 2008, 2009, and 2010. There is a wiki, a twitter feed, an RSS feed, and anactive Google newsgroup.Since the 2007 paper in ;login:, there have been numerous improvementsto MINIX 3, large and small. Here is a brief summary of where the systemstands now. POSIX-compliant operating system with virtual memory and TCP/IP networkingUser interface is typically X11, although a simple GUI (EDE) is also availableVarious device drivers (e.g., Gigabit Ethernet, OSS audio framework)Virtual file system with support for various file systems (e.g., MFS, ISO,HGFS)Three C compilers (ACK, gcc, LLVM), as well as C , Perl, Python, PHP,and moreVarious shells (bash, pdksh, sh)Choice of BSD, GNU, or V7 utilities (awk, grep, ls, make, sed, and all theothers)Many packages (e.g., Apache, Emacs, Ghostscript, mplayer, PostgreSQL,QEMU, vi)Software RAID-like layer that protects integrity even from faulty disk driversNumerous correctness, conformance, code coverage, and performance testsuitesIn addition, other changes to the system are planned for the near future,including:; LOGIN : JUNE 2010M I N I X 3 : STAT U S R E P O R T A N D CU R R E N T R E S E A RC H9

Porting of the DDEkit [4], which will give us many new Linux device driversAsynchronous messaging (which means a faulty client cannot hang aserver)Kernel threadsIn short, while the system is not nearly as complete as Linux or FreeBSD,neither is it a toy kernel. It is a full-blown UNIX system but with a completely different and highly modular, reliable structure internally. This alsomakes it a good research vehicle for testing out new OS ideas easily.Current ResearchWe have various ongoing research areas, all focused on the goal of producing a highly reliable, modular system according to the principles given aboveon modern hardware. We are also committed to producing a usable prototype that clearly demonstrates that you can build a real system using ourideas. Here is a brief rundown of five of the projects.LIVE UPDATEDue to its modular structure, we would like to be able to update large partsof the system on the fly, without a reboot. We believe it will be possible toreplace, for example, the main file system module with a later version whilethe system is running, without a reboot, and without affecting running processes. While Ksplice [5] can make small patches to Linux on the fly, it cannot update to a whole new version without a reboot (and thus downtime).Our starting point for the live update is that the writer of the componentknows that it will be updated some day and takes that into account. In particular, the old and new components actively cooperate to make the updateprocess go smoothly. Nearly all other work on live update assumes that theupdate comes in as a bolt out of the blue and has to be done instantly, nomatter how complicated the state the old component is in. We believe thisis the wrong approach and that by delaying the update for a few seconds wecan often make it much easier and more reliable.Live-updating MINIX 3 is much easier than live-updating monolithickernels, because each component runs as a separate process. To update acomponent, the reincarnation server sends the component an update message. The component then finishes its current work and queues, but doesnot start, any new requests that come in while it is finishing up. It thencarefully saves its state in the data store so the new component can find itlater. After the new version has been started, it goes to the data store to fe

in operating systems, high-speed networks, and security. herbertb@cs.vu.nl Lorenzo is a post-doctorate researcher at Vrije Universiteit Amsterdam, where he joined Prof. Tanenbaum and his team work-ing on systems dependability and security. Lorenzo’s passion for systems

Related Documents:

alfred herbert drill type v 187 alfred herbert flash tapping machine no:2 182 alfred herbert key seater edgwick no: 1 242 alfred herbert lathe 7b & 7 preoptive spare parts 566 alfred herbert lathe auto junior operators 205 alfred herbert lathe auto junior mk 1 & 2 parts 204 alfred herbert lathe gap bed edgwick 6 ½” 241 alfred herbert tool & cutter grinder edgwick 14 x 26 ½” brochure 796 .

About Tanenbaum Tanenbaum is a secular, non-sectarian organization that reduces and prevents violence associated with – and perpetrated in the name of – religion. Named after the late Rabbi Marc H. Tanenbaum, a well-known human rights and social justice activist, the

Mr. Tanenbaum was a primary force in bringing an NBA franchise to Toronto. In the early 1990's, Tanenbaum attempted to move established NBA clubs to Toronto and then, as head of the Palestra Group, he initiated the expansion process that introduced the NBA to Canada. Although the franchise was awarded to another group, Tanenbaum established

Kitab ini ditulis oleh Mpu Prapanca pada tahun 1365 yang menjelaskan tentang keadaan kota Majapahit, daerah jajahannya dan perjalanan Hayam Wuruk mengelilingi daerah kekuasaannya. 2. Pararaton menceritakan tentang raja-raja Singosari juga menjelaskan tentang raja-raja Majapahit. 3. Sutasoma Kitab ini ditulis oleh Mpu Tantular.

BILLERICA BILLERICA SAINT ANDREW PARISHSAINT ANDREW PARISH April 12, 2015April 12, 2015 Second Sunday of Easter Second Sunday of Easter . Saint Andrew Parish North Billerica, MA . M Maarryy St. Mary 4:00 PM 4:00 PM 4:00 PM St. Andrew: 12:10 PM Monday St. Andrew: 12:10 PM Monday

MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 4 File Systems. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc.

Books .NET Enterprise Development In C : From Design to Deployment Reynolds, Mathew Watson, Karli 2 . Computer Graphics: A Programming Approach Sierra, Kathy Bates, Bert 1 Computer Network Larry L Petersons, Bruce S. David 2 Computer Networks Tanenbaum, Andrews 1 Computer Networks Andrew S Tanenbaum 1 .

Artificial Intelligence (AI) is growing at a great pace and is spreading across many industry sectors. AI as a concept was first coined in the 1950s and has been the basis for a plethora of science fiction novels and movies. Now, 60 years later, AI is rapidly entering nearly every industrial sector and is increasingly embedded into modern society. The UK government is dedicated to advancing .