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

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

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

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

Desktop
Internet
Internet-серверы
Безопасность
Бизнес/Офис
Игры
Мультимедиа
Наука
Операционные системы
Программирование
СУБД
Создание веб-сайтов
Утилиты

Статьи

Дискуссионный клуб
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. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Движение Open Source :: История

Свободная система для свободных людей

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

Что было, когда Linux еще не было

Рождение Unix

Давайте не будем начинать наш обзор с появления первых компьютеров и их операционных систем – так можно забраться слишком далеко. Но о двух операционных системах, Unix и Windows, упомянуть необходимо. Первая из них является прямым предшественником Linux, а вторая – ее постоянным конкурентом. О Windows мы поговорим чуть позже, а пока несколько слов об истории Unix.

История Unix началась в 1969 году в США в фирме Bell Laboratories, дочернем подразделении компании AT&T. В те времена идея разделения времени ЦП еще только разрабатывалась и Bell Laboratories совместно с фирмой General Electric и Массачусетским технологическим институтом с 1965 года занимались созданием операционной системы MULTICS (MULTiplexed Information and Computing System) для ЭВМ GE 645. Эта система должна была обеспечить одновременный доступ к ресурсам ЭВМ большого количества пользователей при высокой скорости вычислений и совместном использовании данных. И это при мощности центрального процессора только чуть большей, чем у PC на основе Intel-386! Но в то время программисты умели писать маленькие по объему, но очень эффективные программы.

Хотя первая версия системы Multics и была запущена в 1969 году, она не обеспечивала достижения поставленных перед нею амбициозных целей, поэтому фирма Bell Laboratories и GE прекратили разработку проекта [М.Бах]. Впрочем, МТИ продолжал разработку системы MULTICS и даже продал около 80 инсталляций этой системы, причем некоторые из них использовались вплоть до начала 90-х годов. Несмотря на то, что MULTICS не принесла разработчикам коммерческого успеха, этот проект оказал огромное влияние на последующее развитие операционных систем вообще и послужил прообразом для операционной системы Unix.
Tompson. Ritchi.
Рис. 1. К.Томпсон и Д.Ричи.

По окончании работы над проектом Multics сотрудники Исследовательского центра по информатике фирмы Bell Laboratories остались без "достаточно интерактивного вычислительного средства". В начале лета 1969 года группа молодых сотрудников Bell Labs, участвовавших в разработке MULTICS, Руд Кенедей (Rudd Canaday), Дуг Мак-Илрой (Doug McIlroy), Дэннис Ричи (Dennis Ritchie) и Кен Томпсон (Ken Thompson) подробно обсудили, что можно сделать для спасения некоторых идей, связанных с проектом MULTICS [R.Hauben]. Они набросали на бумаге проект файловой системы, получивший позднее дальнейшее развитие в ранней версии файловой системы UNIX. Томпсоном были написаны программы, имитирующие поведение предложенной файловой системы в режиме подкачки данных по запросу, им было даже создано простейшее ядро операционной системы для ЭВМ GE 645. В то же время он написал на Фортране игровую программу "Space Travel" для системы GECOS, которую после прекращения работ над проектом MULTICS стало не на чем запускать.

К счастью, Томпсон обнаружил малоиспользуемый компьютер PDP-7. Перерабатывая свою программу для PDP-7, Томпсон изучил возможности машины и совместно с Денисом Ричи (Dennis Ritchie) разработал свою систему управления процессами, свою версию файловой системы и небольшой набор утилит. В конце концов новая система не нуждалась больше в поддержке другой операционной среды. Вспомогательные утилиты, которые Томпсон и Ричи написали для обеспечения возможности запуска игры на PDP-7, стали ядром Unix, хотя это название не использовалось до 1970 года. Питер Нейман (Peter Neumann) по аналогии с MILTICS назвал новую ОС “UNICS” (UNiplexed Information and Computing Service). Неизвестно, кто изменил написание названия системы на UNIX, затем и на более привычное Unix.
The PDP-7.
Рис. 2. Мини-компьютер PDP-7.
18-разрядный компьютер. Цикл обращения к памяти - 1.75 микросекунды, время выполнения операции сложения - 4 микросекунды. Снабжен клавиатурой, принтером и ленточным дисководом DECtape (type 555).

