psj-notes
~/home ~/series ~/archive

Глава V. Беркли и рождение BSD

27.07.2026 Серия: История Unix "unix" "bsd" "berkeley" "tcp-ip"

Калифорнийский университет в Беркли

В 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 — но её наследие живёт.

Комментарии

Комментарии пока не подключены.