Path: utzoo!attcan!uunet!lll-winken!ames!mailrus!ncar!boulder!sunybcs!ugkamins From: ugkamins@sunybcs.uucp (John Kaminski) Newsgroups: comp.os.minix Subject: Re: Amiga version of Minix Message-ID: <3663@cs.Buffalo.EDU> Date: 14 Jan 89 00:24:07 GMT References: <22766@pbhya.PacBell.COM> <1877@ast.cs.vu.nl> <299@wn2.sci.kun.nl> Sender: nobody@cs.Buffalo.EDU Reply-To: ugkamins@sunybcs.UUCP (John Kaminski) Organization: SUNY/Buffalo Computer Science Lines: 47 In article <299@wn2.sci.kun.nl> janhen@wn2.sci.kun.nl (Jan Hendrikx) writes: >In article <1877@ast.cs.vu.nl>, ast@cs.vu.nl (Andy Tanenbaum) writes: >> In article <22766@pbhya.PacBell.COM> jwste@pbhya.PacBell.COM (Jerry W Steffler) writes: [ ... material deleted ... ] > >I wouldn't call the Amiga 'poorly documented hardware'. There is >something called '(Commodore-Amiga) Hardware Reference Manual', >published by Addison/Wesley, that contains (almost) all information >you normally should not want to know. And besides, the Amiga already >has a proper multitasking operating system. > >-Olaf Seibert I agree that C-A has the Hardware Ref. and that *should* point out all the necessary details to get any OS ported. I have not had the fortune of laying my eyes upon this doc, but if it is anything like the manuals I *DO* have, it may be quite cryptic or incomplete in its presentation. For instance, after reading over the (fairly thick) Libraries and Devices doc, the serial.device docs are the only ones (that I remember anyway) that mention that the I/O request block is returned not only by the I/O call itself (by referencing through the pointer it is handed and depositing the results there) but also to the message port mentioned in the I/O request block. I'm not entirely sure, but I'm pretty sure all the device handlers do that, but the serial.device is the only one that mentions it explicitly (again, the only one that I recall that mentions it). I also agree that the Amiga has a multitasking operating system. What con- stitutes "proper" is all relative. If you are looking for just anything to run the machine, fine. If you would like to be UNIX (tm) compatible, you must opt for something else. I wonder if you have program- med with Lattice C at all. The lc.lib has all sorts of UNIX-like calls, but, of course, they are not true UNIX. For example, there is an open() call, but you must hand it a legal AmigaDOS filename. A UNIX filename like "../userdata/mydat.txt" simply won't do. Also, UNIX is superior in many ways, the least of which is that any program may be asynchronously aborted or at least signalled that an abort is desired, compared to just setting one of the signal bits in the Amiga task control structure (it must always be polled). I imagine the only major thing you would lose (at least until someone hacks a solution) is the nice window and screen system (For the non-Amiga-ites on the net, Amiga's graphic interface, Intuition, maintains virtual screens of any hardware-legal composition (resolution, colors, etc.) that can be "dragged" up or down, being rendered in layers. This means if you have a screen with twice the vertical resolution (interlaced mode) pulled down half way on the workbench (default) screen, you will see half a monitor of regular screen and half a monitor of interlaced screen. This is really nice in many circumstances).