Первоначально новая ОС была написана на языке ассемблера для PDP-7 (в те времена все ОС писались для конкретных компьютеров на машино-зависимых языках). Для того, чтобы достичь переносимости и независимости операционой системы от архитектуры конкретной аппаратной платформы, Томпсон разработал специальный язык программирования, который он назвал языком B ("Би"). На этом языке он хотел переписать большую часть ОС. Это покажется еще более удивительным, если сказать, что суммарный объем RAM и жесткого диска у PDP-7 был меньше, чем объем оперативной пямяти сегодняшнего сотового телефона; большие диски в те дни имели объем менее мегабайта.

Язык B позже был переработан Денисом Ричи в язык программирования C ("Си").

Работы по созданию Unix велись фактически без ведома руководства фирмы Bell Laboratories, под предлогом (или под прикрытием) разработки системы обработки текстов для патентного департамента AT&T. Томпсон написал строчный редактор (названный ed), Ричи создал программу roff, основанную на программе runoff Дж. Салцера (J. Saltzer). Отдел патентов компании Bell Labs был удовлетворен. Разработка этого проекта позволила оправдать приобретение более совершенного компьютера - PDP-11, для которого система была переписана заново. Вторая версия Unix, на этот раз для компьютера PDP-11, появилась в 1971 году и была уже большей частью написана на C. Это было одно из тех радикальных решений, которые превратили Unix в открытую систему, каковой она сегодня является. До сих пор большинство операционных систем пишется на этом языке (за исключением тех частей, которые существенно зависят от аппаратуры и пишутся на языке ассемблера для конкретного процессора). Правда, это уже не тот самый диалект языка C, а его более современная модификация, ANSI C.

Разработка собственно операционной системы велась, практически, на чистом энтузиазме. Как позже писал один из участников этой работы, Дуг Мак-Илрой: “ Готовность прислушаться к мнению окружающих и желание заслужить уважение в коллективе приводили к тому, что огромное количество написанного кода могло быть переписано или просто выброшено, если появлялись лучшие или более глубокие идеи. Профессиональное соперничество и утаивание своих достижений практически не встречались: было так много хороших событий, что ни у кого не было стремления единолично завладеть какой-то инновацией”.

Между 1970 и 1972 годами систему улучшали, в нее добавили много новых функций. Но использование системы Unix было ограничено подразделениями компании AT&T в Нью-Джерси до тех пор, пока Нейл Граундвотер (Neil Groundwater) не установил систему Unix в компании New York Telephone в Манхеттене, использовав при этом систему PDP-11/20, 56 Кбайт оперативной памяти и два жестких диска RK11/05 объемом 2,4 Мбайт. В течение следующего года все больше и больше членов вычислительного сообщества узнавали об операционной системе Unix, и многие запрашивали данную систему.

Даже на ранних стадиях своего развития операционная система Unix обеспечивала значительно более удобную среду программирования, чем те, которые существовали на любых известных в ту пору мейнфреймах. Она была первой системой, в которой программист мог сидеть непосредственно за машиной, и создавать программы "на лету", исследуя разные возможности и тестируя варианты во время компиляции. Кроме того, в ней с самого начала были заложены средства коммуникации. Ричи писал: “Мы хотели сохранить не только хорошую среду программирования, в которой можно было решать задачи, но и систему, вокруг которой могло сформироваться товарищество. Мы по опыту знали, что сущностью совместного использования компьютера (the essence of communal computing) является не только замена перфокарточного ввода на терминал, но и предоставление средств и стимулов для более тесного общения, реализуемого средствами удаленного доступа к машине, работающей в режиме разделения времени.” Идея о том, что компьютер должен рассматриваться не только как простое логическое устройство, но и как ядро некоего сообщества, носилась в воздухе: примерно в это же время (в 1969 году) была изобретена ARPANET - прямой предшественник нынешней Internet.

В феврале 1973 года существовало 16 установленных систем Unix. В октябре того же года Д. Ричи и К. Томпсон организовали первую презентацию "Операционной системы Unix" на симпозиуме ACM (Association for Computing Machinery) по операционным системам, после чего в течение шести месяцев число установленных систем Unix утроилось.

В июле 1974 года в журнале Communications of the ACM (CACM) появилась первая публикация о Unix. В ней Ричи и Томпсон описывали беспрецедентно простое устройство Unix и сообщали о более чем шестистах инсталляциях этой системы. Все эти инсталляции были осуществлены на компьютеры, которые считались слабыми даже по стандартам тех дней.

