Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/17/84 chuqui version 1.7 9/23/84; site daisy.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxt!houxm!vax135!cornell!uw-beaver!tektronix!hplabs!nsc!daisy!david From: david@daisy.UUCP (David Schachter) Newsgroups: net.arch Subject: Re: dumber terminal device drivers Message-ID: <101@daisy.UUCP> Date: Sat, 20-Apr-85 23:16:07 EST Article-I.D.: daisy.101 Posted: Sat Apr 20 23:16:07 1985 Date-Received: Tue, 23-Apr-85 06:18:30 EST References: <327@piggy.UUCP> Reply-To: david@daisy.UUCP (David Schachter) Organization: Daisy Systems Corp., Mountain View, Ca Lines: 25 One can elaborate on the solution to the ESC problem. The solution suggested by several people is to have the process send a new break table when an ESC is encountered. A generalization of this is to let a break character automatically install a new break table and a new echo table. (I'm sure everyone can think of efficient ways of implementing this.) To get even more elaborate, one can put most of the input routine into the driver, thus reducing the number of context switches to one per token. In my company's operating system, we have had a mechanism for performing break, echo, tranlation, key expansion, and other processing since Day One. It is very useful. The default tables work fine for "dumb" applications and cost little. Our sophisticated applications change the tables on the fly, on a per-token basis. We have found it useful, at various levels of the O.S., to allow user code to attach routines to system functions, on a per-process basis. For example, the routines that perform screen output frequently have application-specific auxiliary processing routines attached. This reduces the amount of context switching substantially. The two key ideas are: (1) Push routine functions into the O.S. if they don't cost non-users a lot and (2) let application programs attach auxiliary processors to system routines to avoid context switches (with the appropriate attention to system security, of course!)