История Unix: от печатных терминалов до цифровой эмуляции

12 часа назад 4

До появления современных рабочих столов Linux люди взаимодействовали с компьютерами при помощи терминалов — сегодня они считаются архаичным пережитком прошлого. Но как именно ПК прошли путь от печатных терминалов до современных дисплеев? Портал howtogeek.com отследил эволюцию Unix.

Те, кому повезло иметь доступ к компьютеру в 1960-х и начале 1970-х, чаще пользовались не старыми машинами с перфокартами, а т.н. печатными терминалами — или телетайпами.

Подобные терминалы широко применялись для телеграфии и новостной корреспонденции — например, в Associated Press. Как можно догадаться по названию, печатные терминалы выводили информацию на бумаге. И для этого требовалось очень много бумаги. Телетайпы также были медленными и громкими. Отчасти из-за этого дизайн Unix отдает предпочтение более коротким командам.

На разработку Unix также повлияло то, как именно печатные терминалы выводили данные. У телетайпов не было экрана, поэтому если пользователю вдруг нужно было отредактировать файл, то делать это приходилось построчно — отсюда и появился термин «построчный редактор». Для того, чтобы поменять файл, человек сначала распечатывал нужные ему строки, а потом вписывал новые, чтобы заменить их.

К середине 1970-х технологический прогресс сделал терминалы с CRT-экранами более доступными; они начали заменять старые печатные терминалы в университетах и различных компаниях. Подобные машины были не такими дорогостоящими в обслуживании, потому что им не нужна бумага — видеотерминалы показывают информацию на экране. Хотя телетайпы по-прежнему оставались в ходу в качестве администраторских консолей: гигантские рулоны бумаги выполняли роль лога активности на случай, если электронные системы вдруг терпели неполадки.

Помимо этого, видеотерминалы проложили дорогу для новых типов приложений. Одним из них стал экранный редактор, который не ограничивал пользователей изменением файла построчно: он либо показывал код целиком, либо крупными фрагментами. Работать в такой среде гораздо проще, чем в старых построчных редакторах. А разработчиком одного из экранных редакторов (vi) был Билл Джой — выпускник факультета информатики Беркли. Его проект позже стал ключевым элементом Berkeley Software Distribution, или BSD — ныне де-факто стандартного редактора Unix.

По мере смены поколений компьютеров и отказа от печатных терминалов в пользу видеотерминалов на рынке появилось множество различных устройств. А это, в свою очередь, привело к проблемам с совместимостью. Для того, чтобы найти решение, Билл Джой создал termcap: базу данных терминалов и их технологических возможностей. Она содержала информацию, например, о максимальном количестве колонок текста, которое поддерживал тот или иной экран, можно ли перемещать курсор программами и т.д.

Как и многие другие революционные новшества, важнейший компонент современных Unix и Linux-систем появился благодаря игре. А точнее, благодаря Rogue — данжен-кролеру, где игроки перемещались по процедурно сгенерированному подземелью в поисках магического артефакта. Игра пользовалась популярностью на BSD в 1980-х и фактически совершила прорыв, потому что пользователь перемещался прямо по экрану — никаких текстовых описаний. Rogue отображала подземелье, персонажа игрока и монстра с помощью ASCII символов.

Проект также извлекал максимум из возможностей терминалов того времени. Кен Арнольд, один из создателей игры, создал библиотеку curses для простоты создания т.н. текстовых пользовательских интерфейсов — или TUI. Причем библиотека сохранилась и до сегодняшних дней в форме открытой базы ncurses.

Но постепенно технологии совершили еще один шаг вперед, и взаимодействие человека с компьютером вновь видоизменилось. Терминалы проиграли гонку ПК — настольным машинам, которые предлагали мощность миникомпьютера и впечатляющие графические возможности. На ПК и рабочих станциях многие начали пользоваться эмуляторами терминалов: они могли выполнять тот же код, что и реальные машины, но не были ограничены одним окном.