thomas@duteca (Thomas Okken) (12/04/90)
A few weeks ago, I posted a few questions concerning Unix on the Macintosh. What I wanted to find out was whether someone who wants Unix on his/her Mac should go for A/UX, or whether Minix, OS/9 or Mach are an alternative. Quite a few people responded, many of them users of the above-mentioned systems. The following are excerpts from the various replies I received. *** MINIX *** Minix is considered by many to be a toy version of Unix. It does provide a multitasking/multiuser environment. I believe a C compiler comes with it, but I could be wrong. You'll probably need to port various PD versions of lex/yacc/make to it, if the ports haven't already been done. It is mostly compatible with early versions of Unix (V7) or so I understand. The big advantage to using Minix is that full sources are available for a low cost, unlike any of the other products you mentioned. The disadvantage is that it is a "toy" Unix; it lacks various features that a real Unix kernel has. --- Minix is a clone of Version 7 UNIX. Porting code between UNIX and Minix is pretty easy -- easier than porting between SysV and BSD, actually, since V7 was the last common ancestor of SysV and BSD. Minix is small. Minix users are supposed to believe that smallness is an advantage. Minix has clones of nearly all UNIX utilities. The standard Minix compiler is a K&R C compiler with common extensions (enum, void, ...) but it lacks the float and double data types. You can get GCC and other compilers, though. It includes MAKE. YACC and LEX aren't included, but FLEX works with only minor changes, and a couple of YACC clones have been ported to Minix. Currently, Minix is moving towards POSIX compatibility, rather than compatibility with any specific version of UNIX. Minix comes with the complete source code to the kernel and all utilities except the compiler. *** OS/9 *** OS/9 is not really a Unix-related OS. It has some features similar to Unix but it doesn't guarantee any sort of Unix compatibility. Many people will argue about its various merits/drawbacks...My feeling is that it's not what you're looking for, mainly because of a lack of third party/PD software for it. It wouldn't come with any of the Unix software tools (yacc/lex/make). --- OS-9 is NOT UNIX! It is a UNIX type operating system that does allow multi- user, multi-tasking, etc. but is not UNIX! It is very similar to UNIX but if you want UNIX you probably don't want OS-9. I use both (UNIX at school and OS-9 at home) and prefer OS-9 in many ways. It is still young and does not have ALL the utilities. Many are being ported now (Xwindows, readnews, etc.) but not all are availible yet. OS-9 is actually better in some ways (for instence, it is tiny in memory usage compared to UNIX!). If you want UNIX then OS-9 is not it. If you want a good UNIX type OS then OS-9 may be just the thing. --- OS-9 is not a UNIX clone. It was developed jointly by Motorola and Microware about ten years ago, for Moto's 6809 8-bit processor. When the 68000 chip came out, Microware eagerly ported OS-9 to it, but Motorola seemed to have lost interest in OS-9. It was intended to be used in dedicated industrial controllers, and also in larger systems that are used to develop the software that runs in those controllers. To support software development, OS-9 borrowed a lot of ideas from UNIX simply because programmers like UNIX. OS-9's standard utility set is entirely different from UNIX's. They have different names, different options, different syntax, and different output formats. The C library, though, tries to be UNIX compatible (in much the same way that MS-DOS compilers' libraries try to be UNIX compatible) so porting code is possible, but it isn't easy. OS-9 systems can be nearly as large and powerful as UNIX systems, or they can be tiny systems with no disk, no terminals, and only 32k ROM and very little RAM. The kernel is modular, and you can easily remove any modules that you don't need. OS-9 doesn't allow two different programs with the same name to be run at the same time. Because of this, I hesitate to call it "multi-user". If you don't intend to develop code for industrial controllers, then I suggest you avoid OS-9. OS-9 has its place, but it is *NOT* UNIX. OS-9 does not come with source code. --- I work for the company that makes OS-9. So, you make think: "Why is this guy responding? He'll be biased all the way." Well, I do work for the company that makes OS-9, but I don't work for the company that ported it to the Mac, so I will try to avoid saying too much about OS-9 and try to tell you what I know about the Mac port. OS-9 is not virtual memory, but does have a scheme to keep items in memory that have been used recently. We have cc and make. I have seen ports of public domain version of lex and yacc to OS-9 on Compu$erve or GEnie. True UNIX software can be ported almost directly. You will start running into small problems when the software wants to change the serial I/O attribs or deal directly with disk file structures. There is a group in Germany that has a large "UNIX compatibility" library as well as many nice utilites. They call themselves TOP (The OS-9 Project). I would like to comment on the Mac port of OS-9. I think it is the most elegant port of OS-9 to any PC. It allows Mac software to run at the same time as OS-9. In other words, you could have your OS-9 editor running in a window and other Mac applications running under finder. OS-9 can use a partition of the hard disk or simply a large file in the Mac partitions. Overall, it's really worth looking at (IMHO). --- OS9 is, in my opinion, a very good OS. It is truly multiuser and multitasking, but it does not support virtual memory. To me that's not a big loss, particularly since memory is only about $50/meg these days. All the tools you mention are available for OS9, most through ports of freely distibutable Un*x stuff (i.e. GNU etc). I'm not sure of the status of the GNU c-compiler though. OS9 is only source compatible with Un*x for fairly mundane things, and various libraries exist to try to make it closer. *** MACH *** Mach is NOT unix. Mach is a UNIX kernel. That means that you can implement UNIX of top of it, but you still need unix in addition. e.g. the NeXT uses MACH as a kernel , but has UNIX BSD 4.3 on top of it. Theoretically you could put another operating system on top of mach. MACH itself is free from CMU , but for the UNIX you've got to pay again. MACH is the darling of the computer scientist, and with some reason. Without doubt it is the most advancest and powerful UNIX basis around. But again, it is only part of a full UNIX. If you can get it , can get a decent UNIX to run on top of it, can afford it (all of these can be BIG ifs), I'd personally take MACH. Probably it won't make any big difference when you begin UNIX programming, but once you are into it, you would be able to do things with it easily you can't do with any other UNIX. --- Mach is an extended form of BSD 4.x UNIX. The extensions are mainly intended to allow large chunks of code to be extracted from the kernel, and run as normal user processes. For example, practically all network support has been separated from the kernel. Mach is still pretty compatible with standard BSD, though. Currently, the Mach people are working to replace all AT&T code in Mach, so that Mach users won't have to pay AT&T licensing fees. I don't know if Mach includes source code or not. --- Mach really isn't available yet. Carnegie-Mellon ported Mach to the Mac, but will not be distributing it. The distribution of MacMach is being negotiated between Apple and Mt Xinu. This whole situation really has me pissed off. CMU, Apple, and Mt Xinu are being very tight-lipped about this. I really don't see why since my (and your) tax dollars paid for the development of Mach. The sad thing is that even if we see MacMach, it will probably virtually impossible to get the source code. The source code for every other port of Mach can be obtained, so the problem basically lies with Apple. *** A/UX *** Finally , A/UX. If nothing else fits consider it. But first a few caveats against it, too: The FSF (the free software foundation, a group of programmer producing arguably the best software in the world , for free) boycott apple because of its look-and-feel lawsuits. That means that none of the FSF software (their c-compiler gcc, c++-compiler g++ and a plethora of other first rate tools) is not available for the MAC. This would be an important point against AUX for my uses of UNIX, maybe you feel similarily. If you want any of their software (some of it is quasi-hacker-standard) you would have to port it yourself, which can be quite hard. This is especially bad for AUX as no other hardware maker runs AUX on his machine. If you got some other more widespread dialect of unix , you could probably use the ports for that dialect made on other machines. cc, make , lex and yacc should come with most of these system as a standard. Unix is pretty useless without them and I've never seen any unix which didn't have them as standard. All of them have superior FSF replacements, which you'd probably want to get. --- I just bit the bullet and purchased A/UX. I'm too green to have a well informed opinion, but my first reaction is favorable with a few qualifications. Regarding A/UX, It came up much easier than Open Desktop from SCO and gives a much nicer shell without needing X. Eventually I plan to try compiling the MIT distribution, but I'm not there yet. The installation manuals that come with aux are not good enough to get me out of trouble, though they were fully adequate to install the default system. I was able to transport a sun unix tar file from a Sequent mainframe to my mac via zmodem under the mac os, save it to a floppy, read the floppy under aux and untar the file to get a set of fortran files which aux's version of f77 seems not to choke on (that is a very preliminary statement). The integration of the mac and unix environments is highly impressive, but the unix environment is (necessarily) complex and occasionally vexatious. For example, right now I'm using cu to log in to my host. If I kill my local cu or drop the connection with my host I'll have a hell of a time getting control of my modem port back so I can start another cu. The only method I've found so far is to log in as root, call init 1 to kill all processes, including the one that hijacked tty0, call itit 2, WAIT FOR IT TO FINISH (very important I discovered) and start another cu. For some reason, just killing cu does not release the serial port. The manuals that came with the distribution have nothing to say of such problems. Maybe a good Unix guru wouldn't need them, but I sure do and they cost a lot, $200 or so. A/UX is definitly a pig when it comes to both hard disk space and cpu time. It fits in 80 meg, but there's only bout 10 or 15 meg of free space in the default setup. I'm running a iici with 8 megs of ram (no cache yet) and things like session starts take perhaps a minute from a quantum 105. About two thirds of the delay appears to be disk access, the rest I don't know about. Things like window opening are usually fast enough, but opening the chooser or control panel sometims takes an appreciable length of time. If first indications are any guide, aux will give me access to unix workstation software at the price of an as yet unknown amount of grey hair. I don't know what the performance will be like, but would expect it to be comparable to an older Motorola based Sun workstation. --- If you want a complete, robust, Mac-compatible Unix system then A/UX is the only way to go. There are very few Unix tools that you don't get. A/UX is multiuser, but don't try having more than 2-3 people log into an fx. Even though the OS can support many users, the hardware can't yet. You have to give Apple credit on this one though. They are really trying to put out a high-quality Unix. SUMMARY Currently, A/UX is the only way to go if you want the real thing on a Mac. It is a complete System V implementation, so it includes all the utilities. OS/9 is an alternative if you don't mind porting tools yourself. It is not a real Unix, but it may come close enough for many people. Minix is to be considered because most Unix tools are included or otherwise available for it (FSF), but one should keep in mind that it is not a true replacement OS (it runs under the Mac OS), and that it was originally intended as a Unix learning tool. So, although it is Unix-compatible from a programmer's point of view, it may lack the power for many uses. Anyone completely new to Unix should probably start with Minix, as it is cheap and runs on all Macs - one person reported using it on a Mac Plus. Mach, or MachTen, can currently only be classified as vaporware. Two people mentioned something called Idris, or MacIdris, but no one seems to actually have and use it. If you feel that A/UX, Minix and OS/9 are not for you, you might wait until Mach or Idris are released as actual products, but for now, A/UX and Minix get the nod.
coolidge@cs.uiuc.edu (John Coolidge) (12/05/90)
thomas@duteca (Thomas Okken) writes: >The FSF (the free software foundation, a >group of programmer producing arguably the best software in the world >, for free) boycott apple because of its look-and-feel lawsuits. That >means that none of the FSF software (their c-compiler gcc, >c++-compiler g++ and a plethora of other first rate tools) is not >available for the MAC. This would be an important point against AUX >for my uses of UNIX, maybe you feel similarily. If you want any of >their software (some of it is quasi-hacker-standard) you would have to >port it yourself, which can be quite hard. This is, in general, only half true. It is quite true that the FSF maintains a boycott of A/UX; it does not follow, however, that FSF tools are not available for A/UX. There are quite a number of people maintaining ports of the major Gnu tools for A/UX. I maintain an archive (at wuarchive.wustl.edu, in systems/aux/Gnu) that contains a number of Gnu tools, including gas, gcc, g++, bash, gdb, and emacs. >Regarding A/UX, It came up much easier than Open Desktop from SCO and gives >a much nicer shell without needing X. Eventually I plan to try compiling >the MIT distribution, but I'm not there yet. If you've got access to ftp, a complete build of MIT X11R4 with all patches and shared library support added by me is available from the aforementioned wuarchive.wustl.edu archive (systems/aux/X11R4). >If you want a complete, robust, Mac-compatible Unix system then A/UX is >the only way to go. There are very few Unix tools that you don't get. A/UX >is multiuser, but don't try having more than 2-3 people log into an fx. >Even though the OS can support many users, the hardware can't yet. We commonly have 3-4 people on a IIx with no trouble. I've currently got 9 CommandShell windows and MacX with epoch (remote) and several istat's (local) with no particular load (and I'm running nn and posting this on the ci :-)). I've gotten three compiles going at a time; the load is quite noticable but not offensive. --John -------------------------------------------------------------------------- John L. Coolidge Internet:coolidge@cs.uiuc.edu UUCP:uiucdcs!coolidge Of course I don't speak for the U of I (or anyone else except myself) Copyright 1990 John L. Coolidge. Copying allowed if (and only if) attributed. You may redistribute this article if and only if your recipients may as well.
gft_robert@gsbacd.uchicago.edu (12/07/90)
----- In article <1990Dec5.051741.1909@julius.cs.uiuc.edu>, coolidge@cs.uiuc.edu (John Coolidge) writes... >thomas@duteca (Thomas Okken) writes: >>The FSF (the free software foundation, a >>group of programmer producing arguably the best software in the world >>, for free) boycott apple because of its look-and-feel lawsuits. That >>means that none of the FSF software (their c-compiler gcc, >>c++-compiler g++ and a plethora of other first rate tools) is not >>available for the MAC. This would be an important point against AUX >>for my uses of UNIX, maybe you feel similarily. If you want any of >>their software (some of it is quasi-hacker-standard) you would have to >>port it yourself, which can be quite hard. Not true. I just downloaded the gnu c compiler from apple.com yesterday (pub/gnu.mpw I think). It works with MPW. I think I might have seen A/UX versions there too, but I'm not sure. There is other gnu stuff archived both at apple.com and ftp.apple.com (the permanently "semi-up" site). Robert ============================================================================ = gft_robert@gsbacd.uchicago.edu * generic disclaimer: * "It's more fun to = = * all my opinions are * compute" = = * mine * -Kraftwerk = ============================================================================