Глава V. Беркли и рождение BSD
Калифорнийский университет в Беркли
В 1974 году в Калифорнийский университет в Беркли поступила копия Unix V4. Кен Томпсон, будучи приглашённым профессором, привёз исходные коды и начал читать курс по операционным системам, используя Unix как учебный материал. Студенты быстро увлеклись системой — к ней прилагались исходники, можно было всё понять и изменить. Это была революция в преподавании.
Вскоре группа энтузиастов, назвавшая себя CSRG (Computer Systems Research Group), начала не просто использовать Unix, но и улучшать его. В 1977 году вышла 1BSD (Berkeley Software Distribution) — набор расширений к V6 Unix. Она включала компилятор Pascal, улучшенный редактор ex (предшественник vi) и утилиту для эмуляции терминалов.
Билл Джой и рождение vi
Ключевой фигурой раннего BSD был Билл Джой — выпускник Беркли, который начал работу над Unix ещё студентом. Джой создал редактор vi (visual editor), который стал стандартом для поколений Unix-администраторов. Исходно vi был визуальным режимом редактора ex — Джой добавил полноэкранное редактирование с использованием терминалов с адресацией курсора.
Интересный факт: vi писался на терминале ADM-3A, у которого клавиши Escape, Tab и Control располагались вплотную — именно поэтому в vi так много команд на базе этих клавиш. Случайность, определившая интерфейс десятилетий.
Джой также написал C shell (csh) — командный интерпретатор с C-подобным синтаксисом, поддержкой управления заданиями и историей команд. Csh стал стандартом для интерактивной работы во всех BSD-системах.
2BSD и 3BSD
В 1979 году вышла 2BSD, которая включала vi, csh, терминальную базу termcap, и улучшенную систему работы с сигналами. Это был настоящий "дистрибутив" — пользователи могли получить магнитную ленту с полной системой.
Ключевой момент: Bell Labs выпустила V7 Unix в 1979 году, а Беркли в том же году выпустил 3BSD, основанный на V7 с добавлением виртуальной памяти для PDP-11/45. 3BSD настолько впечатлила DARPA, что агентство заключило с Беркли контракт на разработку операционной системы для своих ARPANET-узлов.
TCP/IP и 4.2BSD
Контракт с DARPA стал поворотным. Беркли поручили реализовать стек протоколов TCP/IP для Unix. В 1983 году вышла 4.2BSD — возможно, самая влиятельная версия Unix в истории.
4.2BSD включала:
- Полноценную реализацию TCP/IP (сокеты Беркли)
- Быструю файловую систему FFS (Fast File System)
- Улучшенный планировщик процессов
- Межпроцессное взаимодействие (IPC)
- Сигналы с маскированием и блокировкой
Сокеты Беркли стали универсальным API для сетевого программирования. Именно через 4.2BSD Unix стал сетевым — до этого сетевое программирование было уделом мейнфреймов и специализированных систем. Билл Джой и его команда сделали сеть такой же простой в использовании, как чтение файла.
BSD против AT&T
К середине 1980-х BSD стала де-факто стандартом Unix для академического мира. AT&T тем временем осознала коммерческую ценность Unix и начала активно лицензировать System V. Началось противостояние BSD и System V, известное как "Unix Wars".
Парадокс: BSD была более инновационной, но AT&T имела юридические права на код Unix. Исторический компромисс состоял в том, что BSD можно было распространять только при наличии лицензии AT&T на Unix. Это ограничивало распространение BSD в коммерческом секторе.
Заключение
Беркли превратил Unix из лабораторной системы в мощную сетевую платформу. TCP/IP, vi, csh, FFS — эти технологии до сих пор с нами. Без BSD не было бы современного интернета (в том виде, который мы знаем), не было бы macOS (основанной на Darwin/BSD) и не было бы той культуры хакерства, которая породила GNU и Linux. CSRG закрылась в 1995 году, выпустив 4.4BSD-Lite — но её наследие живёт.
Комментарии
Комментарии пока не подключены.