Re: Kernels - What's in and what's out.

Albert Cahalan (albert@ccs.neu.edu)
Fri, 10 May 1996 22:51:48 -0400 (EDT)


From: Alan Cox <alan@cymru.net>
>
>>> What do you think pty's are for ;) - how do you think screen
>>> and splitvt work.
>> Last I heard, screen and splitvt didn't work all that well.
>
> They work fine. I use them a lot.
>
>> Do I lose voice recognition when I start up an SVGA DOOM?
>> (hmmm, could DOOM even start?) What about X? I'd not want
>
> If you tell X the console input is via a tty/pty pair its fine
> (X has proper schems for this however already) via synthesised events.
>
> DOOM tends to hit hardware and low level keyboard drivers - that's
> why that sort of thing is bad.

X also hits the hardware and keyboard at a low level - lower even,
because X doesn't use a library. If X, DOOM, and other things
(dosemu I'm almost sure) have to hit hardware at such a low level,
then the kernel is not providing proper services. We may as well
do away with /dev, because it is being bypassed by suid root programs
like the X server, SVGAlib, and dosemu. Unix clones are supposed to
have a hardware abstraction through the file system. Instead, we let
apps hit the hardware directly. Even Windows NT keeps apps away
from the hardware. DOS lets the window system hit the hardware
directly. Let's avoid imitating the DOS mistake that made Windows
start evolving into an OS.

We need at least two things: an event queue and a framebuffer.
SVR4 and SunOS both provide an event queue. Most Unix clones
seem to provide framebuffers, even Linux on some architectures.
Without these two things, Linux simply does not provide the
services modern apps demand. It's great for batch jobs and
timesharing over serial lines. That's still somewhat useful,
but limiting, and BSD beats us in the Big Array category anyway.
I'd let them have it if only I could have a Linux that let an
unprivileged user have _safe_ fast console video and _safe_
control of the keyboard. Any setup with suid root software that
gets IO privileges is broken. Any setup that lets the user jam
the console into some weird keyboard/video mode is broken.
I hope some of this stuff can get fixed in post-2.0 Linux.