Date: Fri, 13 Oct 1995 22:19:29 -0700 From: "Jordan K. Hubbard" <jkh@time.cdrom.com> To: Terry Lambert <terry@lambert.org> Cc: julian@ref.tfs.com, jhay@mikom.csir.co.za, hackers@FreeBSD.ORG Subject: Re: IPX now available Message-ID: <2308.813647969@time.cdrom.com> In-Reply-To: Your message of "Fri, 13 Oct 1995 18:40:56 PDT." <199510140140.SAA18883@phaeton.artisoft.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> 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 <spew spew - oh foo, I don't want to look at this now> ^Z [1]+ Suspended make world % bg >& make.out [1]+ make world & % Hurrah, the output is now redirected to make.out! Or even this: % ./mylogprogram <spew spew - drat, I forgot - I only want to see the foo records> ^Z [2]+ Suspended ./mylogprogram % fg | grep foo <further output is piped through the grep> 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 <spew spew> Message from root@bigsys.bigcorp.com on ttyp4 at 22:06 ... Hey, I need to reboot the system - can you log off? EOF <Aw foo! OK..> ^Z [1]+ Suspended make world % procsave %1 > make.world.image Saving process tree for pgrp 1002... Done. % exit <log back in an hour later> % procrestore make.world.image <pick up right from where you left off, modulo process IDs now being different> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2308.813647969>