philip@pescadero.Stanford.EDU (Philip Machanick) (08/23/90)
All this talk of different forms of multitasking makes me wonder how interesting the Mac would be as an example in an OS/assembly language course. The OS usually shields you from having to deal with things like interrupts, asynchronously tracking mouse movements etc. How easy would it be to take a look inside how all this works? How tightly is stuff like interrupt handling built into the OS? Could I timeslice between 2 tasks, using interrupts? I know this would be difficult to do for existing Mac applications, but I'd be interested if anyone has some thoughts on whether putting together simple examples would be feasible... Philip Machanick philip@pescadero.stanford.edu
ccc_ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) (08/24/90)
In <1990Aug22.205304.10130@Neon.Stanford.EDU>, philip@pescadero.Stanford.EDU (Philip Machanick) says: "The OS usually shields you from having to deal with things like interrupts, asynchronously tracking mouse movements etc." Ahem--(Puts on his pontificating cap...) I'd like to think there's more to it than that. In my CS lectures, the definition of OS that I kept coming across was that it shielded the application from hardware dependencies. In the beginning this meant providing an I/O and file system (and there are still some popular OSes that think that that's all there is to it...). It wasn't long before this evolved to include all kinds of useful functions that application programmers found themselves reinventing over and over. The Mac, of course, is one of the sexier examples of a modern OS (no kidding). Its hardware independence extends to shielding the application from the peculiarities of graphics displays (including the difficulties of managing a CLUT in a multitasking environment), printers, sound hardware, network interfaces, and communications connections. And its provision of common useful functions includes neat things like an IEEE 754 numerics library, formatting/conversion of numbers, dates and times, and extensive (and still improving) support for writing system independence. This is just my opinion, of course, but I think if you're teaching an OS course these days, you have to bring up at least some of these issues. Lawrence D'Oliveiro fone: +64-71-562-889 Computer Services Dept fax: +64-71-384-066 University of Waikato electric mail: ldo@waikato.ac.nz Hamilton, New Zealand 37^ 47' 26" S, 175^ 19' 7" E, GMT+12:00 To someone with a hammer and a screwdriver, every problem looks like a nail with threads.