CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
17.09.2019

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Дистрибутивы :: BSD :: FreeBSD

Берклиада
Предыстория одной системы

CITKIT.ru

Страницы: предыдущая :: 1 :: 2 :: 3 :: 4 :: 5 :: 6 :: ... :: 10 :: следующая

Содержание

Начало предыстории: проект BSD и CSRG

В Беркли UNIX попал в условия открытого общения специалистов в области Computer Science самого разного ранга, от профессоров, начиная с Фабри, до аспирантов — именно такой статус имели во второй половине 70-начале 80-х годов прошлого века Билл Джой (Bill Joy, в последующем один из основателей компании Sun), Маршалл Керк МакКузик (Marshall Kirk McKusick), Озалп Бабаоглу (Özalp Babaoğlu). Их усилиями, вкупе с другими сотрудниками университета, система UNIX медленно, но верно превращалась именно в то, чем она стала ныне. Достаточно сказать, что на счету "ранних берклианцев" разработка системы управления виртуальной памятью, концепции сокетов для взаимодействия между процессами, текстовый редактор vi, ставший в лице своих клонов elvis и Vim неотъемлемой частью всех Unix-подобных систем, и командная оболочка C-shell (csh), положившая начало интерактивным методам работы в командной строке.

Нам, избалованным мощными и красивыми текстовыми редакторами для графического режима (или, по вкусу, изощрёнными возможностями нынешнего Vim'а), современными командными оболочками типа bash и zsh, трудно сейчас оценить, какую роль в дальнешем развитии Unix-подобных систем сыграли vi и csh, выглядящие сегодня столь невзрачными.

Однако представьте, что в вашем распоряжении до сих пор была альтернатива из строчного редактора ed без всяких интерактивных возможностей, а также громоздкого и во многом непонятного GNU Emacs (разработка которого, кстати, началась лишь на несколько лет раньше создания vi). И вдруг в одночасье вы получаете в свое распоряжение легкий, универсальный (то есть работающий на всех терминалах, и работающий абсолютно одинаково), простой (да-да, vi в базовой своей части чрезвычайно прост — если воспринимать его именно таким, каким он является) интерактивный редактор. Да к тому же гарантированно имеющийся на любой Unix-машине.

А чтобы осознать, что привнёс с собой csh в командную строку, просто попробуйте поработать сколько-нибудь продолжительное время в /bin/sh, являющейся оболочкой по умолчанию для обычного пользователя во FreeBSD. Выполняя при этом действия хоть на гран сложнее, чем ls и cd. А ведь /bin/sh — это POSIX-шелл, основанный на шелле Корна, до интерактивных возможностей которого первичному для UNIX шеллу Борна, по свидетельству очевидцев, — что до Пекина раком...

Впору ли не воздать должное создателю обеих этих программ Биллу Джою?

Сотрудники Беркли оказались первыми и в организации распространения результатов своих работ. Этой цели служила Berkely Software Distribution или, сокращённо, BSD — система распространения разработанного в университете софта на магнитных лентах, от которой в конечном итоге происходит всё многообразие форм BSD- и Linux-дистрибуции.

Первые выпуски BSD (1BSD и 2BSD), вышедшие в 1978 году, ещё не представляли собой цельных систем, а содержали лишь набор утилит и приложений собственной разработки. О какой-либо системной целостности можно говорить, начиная с 3BSD (1979 год) — правда, целостность эта в значительной мере была обусловлена включением компонентов собственно UNIX.

Однако именно выпуск 3BSD послужил причиной тому, что команда UNIX-разработчиков Беркли получает в 1980 году грант упоминавшегося выше DARPA (то есть, в конечном счёте, Министерства обороны США) с целью разработки протокола передачи данных для сети ARPANET, который ныне известен как протокол TCP/IP.

Практически одновременно с получением гранта DARPA Бобом Фабри формируется команда CSRG (Computer System Research Group), которая объединила всех трудящихся университета Беркли (и не только его), связанных с развитием берклианской ветви UNIX. Начиная с октября 1980 года, на протяжении двух с небольшим лет эта группа последовательно выпускает 4BSD, а затем 4.1BSD в нескольких версиях: собственно 4.1BSD — июнь 1981 года, 4.1a, 4.1b и 4.1c (1982—начало 1983 года).

Модель распространения BSD выглядит весьма запутанной для нас, незнакомых с американским юридическим крючкотворством. Все собственно Берклианские разработки распространялись хотя и не бесплатно, но за минимальные деньги (лента 1BSD, например, стоила 50 долларов), причём дальнейшее их использование было практически свободным, в духе позднейшей BSD-лицензии.

Однако те же разработки в составе цельной работоспособной системы, содержащей UNIX-код, требовали лицензирования последнего, что приводило к удорожанию на порядки. Дело доходило до ситуаций, которые кажутся нам смешными: организации покупали лицензию на использование UNIX у Bell Labs, но заказывали и использовали более функциональную систему из Беркли. Несколько напоминает ситуацию с Windows, когда приобретается не программа как товар, а некое мифическое право на её использование, не правда ли? Такое положение вещей, противоречащее здравому смыслу, не могло продолжаться вечно — и скоро мы узнаем, каким образом оно разрешилось.

Пока же вернёмся к развитию BSD-линии. Наконец, в августе 1983 года, была выпущена система 4.2BSD — та самая, на разработку которой собственно и был получен грант DARPA. К этому времени Билл Джой, сыгравший большую роль в разработке предыдущих версий, покинул Университет Беркли и стал соучредителем новой компании Sun Microsystems. На первые же роли в проекте BSD вышли Майк Карелс (Mike Karels) и Керк МакКузик.

Система 4.2BSD аккумулировала в себе как все ранние достижения берклианской мысли, так и разработки, выполненные уже в рамках CSRG и как бы "порционно" появлявшиеся в последовательности версий 4.1BSD. Из которых главнейшими были протокол TCP/IP и новая файловая система FFS (Fast File System). Это и обусловило новизну и своеобразие системы, предопределившей развитие линии BSD на многие годы вперёд.

О значении TCP/IP много говорить не приходится: если вы читаете эти строки, значит, тем или иным образом имеете доступ в Интернет. Так вот, без TCP/IP ничего этого не было бы: ни Интернета, ни доступа к нему, ни, тем более, этой главы, материал для которой по крупицам собирался именно в Сетевых источниках.

А чтобы понять значение FFS, достаточно вспомнить особенности исконной для UNIX файловой системы — s5fs с её ограничением на длину имени файла (14 символов) и количеством файлов на разделе (не более 65 тысяч), отсутствием понятий группировки блоков и, напротив, внутренней их фрагментации, — короче говоря, всего того, что пользователю, например, Linux'а представляется присущим файловой системе от века. Так вот, до появления FFS всего этого не было. И все файловые системы современных Unix'ов, как свободных, так и проприетарных, берут свое начало не от s5fs, а от FFS из Беркли, если не прямо, то опосредованно, через развитие заложенных в ней принципов.

Система 4.2BSD не только предопределила направление развития всех последующих представителей BSD-семейства, но и оказала большое влияние на UNIX "чистой линии". Ведь UNIX от AT&T, за которым со временем закрепилось название System V, развивался и в своей Alma Mater, и во многих других компаниях, лицензировавших его, давая немало клонов, оказавших то или иное влияние на систему в целом. Однако они отмирали, сливались, перекрещивались, и имена их ныне помнят только очевидцы событий и особо интересующиеся вопросом. И постепенно реальностью стало существование двух линий развития Unix: System V в её многочисленных реализациях и BSD. Причём, в силу открытости берклианских разработок, достижения 4BSD (протокол TCP/IP, вариации на тему FFS) быстро инкорпорировались и в System V. Так что, начиная с System V Realese 4 (SVR4), говорить от первозданном Unix уже не приходится.

Именно SVR4 легла в основу большинства современных (то есть ныне здравствующих и развивающихся) коммерческих UNIX-систем, таких, как HP-UX фирмы Hewlett-Packard, AIX от IBM, Sun Solaris, SGI IRIX, SCO Unixware (если последнюю еще можно считать живой), не считая некогда передовых, но прекративших свое развитие систем вроде True64 от в Бозе почившей фирмы DEC. В последующем SVR4 оказала влияние и на развитие Linux, хотя, вопреки утверждениям SCO, между ними нет никакого "кровного родства" в виде общего кода.

Линия BSD тоже давала боковые отростки, в том числе и коммерческие. В их числе SunOS — ранняя операционная система для машин одноименной фирмы на процессорах Sparc, позднее заменённая на Solaris от линии SVR4; или A/UX для Macintosh на процессорах Motorolla 68xxx — да, уже встарь были попытки приобщения Mac'ов к миру Unix, нашедшие в конце концов свое воплощение в современной MacOS X, которая также имеет непосредственное отношение к миру BSD-систем.

Отдельным побегом линии BSD стали микроядерные операционки, в первую очередь Mach, разрабатывавшаяся в Университете Карнеги-Меллона, а затем — в университете штата Юта. Некогда она рассматривалась как прообраз операционных систем будущего, однако на практике возлагавшихся на него надежд не оправдала. Сам по себе проект Mach давно прекратил своё развитие, как и все его прямые отпрыски, Yamit и xMach. Но он, в свою очередь, успел дать несколько потомков косвенных.

Во-первых, на микроядре Mach долгое время базировался перманентный долгострой проекта GNU — Hurd, призванный заменить все прочие операционки FOSS. И хотя ныне Mach в нём заменяется на иное микроядро, L4, завершение этого проекта теряется в той же туманной дали, что и светлое коммунистическое будущее всего человечества.

Во-вторых, микроядро Mach использовалось в легендарной системе NEXTStep, сначала на её собственной аппаратной платформе, затем — на платформе x86. Эта система, опередив свое время, также приказала нам всем жить долго, однако оказала очень большое влияние на последующее развитие всей индустрии персональных компьютеров. И во многом послужила прообразом для позднейшей MacOSX, также основанной на Mach и системных сервисах BSD. Правда, назвать MacOSX микроядерной можно только с очень большой натяжкой...

Наконец, принципы, заложенные в микроядре Mach, оказали влияние на форк FreeBSD — DragonFlyBSD, хотя последняя и не является микроядерной в прямом смысле слова. Впрочем, на эту тему я надеюсь еще поговорить позднее.

Пора опять возвращаться к магистральной линии развития BSD. Каковая после выхода 4.2BSD, оказавшейся переломной в развитии этой системы, приобрела плавно поступательный характер. Новые релизы появляются относительно редко: выход 4.3BSD датируется июнем 1986 года, а её последовательных инкарнаций — 4.3BSD-Tahoe и 4.3BSD-Reno — июнем 1988 и началом 1990 года соответственно.

Выход следующего релиза, 4.4BSD, который готовился как квинтэссенция всей предшествующей Берклиады, был запланирован на 1993 год. И действительно произошел почти в установленные сроки. Однако ему суждено было стать и последним в ряду всех систем линии 4.xBSD: потому что в интервале 1990-1993 года произошло несколько событий, которые в своей совокупности изменили весь ход истории BSD-систем. Да пожалуй, что и всей истории операционных систем вообще. А весь этот период можно охарактеризовать как




Страницы: предыдущая :: 1 :: 2 :: 3 :: 4 :: 5 :: 6 :: ... :: 10 :: следующая

Комментарии

Страницы комментариев: 1 :: 2 :: следующая

Алексей Федорчук, Mon Oct 20 01:26:07 2008:
2 аноним, воскресенье, 19 октября 2008 г. 23:26:41:
> Наверное вначале стоило "покопаться" в прилагаемом к самой программе "Emacs FAQ" (неожиданный ход, не правда ли?)
____
Совершенно неожиданный - для того, кто этой программой практически не пользовался и не устанавливал её лет эдак 7-8. В своё оправдание могу только сказать, что 99,9 процентов активных пользователей GNU Emacs и не подозревают о том, что существовали какие-либо иные Emacs'ы :)
аноним, Sun Oct 19 23:26:41 2008:
<<Если Вы Элиар, то похоже, что в чём-то не правы мы оба. Ещё раз покопался в источниках :) >>

