LINUX.ORG.RU
ФорумTalks

История операционных систем


0

0

Multics (aka MAC)

Итак, все началось в далеком 1965-м... Четыре года компания American Telegraph & Telephone Bell Labs (далее просто Bell Labs) совместно с фирмой General Electric и группой исследователей из Масачусетского технологического института творила проект OS Multics (также именуемый MAC - не путать с MacOS). Целью проекта было создание многопользовательской интерактивной операционной системы, обеспечивающей большое число пользователей удобными и мощными средствами доступа к вычислительным ресурсам. Эта ОСь основывалась на принципах многоуровневой защиты. Виртуальная память имела сегментно-страничную организацию, где с каждым сегментом связывался уровень доступа. Для того чтобы какая-либо программа могла вызвать программу или обратиться к данным, располагающимся в некотором сегменте, требовалось, чтобы уровень выполнения этой программы был не ниже уровня доступа соответствующего сегмента. Интерпретирую: если бы старый добрый Notepad находился в некой файловой/системной Зоне-2 (имеющей уровень доступа 2), а залогинившийся в систему пользователь имел доступ уровня 1, то хрен бы он ее запустил. Соответственно, сисадмин имел доступ ко всем сегментам. Также впервые в Multics была реализована полностью централизованная файловая система. То есть, даже если файлы находятся на разных физических устройствах, логически они как бы присутствуют на одном диске. В директории же указан не сам файл, а лишь линк на его физическое местонахождение. Если вдруг файла там не оказывается, умная система просит вставить соответствующий девайс. Помимо этого, в Multics наличествовал большой объем виртуальной памяти, что позволяло делать имэйджи файлов из внешней памяти в виртуальную.

Увы, но все попытки наладить в системе относительно дружественный интерфейс провалились. Было вложено много денег, а результат был несколько иной, нежели хотелось бонзам из Bell Labs. Проект был закрыт. Кстати, участниками проекта значились Кен Томпсон и Денис Ритчи, о которых мы еще вспомним.

anonymous

UNICS (aka UNIX) и семейство

Считается, что в появлении Юниксоидов и Юникса в частности виновата... компьютерная игра (да, Шурик Сидоровский, именно так!). Дело в том, что Кен Томпсон непонятно чего ради создал игрушку . Он написал ее в 1969 году на компе Honeywell 635, который использовался для разработки Multics. Но фишка в том, что ни вышеупомянутый Honeywell, ни имевшийся в лаборатории General Electric 645 не подходили для игрушки. И Кену пришлось найти другую ЭВМку - 18-разрядный компьютер PDP-7. По ходу дела Кен с ребятами разрабатывал новую файловую систему, дабы облегчить себе жизнь и работу. Ну и решил, раз уж пошла такая пьянка, опробовать свое изобретение на новенькой машине. Опробовал. Просто на ура. Весь отдел патентов Bell Labs дружно радовался. Томпсону этого показалось мало и он начал ее усовершенствовать, включив такие примочки: понятие inodes, подсистему управления процессами и памятью, обеспечивающую использование системы двумя пользователями в режиме TimeSharing`а (разделения времени) и простой командный интерпретатор. Кен даже разработал несколько утилит под систему. Собственно, сотрудники Кена еще помнили, как они мучались над осью Multics, поэтому в честь старых заслуг один из НИХ - Брайан Керниган - решил назвать ее похожим именем - UNICS (Uniplexed Information and Computing System). Через некоторое время название сократили до UNIX (читается так же, просто писать лишнюю букву Настоящим Программистам во все времена было лень). Но, к сожалению, изобретение, как это часто бывает, уперлось в трудности материального плана. Во-первых, PDP-7 было арендовано отделом, а не куплено, и рано или поздно пришлось бы его отдавать, а во-вторых, операционка разрослась настолько, что системных ресурсов уже старенького по тем временам компьютера ей не хватало. Поэтому в 1971 году Кен с ребятами скинулись и купили более совершенный Digital Equipment PDP-11/20, на который и перенесли свою последнюю модификацию UNIX. Если учесть, что ОС была написана на ассемблере, а физически взять и перенести весь этот код было невозможно, ты можешь себе представить, сколько времени бедный Томпсон с друзьями писал эту чертову систему. Зато PDP-11 без проблем поддерживала большое количество залогинившихся пользователей, да к тому же позволила, наконец, написать простенький интерпретатор текстового процессора.

anonymous
()

Вот мы и подбираемся к тому, что известно в мире как <Первая редакция UNIX>. В ноябре 1971 года был опубликован первый выпуск полноценной доки по Юниксу. В соответствии с этим и ОСь была названа <Первой редакцией UNIX>. Вторая редакция вышла довольно быстро - меньше, чем через год. Система была полностью переписана на язык B, созданный Томпсоном под влиянием существовавшего тогда BCPL. Также появились программные каналы (). Третья редакция ничем особенным не отличалась. Разве что заставила Дениса Ритчи <засесть за словари не за страх, а за совесть>, вследствие чего тот написал собственный язык, известный сейчас как C. Он позволял расширить функции своего предшественника - B, и именно на нем была написана четвертая редакция UNIX в 1973 году.

В июле 1974 года в журнале Communications of the ACM появилась статья , которой заинтересовалось огромное количество народу. А учитывая, что компания Bell Labs, которая не планировала производство системы, разрешила бесплатно распространять исходники Юникса (<вы платите только за носитель и документацию>), то UNIX, что называется, пошел в народ...

anonymous
()

Одной из организаций, серьезно заинтересовавшихся этой осью и первой получившей <Пятую редакцию UNIX> был Калифорнийский университет города Беркли, в котором учился юноша по имени Билл Джой, будущий создатель BSD и основатель Sun Microsystems...

Выпьем пивка (<Клина> или <Мельника> - мне в связи с <Клинское-пати> стало уже по барабану) за здоровье Билла Джоя - если бы не он, фиг вам, а не <фряшная бздя>.

<Шестая редакция UNIX> (aka UNIX V6), выпущенная в 1975 году, стала первым коммерчески распространяемым Юниксом. Большая ее часть была написана на С, но увы, переносить систему на компьютеры с архитектурой принципиальной отличной от PDP`шной было весьма затруднительно. Затруднительно, но возможно.

