Семейство операционных систем UNIX
UNIX является исключительно удачным примером реализации простой мультипрограммной и многопользовательской операционной системы. В свое время она проектировалась как инструментальная среда для разработки программного обеспечения. Своей уникальностью система UNIX обязана во многом тому обстоятельству, что была, по сути, создана всего двумя разработчиками, которые делали ее исключительно для себя и первое время использовали на мини-ЭВМ с очень скромными вычислительными ресурсами PDP-7.
Создателями UNIX являются Кен Томпсон и Денис Ритчи. В своей операционной системе они учли опыт работы над проектом сложной мультизадачной операционной системы с разделением времени MULTICS (MULTiplexed Information and Computing Service). Название новой системы UNIX произошло от аббревиатуры UNICS (Uniplexed Information and Computing Service). Позднее Ритчи описывал эту аббревиатуру как «слегка изменнический каламбур на слово MULTICS».
Первая версия этой системы занимала всего около 12 Кбайт и могла работать на компьютерах с очень небольшим объемом оперативной памяти.
Первой реальной задачей UNIX в 1971 году была поддержка того, что в наши дни назвали бы текстовым процессором, для патентного департамента Bell Laboratories (Кен Томпсон был сотрудником Bell Laboratories). Этот проект оправдывал приобретение гораздо более мощного мини-компьютера PDP-11. Руководство оставалось в счастливом неведении о том, что система обработки текста, которую создавали Томпсон и его коллеги, была инкубатором для операционной системы. Операционные системы не входили в планы Bell Laboratories – AT&T присоединилась к консорциуму MULTICS именно для того, чтобы избежать разработки собственной операционной системы.
Первоначально операционная система UNIX была написана на ассемблере, а ее приложения – на «смеси» ассемблера и интерпретируемого языка, который назывался «В». Его преимущество заключалось в том, что он был достаточно мал для работы на компьютерах PDP-7. Однако язык «В» был недостаточно мощным для системного программирования, поэтому Денис Ритчи добавил в него типы данных и структуры, в результате чего появился язык «С». Это произошло в начале 1971 года. А в 1973 году Томпсон и Ритчи переписали UNIX на новом языке. Это был весьма смелый шаг. В то время для того, чтобы получить максимальную производительность аппаратного обеспечения, системное программирование осуществлялось на ассемблере, и сама концепция переносимой операционной системы представлялась весьма сомнительной. Только в 1979 году Ритчи смог написать: «Кажется бесспорным, что в основном успех UNIX обусловлен читаемостью, редактируемостью и переносимостью ее программного обеспечения, причем, такие позитивные характеристики, в свою очередь, являются следствием ее написания на языках высокого уровня».
Первой целью при разработке системы UNIX было стремление сохранить простоту и обойтись минимальным количеством функций. Второй целью была общность (начало названия системы «Uni-» можно перевести как «общий» или «единый»). Одни и те же методы и механизмы должны были использоваться во многих случаях:
· обращения к файлам, устройствам ввода-вывода и буферам межпроцессорных сообщений выполняются с помощью одних и тех же примитивов;
· одни и те же механизмы именования, присвоения альтернативных имен и защиты от несанкционированного доступа применяются и к файлам с данными, и к каталогам, и к устройствам;
· одни и те же механизмы работают в отношении программно и аппаратно инициируемых прерываний.
Третья цель заключалась в том, чтобы сложные задачи можно было решать, комбинируя существующие небольшие программы, а не разрабатывая их заново.
Наконец, четвертая цель состояла в создании мультитерминальной операционной системы с эффективными механизмами разделения не только процессорного времени, но и всех остальных ресурсов. В мультитерминальной ОС на одно из первых мест по значимости выходят вопросы защиты одних вычислительных процессов от вмешательства других вычислительных процессов.
В операционной системе UNIX имеется несколько унифицирующих идей или метафор, которые формируют ее API-интерфейсы и определяемый ими стиль разработки. Наиболее важными из них является модель, согласно которой «каждый объект является файлом», и метафора каналов (pipes). Канал представляет собой способ соединения вывода одной программы с вводом другой.
Специалисты, относящиеся к UNIX-сообществу, утверждают, что философия этой операционной системы сводится к одному железному правилу, священному «принципу KISS»: «Keep It Simple, Stupid!». По-русски это можно перевести так: «Будь проще, тупица!»
Хотя система UNIX появилась еще в 1969 году, она существует и поныне. Какие недостатки конкурентов оставили их в проигрыше?
Наиболее очевидной общей проблемой является неспособность к переносу на другие платформы. Большинство конкурентов UNIX, появившихся до 1980 года, были привязаны к какой-либо одной аппаратной платформе и исчезли вместе с ней. Единственной причиной того, что VMS просуществовала достаточно долго для того, чтобы рассматриваться здесь в качестве учебного примера, является то, что она была успешно перенесена с ее первоначального аппаратного обеспечения VAX на процессор Alpha (а в 2003 году – с Alpha на Itanium). MacOS была успешно перенесена с микросхем Motorola 68000 на Power PC в конце 80-х годов прошлого века. Операционная система Microsoft Windows избежала данной проблемы, оказавшись в нужном месте, когда стремление превратить программное обеспечение в продукт массового потребления привело к заполнению рынка универсальными компьютерами монокультуры PC.
С 1980 года все более проявляется другой недостаток, характерный для различных операционных систем: неспособность обеспечить изящную поддержку сети. В мире распространяющихся сетей даже операционная система, спроектированная для однопользовательской работы, нуждается в многопользовательских средствах (множество групп привилегий), поскольку без таких средств любая сетевая транзакция, которая способна обманным путем вынудить пользователя запустить злонамеренный код, может разрушить всю систему.
Windows, имея серьезные недостатки в данных областях, избегает упадка только благодаря тому, что она получила монопольное положение еще до того, как сетевое взаимодействие стало действительно важным, а также благодаря множеству пользователей, которые в силу определенных условий вынуждены принимать как должное аварийные отказы и бреши в системе безопасности. Данную ситуацию нельзя назвать стабильной. Сторонники Linux успешно ее использовали в 2003 году для того, чтобы проникнуть на рынок серверных операционных систем.
Дата добавления: 2014-12-13; просмотров: 1091;