Наверное вначале стоило "покопаться" в прилагаемом к самой программе "Emacs FAQ" (неожиданный ход, не правда ли?), где всё это описано, и не только это.
Алексей Федорчук, Sun Oct 19 23:13:32 2008:
2 аноним, воскресенье, 19 октября 2008 г. 21:34:03:
> Да, Вы правы, прошу прощения.
____
Если Вы Элиар, то похоже, что в чём-то не правы мы оба. Ещё раз покопался в источниках :)
Получается примерно так:
первый MIT'овский EMACS - примерно 1975-й год, но он не работал под UNIX'ом
Первый EMACS для UNIX - вроде бы Госслинга, 1981 год
GNU EMACS Столлмен сделал на его основе.
аноним, Sun Oct 19 21:34:03 2008:
Да, Вы правы, прошу прощения.
Алексей Федорчук, Sat Oct 18 21:33:34 2008:
2 Элиар
Вы уверены, что не путаете Emacs и GNU Emacs?
Элиар, Fri Oct 17 13:35:08 2008:
Имакс был начат значительно позже vi (84 против воторой половины семидесятых).

А с Беркли контракт был заключён совсем по другому поводу - они решали другие задачи и должны были интегрировать TCP/IP-стек , разработанный сторонней компанией (сейчас не вспомню название)по заказу той же ДАРПА . Но вместо этого реализовали протоколы сами (протоколы ими не разрабатывались, только реализовались), ибо их самих первая реализация не устраивала.
Об этом есть замечательная лекция МакКьюзика (если уж Кёрк, то фамилия, наверное, так читается?) - "Двадцать лет Berkley Unix: от собственности AT&T до свободного распространения", 31.05.2007, г. Москва
Алексей Федорчук, Wed Oct 15 19:52:24 2008:
2 Uncle_Theodore
Мерси за камент. По поводу гранта и контракта - принято.
Что же до истории...
В книжке "Архитектура и реализация" тот же Керк излагает её чуть иначе. А из изложения Хаббарда вообще картина вырисовывается существенно иная.
Кстати, ни тот, ни другой не злоупотребляют ссылками на роль Фарби...
PS а дапра и misp - не близнецы ли братья из допровской корзинки? :)
PPS а пошто на позикс не заглядываете? Известной нам с Вами персоны там нету :) :)
Uncle_Theodore, Wed Oct 15 18:15:07 2008:
Кстати, про историю взаимоотношений Беркли и Дапры Вы можете почитать у самого МакКузика. http://oreilly.com/catalog/opensources/book/kirkmck.html
Дапра заключила с Беркли контракт -- не грант! это разные вещи!! -- на 18 месяцев в 1980 году. Под этот контракт (а не просто "одновременно с ним" :)) Фарби сформировал CSRG. Когда контракт закончился, Дапра возобновила его еще на два года, увеличив финансирование в пять раз. Но по итогам осталась "скорее недовольной" воплощением TCP/IP стэка в BSD 4.3, и контракт более не возобновляла.

Про американское судопроизводство. Первая фаза судебного разбирательства называется discovery. В ней стороны представляют дело, в основном, друг другу. Делают заявления и стараются вычленить (гыгы) корень противоречий... ;)
Uncle_Theodore, Wed Oct 15 17:36:27 2008:
Не MISP, alv, а MIPS процессор назывался. :)
Дмитрий, Fri Oct 10 08:49:18 2008:
QUOTE Федорчук, ты чо такой дерзкий? (c)

Именно такие красноглазые пионеры и вредят больше всех. Так что _вредительство_ оформлять будем.

Страницы комментариев: 1 :: 2 :: следующая

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds