From owner-freebsd-hackers Fri Oct 13 22:22:05 1995 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id WAA24580 for hackers-outgoing; Fri, 13 Oct 1995 22:22:05 -0700 Received: from time.cdrom.com (time.cdrom.com [192.216.222.226]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id WAA24573 for ; Fri, 13 Oct 1995 22:22:01 -0700 Received: from localhost (localhost [127.0.0.1]) by time.cdrom.com (8.6.12/8.6.9) with SMTP id WAA02310; Fri, 13 Oct 1995 22:19:29 -0700 To: Terry Lambert cc: julian@ref.tfs.com, jhay@mikom.csir.co.za, hackers@FreeBSD.ORG Subject: Re: IPX now available In-reply-to: Your message of "Fri, 13 Oct 1995 18:40:56 PDT." <199510140140.SAA18883@phaeton.artisoft.com> Date: Fri, 13 Oct 1995 22:19:29 -0700 Message-ID: <2308.813647969@time.cdrom.com> From: "Jordan K. Hubbard" Sender: owner-hackers@FreeBSD.ORG Precedence: bulk > I would be loathe to give up file system stacking, especially when we > are on the verge of being able to finally use some of the technology Never implied that we would. Sorry if you took such an interpretation. > I agree for the most part with the idea that we have inherited some bad > code, but I'll be damned if I'll condemn the ideas that caused that code > ("the UNIX legacy") without a fair hearing. 8-). The ideas? No, I'm not condeming the ideas. The ideas are, in many respects, just fine. In fact, most of the major shortcomings we're currently facing are because the fundamental concepts behind UNIX were never taken FAR ENOUGH. Things, as things will, lost momentum at some point before that. An example? Oh, lesse.. OK, why can't I do something like THIS: % make world ^Z [1]+ Suspended make world % bg >& make.out [1]+ make world & % Hurrah, the output is now redirected to make.out! Or even this: % ./mylogprogram ^Z [2]+ Suspended ./mylogprogram % fg | grep foo We can't do all those things easily though because there's no mechanism for CHANGING an open file handle, nor is the process group mechanism powerful enough that we'd even be able to add another process to a pipeline in such a way that it would behave properly on subsequent suspend/resumes. I won't even get into harping on about my favorite peeve, which is the inability to do THIS either: % make world Message from root@bigsys.bigcorp.com on ttyp4 at 22:06 ... Hey, I need to reboot the system - can you log off? EOF ^Z [1]+ Suspended make world % procsave %1 > make.world.image Saving process tree for pgrp 1002... Done. % exit % procrestore make.world.image On a system where process information isn't so scattered around and FILE objects are handled somewhat more flexibly than through fixed tables, this kind of thing is easy. We had this feature in ITS 20 years ago! But in UNIX, that's not so easy to add because things weren't designed anywhere nearly "decoupled" enough and just restoring a saved processes' file table to something sane would take serious work. Nice idea, all these pipes and standardized I/O, just a pity nobody's taken it all the logical conclusion! Yes, plan9 is significantly more abstract in some of these respects but I thought we were talking about UNIX and its shortcomings! :-) Jordan