В мае 1974, еще до публикации статьи, Лоу Кац (Lou Kats), Мел Ференц (Mel Ferentz) и Рейдар Бонхолт (Reidar Bornholt) организовали первую встречу пользователей системы Unix в медицинском колледже Колумбийского университета (Columbia University's College of Physicians and Surgeons). На встрече присутствовало примерно двадцать пять человек из дюжины учреждений. Вторую встречу, в июне 1975 года, посетило уже свыше 40 человек из 20 учреждений. Использование системы Unix постоянно росло, несмотря на отсутствие интереса и поддержки со стороны компании AT&T.

В 1971 году Дуг Мак-Илрой настоял на том, чтобы Д. Ричи и К. Томпсон написали руководство программиста. Поскольку система Unix постоянно изменялась, версии этой системы стали называть именно по этим руководствам пользователя: первое издание - 3 ноября 1971 года (V1), второе издание - 12 июня 1972 года (V2), третье издание - февраль 1973 года (V3), четвертое издание - ноябрь 1973 года (V4), пятое издание - июнь 1974 года (V5), шестое издание - май 1975 года (V6), седьмое издание - январь 1979 года (V7), восьмое издание - февраль 1985 года, девятое издание - сентябрь 1986 года и десятое издание - октябрь 1989 года.

После статьи в CACM исследовательские лаборатории и университеты по всему миру проявили интерес к Unix. Но корпорации AT&T (которая был родительской организацией по отношению к Bell Labs) на основании антитрестовского законодательства запрещалось заниматься компьютерным бизнесом. Поэтому Unix не могла продаваться; более того, Bell Labs должна была предоставить лицензию на свои нетелефонные технологии любому, кто ее об этом просил. Поэтому Кен Томпсон в ответ на поступающие запросы спокойно рассылал адресатам ленты и наборы дисков со своей операционой системой. В результате многие университеты внесли свой вклад в развитие Unix. В Йельском университете студенты и преподаватели модифицировали оболочку (shell), в университете Пэрдью (Purdue) добились существенного увеличения производительности, создав версию Unix, которая поддерживала большее число пользователей. В том же университете создали одну из первых компьютерных сетей на основе Unix. В Калифорнийском университете в Беркли студенты создали новую оболочку и множество небольших утилит.

Калифонийский университет в Беркли вообще сыграл особую роль в развитии Unix. Профессор Роберт Фабри (Robert Fabry) из этого университета принимал участие в программе симпозиума SOSP (Symposium on Operating Systems Principles) и был очарован презентацией Томпсона. Он собрал достаточно средств для приобретения PDP-11/45 и в январе 1974 года установил систему Unix. В 1975 году тот же университет заказывает PDP-11/70. В 1974-75 учебном году Кен Томпсон во время своего годичного отпуска читает курс лекций в Калифорнийском университете. Здесь тогда работали два аспиранта - Чак Хели (Chuck Haley) и Билл Джой (Bill Joy). Они были очарованы придуманной Томпсоном модификацией языка Pascal; Pascal Томпсона мог работать в операционной системе Unix. Джой написал строчный редактор, который был "добрее к пользователю", чем редактор ed. Редактор Джоя получил название ex, и стал прообразом очень популярного впоследствии экранного редактора vi.

В начале 1978 года, после нескольких заявок, полученных отделом разработок университета, Джой начал работу по созданию собственной версии Unix, которая получила название BSD (Berkeley Software Distribution). Первая лента (360 метров, 800 бит на дюйм, стоимостью примерно $50), содержала систему Pascal для Unix и текстовый редактор ex; было распространено около 30 копий. До конца 1978 года распространялся другой пакет - 2BSD; отправлено около 75 копий. К 1980 году Беркли был центром небольшой сети университетов, активно развивающих свой вариант Unix. Идеи и части кода из Беркли-Unix (включая редактор vi) были затем использованы и в разработках Bell Labs. Приблизительно в то же время компания Interactive Systems, организованная Питером Вэйнером (Peter Weiner) и Гейнцем Ликлама (Hienz Lycklama), выпускает первую коммерческую систему Unix, а компания Whitesmiths (P. J. Plauger) создает первый клон системы Unix, названный Idris.

В 1979 году появилась "последняя настоящая Unix", имевшая номер V7. Она включала команды awk, make и uucp; полные компиляторы языка С, сделанные Б. Керниганом и Д. Ричи; оболочку Bourne; команды find и cpio и многое другое. При этом размер ядра составлял около 40 Кбайт! Версия 7 также дала начало первой 32-разрядной версии системы Unix и демонстрации переносимости: Дэннис Ричи и Стив Джонсон (Steve Johnson) из компании AT&T перенесли ее в систему Interdata, а группа программистов из австралийского университета University of Wollongong перенесла ее на систему Interdata 8.

Правда, производительность версии 7 была хуже, чем в системе шестого издания. Но в университете Беркли (и других местах в США) и в Австралии занялись решением этой проблемы, и в январе 1982 года Том Феррин (Tom Ferrin) объявил о многочисленных усовершенствованиях и выпуске в свет модели 2.8.1BSD.

В 1980 году агентству DARPA (the Defense Advanced Research Projects Agency) потребовалась команда разработчиков для реализации только что разработанного стека протоколов TCP/IP под Unix на компьютере VAX. Компьютеры PDP-10, на которых в то время базировалась сеть ARPANET, уже исчерпали свой ресурс, и было ясно, что фирма DEC будет вынуждена перейти на VAX. DARPA рассматривало возможность заключить контракт с DEC на реализацию TCP/IP, но отказалось от этой идеи, потому что было убеждено, что DEC не сможет пойти на внесение требуемых изменений в свою проприетарную операционную систему VAX/VMS. Поэтому DARPA выбрала в качестве платформы Berkeley Unix — исключительно по той причине, что ее исходный код был доступен и неперегружен. Исследовательская группа по компьютерным наукам университета в Беркли (Berkeley's Computer Science Research Group) оказалась в нужном месте в нужное время с самым лучшим набором инструментов для разработки; в результате произошел самый значительный поворот в истории Unix с момента ее возникновения.

Когда систему Unix признали самой предпочтительной для новой Internet, это усилило ее использование. Компания AT&T произвела на свет операционную систему Programmer's Workbench (рабочее место программиста), а затем System III Unix. Тем временем из Беркли начинают распространяться версии 4BSD (октябрь 1980); 4.1BSD (июнь 1981); 4.1а, 4.1b и 4.1c (1982-1983); 4.2BSD (сентябрь 1983). Эта последняя версия была действительно сильно переработанной системой. Она включала работу с сетью (протокол TCP/IP), более быструю файловую систему и возможность использования сигналов.

До тех пор, пока реализация протоколов TCP/IP не появилась в 1983 году в версии 4.2BSD, Unix имел очень слабую сетевую поддержку. Ранние эксперименты с Ethernet были неудовлетворительными. Все изменилось после реализации стека протоколов TCP/IP. Только после того, как ARPANET и Unix нашли друг друга, начали реализовываться идеи Д.Ричи о том, что компьютер должен быть не только вычислительной установкой, но средством общения. До применения Unix в ARPANET круг этого общения ограничивался пользователями одного компьютерного центра. После реализации TCP/IP горизонты общения существенно расширились.

К 1983 году машины VAX под управлением Unix заняли доминирующее положение среди ЭВМ, подключенных к Интернет. Это положение они занимали вплоть до тех пор, пока не были потеснены рабочими станциями от Sun.




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

Комментарии

аноним, Sun Dec 13 13:09:43 2009:
Виндовс - говно, линукс - ОС будушего. Это легко понять если сравнить например Windows 3.1 и Ubuntu 9.10. Кто это не понимает просто быдло!
аноним, Sun Dec 13 03:49:50 2009:
Хмм удивительно то что MS когда-то раздавали шрифты.
Я считал что они пожизни были пропиетарны и распространялись строго в составе дистрибутивов.
Кстати как вспомню какие корявым был набор шрифтов
в майкрософтовском офисе 2.0 - это ж просто уму
не постижимо...
Виктор Коновалов, Sun Dec 13 03:46:27 2009:
Ах, по сабжу. Статья вобщем полезная и для новичков
интересная. Мне действительно жаль, что фанатизм помешает многим правильно понять её.
Виктор Коновалов, Sun Dec 13 03:44:19 2009:
О... новый повод для знатного срача. Господи,
ну когда этот идиотизм закончится?
аноним, Sun Dec 13 02:56:56 2009:
Что было, когда Linux еще не было

не было красноглазия
аноним, Sun Dec 13 01:13:34 2009:
В осле полным полно книг.
аноним, Sun Dec 13 00:31:13 2009:
а скачать книги эти где можно???

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

Новости:

Все новости на 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