Первый перенос был осуществлен в 1977 году. Абстрагируясь от виртуальности, можно сказать, что это был перенос из Америки в Австралию, потому что в Университете Воллонгонга, что на материке кенгуру и бумерангов, работал завкафедрой Джюрис Рейндфельдс, которого серьезно протащило от шестой редакции. Но так как позволить себе PDP-11 компьютерная кафедра универа не могла, пришлось закупать более дешевый 32-битный компьютер Interdata 7/32. Родная ОСь компа OSMT/32 не обладала нужными мультиюзерскими возможностями, поэтому пришлось профессору заняться переносом UNIX V6, заказав в Университете Беркли кучу исходников на магнитных лентах. Ему в этом поспособствовал Ричард Миллер, который к январю создал компилятор С, что и позволило в середине февраля 1977 года получить свой вариант UNIX, работавший на Интердате.

anonymous
()
Ответ на: комментарий от anonymous

Домашнее задание: попробуй перенести Windows 98 SE на компьютеры Power Macintosh, дабы прочувствовать вкус крови и пота, сошедших с Миллера и Рейндфельдса.

Миллеровский Юниксоид работал скорее как операционная среда, ставящаяся поверх OSMT/32. Куча функций, имеющихся в <шестерке>, отсутствовала. Но это, как ни крути, был первый блин, и был он не таким уж и комом.

Миллер отправился в Bell Labs и наглядно разъяснил Кену Томпсону & Co, сколь он крут. Кен пошарил по округе, наткнулся на свежекупленный Interdata 8/32, по архитектуре схожий с замученным компьютером Университета Воллонгонга. Денис сказал: <ОК, переносим <шестерку> на Интердату>, и работа закипела. Для начала был расширен язык С, в систему которого были добавлены типы union, short integer, long integer и unsigned integer, дабы использовать особенности 32-битной архитектуры. Помимо прочего, появились средства инициализации переменных, битовые поля, макросы и средства условной компиляции, регистровые и глобальные переменные. Много позже Денис и Кен написали книгу <Язык программирования Си>, в котором конкретно и четко расписали 32-битную вариацию своего детища.

