The console and terminal paradigms for TUIs

Platforms can be grouped into two broad categories, platforms with "consoles" and platforms with "terminals", according to the paradigms that they present to TUI programs. These are not firm divisions, and several platforms are admixtures of the two approaches.

Microsoft Windows NT, IBM OS/2, TAU, and even (to an extent) MS/PC/DR-DOS are platforms with "consoles". Unices (e.g. the various BSDs, Solaris, HP/UX, AIX, and so forth) and Linux are platforms with "terminals".

Confusingly, platforms with terminals often distinguish one terminal as special, and call it "the console". This isn't the same as the console abstraction discussed here. It's really little more than a way of marking one terminal device out of the many potentially attached to the system that is variously (a) available early on in the bootstrap process, (b) allowed to have superusers logging in directly, or (c) used for kernel diagnostic output and "messages to the system operator sitting at the system console". The console abstraction discussed here is nothing to do with this. The abstractions discussed here involve the API and the way that applications programs "see" the services offered to them by the operating system.

© Copyright 2011 Jonathan de Boyne Pollard. "Moral" rights asserted.
Permission is hereby granted to copy and to distribute this web page in its original, unmodified form as long as its last modification datestamp is preserved.