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