Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/5/84; site mcrware.UUCP Path: utzoo!watmath!clyde!cbosgd!ihnp4!stolaf!umn-cs!isucs1!mcrware!kim From: kim@mcrware.UUCP (Kim Kempf) Newsgroups: net.micro.68k Subject: Re: Holy Holistic, Batman! (OS-9 and the art of being holistic) Message-ID: <147@mcrware.UUCP> Date: Sun, 27-Oct-85 09:15:39 EST Article-I.D.: mcrware.147 Posted: Sun Oct 27 09:15:39 1985 Date-Received: Fri, 8-Nov-85 22:07:01 EST References: <576@sftig.UUCP> <1001@bnl44.UUCP> <11467@rochester.UUCP> <6014@utzoo.UUCP> <139@mcrware.UUCP> <313@graffiti.UUCP> Organization: Microware Systems Corp., Des Moines, IA Lines: 67 > > Ok, some of you UNIX-sheltered programmers need a lesson on advanced OS-9 > > programming topics. OS-9 pipes can be "named" much like disk directory > > files: > > ... > > That's a very nice interface. I assume that /pipes is analogous to a mounted > device in UNIX, but that OS/9 allows non-block devices to be mounted in the > file system. > As I said, UNIX-sheltered. Try to comprehend I/O devices that have no association with the disks. An "inode" is not required for OS-9 pipes or any other device, and therefore needs no disk access to open such. OS-9 does not have a mount concept (at least not yet). OS-9 has no homogenous file system. Each disk device contains its own discrete "file system". A disk directory search is not required to open a character device (or any other device). This allows OS-9 to run on systems without disks. Devices appear to the system upon access to a driver. The block/non-blockness of a device is controlled at a level above the driver, in the file manager. Four common file managers are used in OS-9 systems: RBF (random block), SBF (sequential block), SCF (sequential character) and NET (network access). > As for the rest of your message: we don't need the OS/9-UNIX flames. > You'll get my MMU when you pry my cold, dead, fingers off the keyboard. No flames intended. Just pointing out the alternative to an MMU or swapping to disk... you choose the more expensive and complicated.... > As for the differences in fork()-ing, I would like to comment that you're talking about > the interface to fork(), as opposed to the implementation. Or does OS/9 fork > just set up a process table and put the address of the routine you hand it > into the child processes PC? > No. I am talking about the implementation. The UNIX fork(2) takes no arguments. It's effect to to create a clone of the process, the only difference being the process ID. To do this memory-management is required to map the same logical address space as the parent process, or a swapping facility to place the data and stack areas of the child process in the same physical addresses as the parent. The OS-9 fork is more like a combination of the UNIX fork() and exec() calls rolled into one. > It should be obvious why that technique isn't appropriate for a protected > memory environmnent like UNIX'. It's a much better technique for a non- > protected system like OS/9 or XINU, yes. > Why not? What does memory protection have to do with the way fork works? Is UNIX memory protected without an MMU? May I remind you that memory protection is provided by hardware, not a software. UNIX will be just as easily trashed as OS-9 without the hardware memory protection facility. >But in any case... OS/9 is not the same sort of system as UNIX. It doesn't need >some of UNIX features, and vice versa. They are both nice systems for personal >computers on up. If you want sheer speed & efficiency, get OS/9. I prefer a >secure system where programs can't clobber the O/S without trying very, very, >hard. > That, again, is a function of hardware. Unless you have hardware MMU, it will be easy to clobber ANY OS. OS-9's file system is much more rugged and extensible that UNIX. "Lest ye appreciate OS-9 when thine gods of the electromotive force frown" ---------------- Kim Kempf, Microware Systems Corporation {{cornell,decvax,ihnp4,sdcsvax,tektronix}!uw-beaver}\ {allegra,gatech!sb1,hplabs!lbl-csam,decwrl!sun,sunup} >!fluke!mcrware!kim {ssc-vax,hplsla,wavetek,physio,cae780,tikal,telematic}/