Увы, но и здесь встали препятствия. Юникс слишком привык к PDP-11, и Денису пришлось полностью переписать подсистему управления оперативной и виртуальной памятью, заодно изменив интерфейс драйверов внешних устройств. Все это позволило сделать систему легко переносимой на другие архитектуры и было названо <Седьмая редакция> (aka Unix Version 7). Помимо прочего, в дистрибутив системы входил компилятор для портации ОС на другие архитектуры, а также набор новых драйверов.

anonymous
()

Параллельно с улучшением Юникса шла разработка системы, известной нам как (Free)BSD. Когда в 1976 году в Университет Беркли попала <шестерка>, там возникли местные юникс-гуру. Одним из них был Билл Джой.

Собрав своих друзей-программистов, Билли начал разработку собственной системы на ядре UNIX. Запихнув помимо основных функций кучу своих (включая компилятор Паскаля), он назвал всю эту сборную солянку Berkeley Software Distribution (BSD 1.0). Вторая версия BSD носила в себе попытки изнасилования (то есть частичной перезаписи ядра системы). Третья версия BSD основывалась на переносе UNIX Version 7 на компьютеры семейства VAX, что дало систему 32/V, легшую в основу BSD 3.x. Ну, и самое главное - при этом был разработан стек протоколов TCP/IP; разработка финансировалась МинБезопасности США.

Начиная с версии 4.1 (1980 год) Berkeley Software Distribution распространялась практически бесплатно - сначала среди пользователей, обладавших лицензией Bell Labs, а позже, переименовавшись в FreeBSD, и вовсе для всех на халяву.

Позже, в 1982-м Билл Джой основал Sun Microsystems, забрал себе исходники платной версии BSD и начал делать SunOS, которая в 1990-х мутировала в Solaris. Отдельные версии Solaris сейчас распространяются бесплатно.

UNIX: 1982 - 1990

Первая коммерческая система называлась UNIX System III и вышла она в 1982 году. В этой операционке сочетались лучшие качества UNIX Version 7, V/32 и других вариантов UNIX, имевших хождение в Bell Labs.

anonymous
()

Далее Юниксы развивались примерно так:

Во-первых, появились компании, занимавшиеся коммерческим переносом UNIX на другие платформы. К этому приложила руку и небезызвестная Microsoft Corporation, совместно с Santa Cruz Operation произведшая на свет UNIX-вариацию под названием XENIX.

Во-вторых, Bell Labs создала группу по развитию Юникса и объявила о том, что все последующие коммерческие версии Unix (начиная с System V) будут совместимы с предыдущими.

К 1984-му году (Оруэлл тут ни при чем, но все равно звучит жутковато) был выпущен второй релиз UNIX System V, в котором появились: возможности блокировок файлов и записей, копирования совместно используемых страниц оперативной памяти при попытке записи (copy-on-write), страничного замещения оперативной памяти (реализованного иначе, нежели в BSD) и т. д. К этому времени ОС UNIX была установлена на более чем 100 тыс. компьютеров.

В 1987-м году выпущен третий релиз UNIX System V. Было зарегистрировано четыре с половиной миллиона пользователей этой эпической операционной системы...

Кстати, что касается твоего любимого пингвиноидного Linux`а, то он возник лишь в 1990 году, а первая официальная версия ОС вышла лишь в октябре 1991. Как и BSD, Линукс распространялся с исходниками, чтобы любой пользователь мог настроить ее себе так, как ему хочется. Настраивалось практически ВСЕ, чего не может себе позволить, например, Windows 9x.

anonymous
()
Ответ на: комментарий от anonymous

- Вчера вот новую дурь попробовал, ctrl+v называется :)))

- Ну и как???

- Вставляет :)))

gr_buza ★★★★
()
Ответ на: комментарий от anonymous

Хватит уже статьи из клоакера драть!

anonymous
()
Ответ на: комментарий от anonymous

"Начиная с версии 4.1 (1980 год) Berkeley Software Distribution распространялась практически бесплатно - сначала среди пользователей, обладавших лицензией Bell Labs, а позже, переименовавшись в FreeBSD, и вовсе для всех на халяву. "

скорее не переименовался, а возник в году так в 199-каком-то

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.