I was wondering what relations and differences are between computer terminal and virtual console/terminal?
Quoted from Wikipedia
A computer terminal is an electronic or electromechanical hardware device that is used for entering data into, and displaying data from, a computer or a computing system. Early terminals were inexpensive devices but very slow compared to punched cards or paper tape for input, but as the technology improved and video displays were introduced, terminals pushed these older forms of interaction from the industry. A related development was timesharing systems, which evolved in parallel and made up for any inefficiencies of the user's typing ability with the ability to support multiple users on the same machine, each at their own terminal.
Quoted from wikipedia
A virtual console (VC) – also known as a virtual terminal (VT) – is a conceptual combination of the keyboard and display for a computer user interface. It is a feature of some operating systems such as UnixWare, Linux, and BSD, in which the system console of the computer can be used to switch between multiple virtual consoles to access unrelated user interfaces. Virtual consoles date back at least to Xenix in the 1980s.
I thought computer terminal to be the hardware device, and virtual console is part of OS. But after reading the articles, I now think they are the same thing as part of OS, and computer terminal cannot be independent of OS.
From further discussion on the two articles, is it true that either of them can be divided into text terminal and graphical terminal?
- As I understand from the articles, Terminal emulator and virtual console/terminal are different. Virtual console is a broader concept, including both text terminal and graphical terminal. Terminal emulator is just some emulator of text terminal running under graphical terminal?
The answer has more to do with the history of the terms than their actual meaning.
In the early days, terminals were hardware devices, like the DEC VT101 I have sitting in my garage. :-)
Terminal emulators came later. I don't know what came first, but now we have a few different kinds of terminal emulators.
- Ones that dial into a remote system and emulate a terminal (HyperTerminal,
- Ones that connect over the network (telnet, etc.) and emulate a hardware terminal (
tn5250come to mind)
- Ones that connect to a local pseudo-tty (
I assume that the terminal sitting next to a computer was referred to as a console in the early days, but later that came to mean the keyboard and monitor attached to the computer. On Linux at least, there has historically only been one console (your video card and monitor combined with the attached keyboards and mice), but we've had virtual consoles, which allow us to switch from one "console" to another on the one console. (
/dev/tty0 point to the one master console.)
Generally, the term 'console terminal' or 'computer terminal' refer to just the physical interface, part of the hardware. Modern operating systems have (often several) virtual consoles which emulate the behavior of the old glass terminals (which in turn emulates the Teletypewriter http://en.wikipedia.org/wiki/Teleprinter). There are parts of the VGA console on a modern PC that are part software and part hardware (since OSs like Linux and BSD take advantage of the VGA hardware to display rather than rendering the fonts themselves) but they aren't the same as the old glass terminals that were used to coin the term 'Terminal'. (see http://en.wikipedia.org/wiki/VT100 for example.)
Each virtual terminal has a tty (remember the teletypewriter above?), and the tty is what is used for the text console.
When it comes to things like a 'graphical terminal', unless you're talking about pseudo-terminals used in X programs like 'xterm', that's a completely different thing, and the 'terminal' term gets a bit hazier. You can have virtual consoles that emulate a virtual VGA display, when you're running something like VirtualBox.