The TTY subsystem is central to the design of Linux, and UNIX in general. Unfortunately, its importance is often overlooked, and it is difficult to find good introductory articles about it. I believe that a basic understanding of TTYs in Linux is essential for the developer and the advanced user.
Read more: http://www.linusakesson.net/programming/tty/index.php
LJ Article: http://www.linuxjournal.com/article/5896
LDD CH 18: TTY Drivers