Path: utzoo!attcan!uunet!lll-winken!ames!mailrus!csd4.milw.wisc.edu!leah!rpi!rpi.edu!deven From: deven@pawl.rpi.edu (Deven Corzine) Newsgroups: comp.sys.amiga Subject: Re: UNIX vs. Amiga speeds Message-ID: Date: 23 Mar 89 07:27:56 GMT References: <6352@cbmvax.UUCP> Sender: usenet@rpi.edu Reply-To: shadow@pawl.rpi.edu (Deven Thomas Corzine) Organization: RPI Public Access Workstation Lab, Troy NY Lines: 107 In-reply-to: daveh@cbmvax.UUCP's message of 21 Mar 89 07:34:57 GMT In article <6352@cbmvax.UUCP> daveh@cbmvax.UUCP (Dave Haynie) writes: >in article , deven@pawl.rpi.edu (Deven Corzine) says: >> In-reply-to: schow@bnr-public.uucp's message of 19 Mar 89 10:26:57 GMT >> >> In article <353@bnr-fos.UUCP> schow@bnr-public.uucp (Stanley Chow) writes: >>>I am very happy with Amiga. Why should I trade in a fast Amiga >>>for a slow Unix? > >> Unix is an operating system. The Amiga is a computer. The Amiga can >> run Unix. (The 2500UX already does.) Your assumption that Unix is >> inherently slow is patently absurd. >Untrue. The Amiga Exec is just plain more efficient than the AT&T UNIX >Kernel. Task swaps under exec are extremely light weight when compared to >UNIX swaps. FFS runs around 3x the speed of the standard System V file >system, on the same A2500 hardware, without swapping in the way (at least >that was the last rough figure -- don't know if Steve's latest have >recently been compared with Mike/Johann's latest, but I wouldn't expect >too much change). Despite what the UNIX-or-death folks say, UNIX isn't >perfect. It does lots of things right. Some things OK. Let's not even >talk about added device drivers... I never claimed Unix was perfect. I very much like Exec. I don't like AmigaDOS. There is a difference. Unix often uses static arrays for system structures (e.g. fd's) which is limiting. Exec is much more dynamic, using its doubly-linked lists instead. *That* is superior to Unix, by far. Besides, I don't mean specifically the AT&T Unix Kernel. Basically, what I mean when I say "the Amiga can run Unix" is that you could have a programming interface virtually identical to that provided in a more traditional Unix kernel, but you could implement it on top of Exec for efficiency, power and flexibility. The best of both worlds, as it were. I define Unix more by how it can be used than by the source code that defines it. The internal structure may differ, but given the same programmer interface (and hopefully followed with the same user interface) gives you the compatibility and portability that has long been a major cornerstone of Unix's popularity. >> The Amiga can't even do that. It doesn't have an MMU. >To quote the well known UNIX wizard Deven Thomas Corzine, "The 2500UX already >does." So do all other 2500s. Yes, those specific models have MMU's (hardly utilized under Exec as of yet) but Amigas *as a class* do not have MMU's. And without an MMU, you can not page. You CAN swap without an MMU, but it makes things complicated. (aside from swapping being complicated in and of itself.) If you have the Unix programmer (and user) interface, without paging or swapping implemented, and the whole thing implemented on top of Exec as a base, I think you'll find comparable speeds. After all, what's really left to slow it down much? Not much, except when it comes to fork(), where you have to start swapping around memory for the running task, which IS a significant performance hit. But not likely to be *too* bad if soon followed by an exec()... >> If you ran Unix on the Amiga without paging (which isn't possible) or >> swapping (which is quite possible, but only really feasible with a HD) >> you will get similar speeds to programs running on the Amiga under >> AmigaDOS. >You CAN'T run UNIX without paging, that's part of the task swap overhead >in UNIX, and one of the reasons it goes slower (and, of course, this >slowdown also makes fork() possible, so it's not a clear loss. But what >is?). I'm not at all claiming that it goes considerably slower, just >slower. Also, once you start swapping, obviously, you will go slower. >It doesn't take that many programs running to start swapping. Care to >guess how may programs I have running on my Amiga system here (if you >guessed 35, you'd win the cupie doll). I'm using less than 1.7 >megabytes of RAM. Shared libraries sure make a difference. Swapping and paging are by no means *necessary* components of Unix. (Fine, maybe they are by some official definition, but not by mine.) Unix ran on PDP's in its early days... Was paging actually implemented? (I believe the hardware was able to support it, but I'm not so sure it was actually done.) Eliminate the swapping and paging from Unix, and you've also eliminated most of the extra task-switch overhead. Which should leave the speeds roughly comparable. >>> Consider the problems of expanding wildcard in the shell: >>> - increditably long lines are passed around. >> So? Either the shell builds an incredibly long line and pulls the >> parameters from it to pass to the program, or you pass the program the >> command line directly (as the CLI does) and the program builds the >> same incredibly long line. Big lot of difference it makes. >I thought you said you understood pipes? It makes a big difference. *sigh* Sarcasm will get me nowhere. Granted, it makes a difference. It matters whether the program processes each match as it finds it, or just goes ahead and builds a full list like the shell must. However, I don't think it really makes enough of a difference to outweigh other benifits of keeping the wildcards in the shell. Clearly debatable. I will concede that it makes a far larger difference given a file system structured as the OFS is; the overhead is much greater to scan a directory first, and then process the files, being that the FileInfoBlock will likely have to be loaded twice (unless you have a large cache or a small directory).. Deven -- ------- shadow@pawl.rpi.edu ------- Deven Thomas Corzine --------------------- Cogito shadow@acm.rpi.edu 2346 15th Street Pi-Rho America ergo userfxb6@rpitsmts.bitnet Troy, NY 12180-2306 (518) 272-5847 sum... In the immortal words of Socrates: "I drank what?" ...I think.