Re: Christmas list for the kernel

Vojtech Pavlik
2005-11-23T16:49:10Z

On Wed, Nov 23, 2005 at 11:37:23AM -0500, Jon Smirl wrote:

> Before everyone gets excited, I realize that all of this has
> historical implications. But that doesn't mean we can't discuss
> possible future alternative solutions.
>
> Thinking about this for a while it seems to me that the problem is
> that the various apps (init, syslog) etc should not have a tty name as
> part of their command line parameters. Instead these apps could use
> ptys instead. Ptys would solve all of the race problems too.
>
> Is there any good reason (other than history) for using a device node
> name (tty0, etc) instead of some other naming scheme if names are
> needed at all?
>
> If init, syslog, etc can be converted to ptys, do we need ttys? Xterms
> use ptys I don't notice that they aren't connect to a fix tty name.
> The virtual consoles would still be 0,1,2 but do they have to be
> hooked to tty0, 1, 2 instead of a pty?

The basic difference between a pty and tty is that a pty connects to a
program (that created it by opening the ptmx node, for example xterm or
ssh) on the other end, while a tty connects to the kernel doing all the
character drawing in the framebuffer.

You can't easily use one instead of the other, they're very different
beasts.

Of course, a way to use a pty would be to have the console
implementation in userspace.

The fact that no program is on the other end of a tty is also the reason
why they cannot be created dynamically like ptys, there is noone to open
a "ttmx" to create the ttys.

Hence, the device nodes are pre-created by the kernel, while the real
devices are only created on open.

--
Vojtech Pavlik
SuSE Labs, SuSE CR