Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site ucbvax.BERKELEY.EDU Path: utzoo!linus!decvax!decwrl!ucbvax!cory.berkeley.edu!dillon From: dillon@CORY.BERKELEY.EDU (Matt Dillon) Newsgroups: net.micro.amiga Subject: Re: Unix, etc. (posting announcement for a shell at end) Message-ID: <8602230657.AA09363@cory> Date: Sun, 23-Feb-86 01:57:04 EST Article-I.D.: cory.8602230657.AA09363 Posted: Sun Feb 23 01:57:04 1986 Date-Received: Wed, 26-Feb-86 04:10:10 EST Sender: daemon@ucbvax.BERKELEY.EDU Organization: University of California at Berkeley Lines: 83 There has been quite a lot of talk about a UNIX or UNIX lookalike on the amiga, some of it originating from myself. Now that I have had a chance to write some more indepth programs on my amiga, I would like to offer some food for thought. Obviously, the Amiga's OS is setup for, well, the Amiga. One reason I think a UNIX like operating system would have been more benificial is that we would then be able to port various utilities currently running on UNIX systems over to the Amiga with relative ease. UNIX hasn't been around for countless years for nothing. But taking a good look at the Amiga's OS, I can find only two faults with it: The multi-processing was done incorrectly (e.g. if you run an lc1, alink, or lc2 in the background, the rest of the machine freezes. Specifically, when the latter programs have finished their disk access and are doing purely computational in-memory processing). Secondly, the Amiga's OS does not handle error conditions at all well, and doesn't have the ability to kill a process nicely. But then again, a UNIX without memory protection does is not guarenteed to solve these problems. As far as a running system is concerned, the problems are trivial (that is, when you aren't attempting to write a program). Minor asside: Your Amiga is guarenteed not to stay up for more than a couple of days (depending), due to it's habit of loosing memory on an Execute() + other sources. Another minor asside: The Amiga has a memory-fragmentation problem, in that after using it for many hours, Alink sometimes crashes the machine because it can't get a contiguous piece big enough. The Amiga's OS, being built especially for the Amiga, has the freedom of being specialized. Theoretically, it can handle it's resources more efficiently than a mod'd UNIX. The mod'd UNIX would have to have another system layer in between, though this consequence reduces system crashes due to error conditions by a considerable degree. Apart from the above mentioned problems, and discounted those other problems which always appear in a new, innovative OS, I like the Amiga. It certainly is much better than the MAC in terms of writing a program. The best idea, I think, is the 'shared libraries' concept. In fact, I think Lattice made a *big* mistake by not making their basic 'system like calls' a library. The equivalent UNIX thing would be yet another system call. Shared libaries are unrealistic in BSD UNIX's, at least until the BSD gets between process shared memory working on a software level. If you think about it, we have been given unbelievable support in terms of library routines for the Amiga. The Graphics library, for instance, is the most impressive and well written set of routines I have seen in a long time. By sticking so much support in, there are bound to be problems with a few of them (Murphy's Law), though not all of them (Probability Law: The more routines you have, at least one should work). An example of that would be the boched SER: driver, (and even the serial.device to some extent). --------------------------------------------------------------- Now what has everybody missed the most between UNIX and the Amiga? I'll tell you what we have all missed: A SHELL!. aliases, history, filename expansion..... I thought you would be interested. I have written such a program. It has nowhere near the power of CSH, or even SH, and my lack of knowlege has prevented me from handling Ctl-C, or return-error values, but it does have the following: aliases variables file-expansion ala * & ? history ala very simple (!pattern, !!, !number) it doesn't do everything correctly, but it certainly works better than CLI in terms of doing programming from it. I'll post it as soon as I finish writing the manual for it. If anything, you can get the independant file-expansion routines you've all been craving for from it. I don't purport that it's complete (it isn't), or completely error free (it isn't) but.... well see. -Matt