В 1985 году популярная телепередача «The Computer Chronicles» на канале PBS предсказывала: Unix станет стандартной операционной системой будущего. Тогда многие технологические эксперты считали, что эта ОС сможет пошатнуть господство IBM и MS-DOS на рынке. Что интересно — они оказались правы, хотя и не совсем так, как предполагали.
Философия Unix
Unix принесла в мир компьютеров целую философию разработки, которая актуальна до сих пор. Ее основные принципы:
- Каждая программа должна делать что-то одно, но делать это хорошо
- Программы должны уметь работать вместе
- Текстовый формат данных предпочтительнее бинарного
- Все есть файл
Эти принципы оказали огромное влияние на современную разработку ПО. Например, популярные сегодня микросервисы — это по сути развитие первой идеи списка.
Как Unix покоряла университеты
В 1980-х Unix господствовала в научной среде примерно так же, как сейчас компьютеры Mac (которые, кстати, тоже построены на Unix-подобной системе). Этому способствовала интересная юридическая ситуация: AT&T, владевшая Bell Labs — создателями Unix, находилась под действием антимонопольного соглашения. Компании запрещалось заниматься чем-либо, кроме телефонной связи.
В результате AT&T могла продавать академические лицензии на Unix за символическую плату, причем вместе с исходным кодом. Университеты охотно этим пользовались. Особенно преуспел Калифорнийский университет в Беркли, где Билл Джой со студентами доработал систему, создав знаменитую Berkeley Software Distribution (BSD). Именно в BSD появилась поддержка TCP/IP — протокола, который лег в основу современного интернета.
Почему Unix была настолько привлекательной
Портативность
Главное преимущество Unix заключалось в ее переносимости между разными компьютерами. Изначально система работала на компьютерах PDP-7, затем на PDP-11, а потом ее портировали на множество других платформ. Это стало возможным благодаря тому, что ядро Unix было написано на языке C — тоже переносимом между разными архитектурами, и только 5% составлял машинно-зависимый код. Для сравнения, в то время большинство операционных систем писались на ассемблере, что делало их привязанными к конкретной архитектуре процессора.
Для разработчиков это была потрясающая возможность: написав программу один раз, они могли запускать ее на разных устройствах с минимальными изменениями. В те времена это действительно выглядело как настоящее чудо — ведь пользователи работали кто на IBM PC, кто на Commodore 64, кто на Apple II.
Рабочие станции
В 80-х и 90-х годах Unix царила в мире рабочих станций — мощных компьютеров для профессиональных задач вроде разработки ПО или проектирования. Sun Microsystems, HP и Silicon Graphics производили такие машины для ученых и инженеров. Особенно известны стали рабочие станции Silicon Graphics — именно на них создавались спецэффекты для «Парка Юрского периода» и других новаторских фильмов того времени.
Unix в бизнесе
С появлением процессора Intel 386 Unix начала проникать и в бизнес-среду. Часто это были специализированные системы для конкретных отраслей — например, медицинских учреждений или магазинов. Важное преимущество Unix состояло в многопользовательском режиме: несколько сотрудников могли одновременно работать с одним компьютером через терминалы.
К концу 80-х Unix даже конкурировала с OS/2: благодаря DOS-эмулятору она могла запускать несколько DOS-программ одновременно, чего OS/2 тогда не умела.
Что пошло не так
Война стандартов
В конце 80-х Sun Microsystems и AT&T решили объединить BSD с коммерческой версией Unix — System V. Другие производители испугались монополии и создали альтернативный консорциум Open Software Foundation. AT&T ответила созданием Unix International. Борьба стандартов и обилие несовместимых версий Unix отпугивали потенциальных клиентов.
Windows NT и Linux
Microsoft воспользовалась неразберихой на рынке, выпустив Windows NT — единую систему с привычным интерфейсом, работающую на разных процессорах и поддерживающую популярные бизнес-приложения вроде Word и Excel.
А в 1991 году появился Linux — когда Линус Торвальдс опубликовал свое ядро в Usenet. Разработчики объединили его с утилитами GNU, создав полноценную свободную операционную систему. Linux продолжил дело Unix, но уже без проприетарного кода.
Как Unix все-таки победила
Хотя классическая Unix утратила позиции, ее идеи живут в современных технологиях:
- Более 53% веб-серверов работают на Linux
- Unix-подобные системы доминируют в корпоративном секторе
- Большинство разработчиков учатся программировать на Linux-системах
- iOS и Android построены на Unix-подобных системах
Многие привычные сегодня команды появились именно в Unix. Например, grep (поиск текста) получила название от команды редактора ed: g/re/p, что означало «глобальный поиск по регулярному выражению и печать». А команда kill, вопреки названию, изначально не «убивала» процессы, а посылала им сигналы — эта концепция тоже пришла из Unix.
Unix повлияла даже на то, как мы пользуемся облачными сервисами. Временные файлы в /tmp, иерархическая файловая система, права доступа — все это пришло из старой доброй ОС и сейчас активно интегрируется в облачные хранилища. Docker и контейнеризация также построены на Unix-подобных принципах изоляции процессов и ресурсов, которые были заложены еще в 1970-х годах.
Получается, предсказание 80-х сбылось: Unix действительно стала стандартом, просто не в виде одной конкретной системы, а как набор идей и принципов, воплощенных в современных технологиях. Сегодня практически у каждого в кармане лежит unix-подобная система — просто мы об этом не задумываемся.