jk0@sun.soe.clarkson.edu (Jason Coughlin) (03/09/89)
Minix is a wonderful OS for an Operating Systems because it gives you the entire picture of how the components of an operating system fit together (Thanks Andy!!). However, part of an OS course will involve changing the scheduler, MM, or FS and Minix has no statistical functions to tell you what your new code does. Does anyone have any such software that can be used? Tanenbaum's book is probably the clearest book ever written on the subject of OS's (Again, THANKS ANDY!!). However, we've found that the code in the chapters dealing with things that Minix doesn't have (monitors, etc) is a litle too conceptual. We are considering the use of SmallTalk or Scheme which can be used to implement schedulers, monitors, etc quite easily as real code which can be experimented with. Does anyone have any opinions or ideas? -- Jason Coughlin ( jk0@clutx.clarkson.edu , jk0@clutx )
khearn@polyslo.CalPoly.EDU (Bug Hunter) (03/10/89)
In article <2630@sun.soe.clarkson.edu> jk0@sun.soe.clarkson.edu (Jason Coughlin) writes: > > Minix is a wonderful OS for an Operating Systems because it >gives you the entire picture of how the components of an operating >system fit together (Thanks Andy!!). However, part of an OS course will >involve changing the scheduler, MM, or FS and Minix has no statistical >functions to tell you what your new code does. > Does anyone have any such software that can be used? > I am just starting on a project to add system activity reporting to MINIX. I will attempt to provide as much of the functionality as the SysV 'sar' routines as is possible. I'll probably add a few MINIX specific statistics as well. I expect to have it finished by June of 1989 (I *hope* so, as that's when I'm graduating!). When I get it done, I'd be more than willing to give it to anyone who wants it. (Andy: would this be something you'd like to add to the standard MINIX distribution? if so, are there any specific requirements that I need to keep in mind?). I would appreciate some input from MINIX users. What statistics about the kernel, fs, mm, or io tasks would you all like kept and reported? I'm still in the design stage, so now is the time to let me know what you want. Keith -- Keith Hearn \ khearn@polyslo.calpoly.edu \ If you know what you're doing, Cal Poly, San Luis Obispo \ (805) 541-2147 or (805) 756-7180 \ You aren't learning anything.
chaynes@iuvax.cs.indiana.edu (03/16/89)
/* Written 2:34 pm Mar 8, 1989 by jk0@sun.soe.clarkson.edu in iuvax:comp.os.minix */ /* ---------- "Minix as a teaching OS" ---------- */ Minix is a wonderful OS for an Operating Systems because it gives you the entire picture of how the components of an operating system fit together (Thanks Andy!!). However, part of an OS course will involve changing the scheduler, MM, or FS and Minix has no statistical functions to tell you what your new code does. Does anyone have any such software that can be used? Tanenbaum's book is probably the clearest book ever written on the subject of OS's (Again, THANKS ANDY!!). However, we've found that the code in the chapters dealing with things that Minix doesn't have (monitors, etc) is a litle too conceptual. We are considering the use of SmallTalk or Scheme which can be used to implement schedulers, monitors, etc quite easily as real code which can be experimented with. Does anyone have any opinions or ideas? -- Jason Coughlin ( jk0@clutx.clarkson.edu , jk0@clutx ) /* End of text from iuvax:comp.os.minix */
chaynes@iuvax.cs.indiana.edu (Chris Haynes) (03/30/89)
Tanenbaum's book is probably the clearest book ever written on the subject of OS's (Again, THANKS ANDY!!). However, we've found that the code in the chapters dealing with things that Minix doesn't have (monitors, etc) is a litle too conceptual. We are considering the use of SmallTalk or Scheme which can be used to implement schedulers, monitors, etc quite easily as real code which can be experimented with. Does anyone have any opinions or ideas? -- Jason Coughlin ( jk0@clutx.clarkson.edu , jk0@clutx ) I've switched to Tanenbaum's book because it is the best way I've seen to provide the software engineering experience of modifying a large, well designed, system. If this experience is provided in other courses, there are several other good operating systems texts to choose from, with the possibility of using laboratory environments that are better than MINIX for studying process synchronization problems. Until recently I used a laboratory environment based on Scheme with an abstraction of timed preemption called engines [1]. I supplied the class with a basic process scheduler which provided fork, block, unblock, and semaphore operations, among others, and hid the details of the engine mechanism. (I will email this system, with basic documentation, on request.) This proved to be a very good environment for solving classic synchronization problems using semaphores and for projects implementing higher level synchronization mechanisms such as monitors, message passing, remote procedure call, etc. (Of course this environment does not provide the realistic view of modern operating system design and implementation offered by MINIX.) Chris Haynes Computer Science Dept. Indiana University Bloomington, IN 47405 chaynes@iuvax.cs.indiana.edu [1] Christopher T. Haynes and Daniel P. Friedman, "Abstracting timed preemption with engines," COMPUTER LANGUAGES, Vol. 12, No. 2 (1987), 109--121.