
SunOS Minix: a to ol for use in Op erating System Lab oratories Paul Ashton Daniel Ayers Peter Smith Technical Rep ort COSC 05/93 Department of Computer Science University of Canterbury, Private Bag 4800 Christchurch, New Zealand SunOS Minix: a to ol for use in Op erating System Lab oratories Paul Ashton, Daniel Ayers and Peter Smith Department of Computer Science University of Canterbury Christchurch, New Zealand email: [email protected] Abstract Lab oratory work is an essential part of the learning exp erience in many areas of Com- puter Science, and this is particularly true in the area of op erating systems. To sup- p ort lab oratory work in op erating systems, wehave created SunOS Minix, a version of the Minix op erating system that runs as a pro cess under Sun Unix SunOS. To date, pro jects for two advanced classes on op erating systems haveinvolved extensivework with the SunOS Minix source co de. Also, we are in the pro cess of developing a novel graphical monitoring and control interface that will make SunOS Minix a p owerful to ol for use in intro ductory op erating system lab oratories. 1 Intro duction Lab oratories have an imp ortant role in Computer Science education [19]. Lab oratory pro jects are used extensively in teaching of op erating systems, with many op erating system lab ora- tories describ ed in the literature see, for example, [1]{[18]. In intro ductory lab oratories, investigation, using readily available monitoring to ols, of an existing op erating system may b e sucient. In more advanced lab oratories, students often delve deep er and either create some or all of an op erating system, or read and p erhaps change the source co de of an existing op erating system. A reason for the high level of interest in op erating system lab oratories is that many dicul- ties must b e overcome in designing and implementing them. Providing a realistic op erating system environment in which students can read and write source co de is a considerable chal- lenge. Diculties include: obtaining op erating system source co de; providing suitable real or simulated machines; and helping students come to terms with large and complex systems, particularly with the concurrent execution that o ccurs within an op erating system. Use of a small op erating system created for use in teaching of op erating systems has a numb er of advantages: 1. Source co de is much easier to obtain. 2. The relatively small size of the op erating system compared to a pro duction op erating system means that students nd the source co de much more accessible. 3. A high degree of realism can b e obtained b ecause students are dealing with an actual op erating system. 1 We decided to use Minix [18], a widely used \teaching" op erating system, as the basis for several op erating system lab oratories. As Minix was not available for our main computing environment, a network of Suns running SunOS, we created SunOS Minix, a version in which each copy of Minix runs in the environment of a SunOS pro cess. Each of our Suns can supp ort many instances of SunOS Minix, each of which isamulti-user op erating system that provides preemptivemultitasking for a considerable range of system utilities, as well as user-written programs. SunOS Minix has b een in use for twoyears as the basis for op erating system lab oratories in an advanced op erating system course. Currently, our intro ductory op erating system lab oratories consist of several exp eriments p erformed under SunOS. Many of these could b e much b etter supp orted by SunOS Minix. To this end, we are in the pro cess of designing and implementing a sophisticated SunOS Minix monitoring and control interface that is for the most part implemented outside SunOS Minix. The fact that SunOS Minix is hosted byapowerful general-purp ose op erating system raises the p ossibility of providing suchaninterface. This novel interface will provide a student with a wide range of information on the b ehaviour of a running version of SunOS Minix and will give the student the ability to control the execution of SunOS Minix by for example enabling various breakp oints. The initial version of the interface will include amongst other things: the ability to start and stop SunOS Minix at will and at various prede ned breakp oints; a continuously up dated view of the pro cess tree; message passing traces and animations; and the ability to browse through the op erating system data structures using a hyp ertext style of interface. The remainder of the pap er is structured as follows. Approaches to op erating system lab oratories taken by others are summarised in Section 2. Minix is intro duced in Section 3, and SunOS Minix is describ ed in Section 4. An overview of two pro jects that have b een based on SunOS Minix is given in Section 5. The design of a novel monitoring and control interface for SunOS Minix is outlined in Section 6. Finally, a summary is presented and some conclusions are drawn in Section 7. 2 Background A wide range of op erating system lab oratories has b een describ ed in the literature. We classify these lab oratories in twoways: by the typ e of pro jects undertaken, and by the typ e of the op erating system exp erimented with. We classify pro jects into three categories: 1. Non-source co de pro jects|those that do not involve reading or writing op erating system co de. 2. Op erating system mo di cation pro jects|those that involve reading and p erhaps mo d- i cation of source co de for an existing op erating system. 3. Op erating system creation pro jects|those that involve writing all or some of an op er- ating system from scratch. The typ e of op erating system exp erimented with gives some indication of how close the system is to b eing a \real" op erating system. At one extreme are queueing mo dels, in which very high level abstractions of b oth the op erating system and its workload are used. At the 2 other extreme are pro duction op erating systems that are pro cessing real workloads. Wenow describ e several categories of op erating system used in lab oratories, and for eachwe describ e the typ es of pro ject that can b e set: Total simulation of op erating system op eration. Simulators of this typ e can b e used in non-source co de pro jects. Since there is little or no op erating system co de, such simulators cannot b e used in op erating system mo di cation or op erating system creation pro jects. In [15], Sta ord describ es a collection of ten simulation programs intended to provide insightinto the tradeo s involved in various design decisions. Information from each simulation is recorded in detail in a text le, and can also b e presented in various graphs. The simulations include investigation of several CPU scheduling p olicies and of various disk request scheduling p olicies. In GRAPHOS [2], animation is used to show in detail the op eration of several op erating system comp onents. Animations are drawn from the areas of concurrent pro cesses, pro cessor scheduling and memory management. Op erating systems running directly on the bare hardware. Pro duction op erating sys- tems can b e used as the basis for op erating system pro jects. A non-source co de pro ject for a pro duction op erating system could involve using monitoring to ols to investigate the internal op eration of the system by observing the pro cess hierarchy and the contents of various tables, for example, or might require the student to write programs that use various op erating system facilities by making appropriate system calls. A lab ora- tory describ ed in [12]involves investigation of Unix pro cesses by using standard SunOS monitoring to ols. While pro duction op erating systems often provide a reasonable environment for non- source co de pro jects, they are usually less well suited to op erating system mo di cation pro jects and op erating system creation pro jects are out of the question!. The ma jor reasons for this are the diculty of getting the source co de for pro duction op erating systems cost and copyright problems and their complexity.Shub observed that \work- station op erating systems seem to b e to o complex for undergraduates to exp eriment with in a rst course in op erating systems" [14]. Because of these problems, several \teaching" op erating systems have b een develop ed, including Minix [18] and Xinu[5]. These op erating systems provide all of the imp ortant op erating system services, but have b een kept as small and simple as p ossible to enable students to gain an understanding of the entire system. These op erating systems can b e used for non-source co de and op erating system mo di cation pro jects, with op erating system mo di cation pro jects rep orted on most frequently in the literature [1], [3], [7], [8]. Some op erating system creation pro jects involve implementing a very small op erating system directly on the hardware see, for example, [9] and [13]. Partial simulation of op erating system and/or hardware op eration.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages14 Page
-
File Size-