[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ah, this is the right thing

From: Thomas Bushnell, BSG
Subject: Re: ah, this is the right thing
Date: 22 Apr 2004 10:06:05 -0700
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3

Marcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de> writes:

> I still have no clear picture of what the system console is in your
> opinion.  In your first mail, you say that init must start the
> console, because it may be "fancy" and require proc and auth.  But in
> my opinion, it is a fundamental flaw to rely on a fancy console as the
> system console.  The system console in my eyes is for example a
> dedicated serial line, or a dumb terminal a la Mach's console, with
> the one improvement that it doesn't interfere with other video card
> using programs later on.

For these purposes, the "console" should have three properties.  It is
an accident of language that the word "console" could refer to the big
fancy user-land interaction agent, and also the way that core system
things have of alerting someone when the world is birthing or dieing.

I'm speaking only of the latter.

So here are the properties:

* It should be able to be written on when other things are absent or
  failing--that is, using it should not require a gajillion other
  processes to be functioning;
* What gets written on it should, in the normal course of events,
  migrate to syslog eventually (note than in BSD this is true for
  things at boot time *and* at crash time!)
* It should not rely on a special freaky Mach kernel feature.

There are two kinds of consoles:

* a "normal" console,
* a "magic" console.

A normal console *might* be the very same program as a big fancy
user-land interaction agent, provided that this agent is safe enough.

A magic console is a necessary thing to tolerate.  It's a way for
programs to write on "the console" when they are the only beast in the
world.  Right now they use the Mach "console" device.  That's a bug.
That device will vanish like the wind when we strip away the Mach
terminal code once and for all.

A totally different question is "what hardware is the console", for
which the answer is: the user's one and only video screen, or a
dedicated serial line.  Some hardware has a special "console" terminal
already.  This question is not at all important to the above, except
that the user's one and only video screen must be an option.

I'm not addressing that totally different question *at all*.  

Right now, we are doing a horrible thing.  We open the Mach device
named "console" (a feature we are planning to remove from Mach
anyway); we are casual and careless about where that port is passed
around, including storing it in wildly inappropriate places, like file
descriptor tables; init never bothers to open /dev/console for the
users the way BSD does (and it's a mistake that Linux does not); we
don't capture anything written on it for logging; etc.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]