Article View: comp.arch
Article #11089Re: <None> (Should be Open Systems, bloody NEWS system...)
From: Paul Campbell
Date: Mon, 28 Dec 1992 22:22
Date: Mon, 28 Dec 1992 22:22
42 lines
2342 bytes
2342 bytes
In article <id.SQ3W.IB6@ferranti.com> peter@ferranti.com (peter da silva) writes: >In article <1992Dec23.212321.26522@ryn.mro4.dec.com> Peter.Mayne@cao.mts.dec.com writes: >And in UNIX the analog is a "signal". Now, a signal is a little "safer" than >an AST (at least as under RMX), in that it's guaranteed to run in your task >context. Well VMS user-mode ASTs run just like signals. Actually each AST runs in it's tasks context - it's just that it's possible to create an AST for another task. Not much use in user mode (ie like signals) but very usefull as a kernel mechanism where you WANT something to happen in the context of another process. I once implemented a complete port of Unix that ran within a single VMS process, the Unix kernel ran in a VMS process in supervisor mode, it ran multiple Unix processes in user mode, supervisor mode ASTs were used for Unix 'interrupts' (for example for input characters from terminals, disk IO completeions etc etc) >Much of the *C* run-time in *any* language is non-reentrant, and I would >be surprised if the VMS library was any better. If I get an AST while I'm Yeah this is a major design flaw in the Unix/C world - an operating system that returns more than 1 thing from its system calls is implemented in a language that only returns 1 thing from a call. This doesn't mean that C shouldn't have been used for Unix - just that the API should have been designed differently for example: (act_len, errno) = read(file, data, len); probably should have been done as: errno = read(file, data, len, &act_len); Paul -- Paul Campbell UUCP: ..!mtxinu!taniwha!paul AppleLink: CAMPBELL.P "Finally after much thought he tied a dollar bill to the top of the tree, it seemed to fit - after all it was the premier capitalist holiday, besides after the 'fall' of communism a star didn't seem appropriate anymore ..."
Technical Details
Message-ID:
<1367@taniwha.UUCP>Path:
arc1-ca.pugleaf.net!sparky!uunet!spool.mu.edu!agate!ucbvax!mtxinu!taniwha!paulReferences:
<id.CG2W.R8A@ferranti.com> <1992Dec23.212321.26522@ryn.mro4.dec.com> <id.SQ3W.IB6@ferranti.com>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!spool.mu.edu!agate!ucbvax!mtxinu!taniwha!paul From: paul@taniwha.UUCP (Paul Campbell) Newsgroups: comp.arch Subject: Re: <None> (Should be Open Systems, bloody NEWS system...) Message-ID: <1367@taniwha.UUCP> Date: 28 Dec 92 22:22:51 GMT References: <id.CG2W.R8A@ferranti.com> <1992Dec23.212321.26522@ryn.mro4.dec.com> <id.SQ3W.IB6@ferranti.com> Organization: Taniwha Systems Design Lines: 42