Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site harvard.ARPA Path: utzoo!watmath!clyde!burl!ulysses!allegra!bellcore!decvax!genrad!panda!talcott!harvard!sasaki From: sasaki@harvard.ARPA (Marty Sasaki) Newsgroups: net.arch Subject: inside the OS vs. outside the OS Message-ID: <501@harvard.ARPA> Date: Thu, 21-Mar-85 10:18:00 EST Article-I.D.: harvard.501 Posted: Thu Mar 21 10:18:00 1985 Date-Received: Sat, 23-Mar-85 03:07:34 EST Distribution: net Organization: Harvard Science Center Lines: 27 There has been much discussion about whether a feature should be implemented inside of the kernel or outside, in the form of library routines. Most of the discussion has had to do with files and locking. One thing that has always bugged me, is that terminal functions are in the driver (which is in the kernel) on almost all of the systems that I know about. The driver has all of this code in it that does things like flow control, echo (if you have echo turned on), character translation, line editing, etc. Shouldn't the kernel part of a terminal driver be just two ring buffers, one for input characters and one for output? The driver should just fill and empty these buffers. Then the user can link in whatever routines are necessary for the particular application to do all of the rest. When I'm using a screen text editor that turns off echo and puts the terminal in RAW mode, why do I have to pay for the checks for echo and flow control and all of the rest. Does this bother anyone else? -- ---------------- Marty Sasaki net: sasaki@harvard.{arpa,uucp} Havard University Science Center phone: 617-495-1270 One Oxford Street Cambridge, MA 02138