Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Соболь Информатика.docx
Скачиваний:
294
Добавлен:
28.03.2015
Размер:
585.72 Кб
Скачать

Version 7 (по номеру издания руководства программиста) стала

первой переносимой на другие платформы версией операционной

системы UNIX. На Version 7 выросло целое поколение студентов,

которые содействовали распространению UNIX. К середине 80-х гг. ОС

UNIX широко применялась на мини-компьютерах и рабочих

станциях различных производителей. Многие компании даже приобрели

лицензии на исходные тексты, чтобы производить свои версии

системы UNIX. Одной из таких компаний была небольшая начинающая

фирма Microsoft, в течение нескольких лет продававшая Version 7 под

именем XENIX, пока ее интересы не повернулись в другую сторону.

Для того, чтобы система UNIX могла быть гарантированно

запущена на любой машине, к концу 80-х при содействии Совета по

стандартам Standard Boards при Институте инженеров по

электротехнике и электронике ШЕЕ была предпринята попытка объединить

варианты системы. В этой работе приняли участие сотни людей из

промышленных, академических и правительственных организаций.

Коллективное название проекта — POSIX. Первые три буквы этого

сокращения означали Portable Operating System — переносимая

операционная система. Буквы IX были добавлены, чтобы имя проекта

выглядело юниксообразно. Комитет POSIX выработал стандарт,

известный как 1003.1. Этот стандарт определяет набор библиотечных

155

процедур, которые должна предоставлять каждая соответствующая

данному стандарту система UNIX, таким образом, гарантируя, что эта

программа будет работать на любой версии системы,

поддерживающей данный стандарт.

В 1991 г. финский студент Линус Торвальдс написал еще один

клон системы UNIX, который назвал Linux. Это должна была быть

полноценная операционная система, со многими функциями,

отсутствующими в системе MINIX. Она заимствовала некоторые идеи

системы MINIX, начиная со структуры дерева исходных текстов и

кончая структурой файловой системы. Однако, в отличие от

микроядерной системы MINIX, Linux была монолитной системой, т.е. вся

ОС помещалась в ядре. Размер исходного текста приблизительно

совпадал с версией MINIX. Функционально первая версия Linux

также практически почти не отличалась от MINIX.

Операционная система Linux быстро росла в размерах и

впоследствии развилась в полноценный клон UNIX с виртуальной

памятью, более сложной файловой системой и многими другими

добавленными функциями. Она была перенесена на другие платформы

и теперь работает на широком спектре машин, как и UNIX.

Следующим выпуском системы Linux была версия 1.0,

появившаяся в 1994 г. Она включала новую файловую систему,

отображение файлов на адресное пространство памяти и совместимое с UNIX

сетевое программное обеспечение. Данная версия также включала

многие новые драйверы устройств.

К этому времени ОС Linux стала достаточно совместимой с

UNIX, поэтому в нее было перенесено большое количество

программного обеспечения UNIX, что значительно увеличило полезность

этой системы. Кроме того, операционная система Linux привлекла

большое количество людей, которые начали работу над ее

совершенствованием и расширением.

Следующая версия — 2.0, вышла в 1996 г. Она включала в себя

поддержку 64-разрядной архитектуры, симметричной

многозадачности, новых сетевых протоколов и прочих многочисленных функций.

Система также содержала внушительную коллекцию различных

драйверов устройств.

Необычной особенностью Linux является ее бизнес-модель: это

свободно распространяющееся программное обеспечение. Ее можно

скачать с различных Internet-сайтов, например www.kernel.org. Сис-

156

тема Linux поставляется вместе с лицензией, разработанной

Ричардом Столманом, основателем Фонда бесплатно распространяемых

программ.

Обзор опероиионной системы UNIX

Операционная система UNIX представляет собой интерактивную

систему, используемую для одновременной поддержки нескольких

процессов и нескольких пользователей. В ОС UNIX есть

достаточное количество средств, позволяющих программистам и совместно

работать, и управлять использованием общей информации.

ОС UNIX предназначена для опытных программистов. Это

мощная и гибкая система. Она характеризуется небольшим количеством

базовых элементов, которые можно комбинировать бесконечным

числом способов, чтобы приспособить их для конкретного

приложения. Одно из основных правил системы UNIX заключается в том, что

каждая программа должна выполнять всего одну функцию, но делать

это хорошо. В системе устранена бесполезная избыточность.

Например, зачем писать сору, когда достаточно ср?

Операционную систему UNIX можно рассматривать в виде

пирамиды (рис. 3.7). У основания пирамиды располагается аппаратное

обеспечение, состоящее из ЦП, памяти, дисков, терминалов и

других устройств. На аппаратном обеспечении работает система UNIX.

Ее функция заключается в управлении аппаратным обеспечением и

предоставлении всем программам системных вызовов. Эти

системные вызовы позволяют программам создавать процессы, файлы и

прочие ресурсы и управлять ими.

Программы обращаются к системным вызовам, помещая

аргументы в регистры ЦП и выполняя команды прерывания для

переключения из пользовательского режима в режим ядра и передачи

управления операционной системе UNIX.

Помимо ОС и библиотеки системных вызовов, все версии UNIX

содержат большое количество стандартных программ, некоторые из

них описываются стандартом POSIX 1003.2, тогда как другие могут

различаться в разных версиях системы. К этим программам относятся

командный процессор (оболочка), компиляторы, редакторы,

программы обработки текста и утилиты для работы с файлами. Именно

эти программы и запускаются пользователем с терминала.

Таким образом, существует 3 интерфейса в ОС UNIX: интерфейс

157

Интерфейс

пользователя

Интерфейс

библиотечных

функций

Интерфейс

системных

вызовов

Пользователи

Стандартные обслуживающие программы

(оболочка, компиляторы и т.д.)

Стандартная библиотека

(open, close, read, fork и т.д.)

Режим

пользователя

Операционная система UNIX

(управление процессами, памятью, файловая система,

ввод-вывод и т.д.)

Режим ядра

Аппаратное обеспечение

(ЦП, память, диски, терминал и 1.д.)

Рис. 3.7. Уровни операционной системы UNIX

системных вызовов, интерфейс библиотечных функций и интерфейс,

образованный набором стандартных обслуживающих программ.

Последний интерфейс большинство пользователей считает системой

UNIX. В действительности он не имеет практически никакого

отношения к самой системе и легко может быть заменен. В некоторых

версиях системы, например, этот ориентированный на ввод с

клавиатуры интерфейс пользователя был заменен графическим интерфейсом,

ориентированным на использование мыши, для чего не потребовалось

никаких изменений в самой системе. Именно эта гибкость сделала

систему UNIX столь популярной и позволила ей пережить

многочисленные изменения технологии, лежащей в ее основе.

У многих версий системы UNIX имеется графический интерфейс

пользователя, сходный с популярными интерфейсами,

применяемыми на компьютерах Macintosh и в системе Windows.

Пользовательский интерфейс UNIX состоит не только из оболочки, но также из

большого числа стандартных обслуживающих программ, называемых

утилитами. Стандарт POSDC 1003.2 определяет синтаксис и семантику

около 100 из этих программ. Идея стандартизации этих программ

заключается в том, чтобы можно было писать оболочки, которые

работали бы на всех системах UNIX. Помимо этих стандартных

утилит, существует еще масса прикладных программ, таких как

web-браузеры, программы просмотра изображений и т. д.

158

Процессы UNIX очень похожи на последовательные

классические процессы, которые были рассмотрены выше. Каждый процесс

запускает одну программу и изначально получает один поток

управления. У процесса есть один счетчик команд, указывающий на

следующую исполняемую команду процессора. Большинство версий

UNIX позволяют процессу после того, как он запущен, создавать

дополнительные потоки.

UNIX представляет собой многозадачную систему, так что

несколько независимых процессов могут работать одновременно. У

каждого пользователя может быть одновременно несколько активных

процессов, так что в большой системе могут одновременно работать

сотни и даже тысячи процессов. На большинстве

однопользовательских рабочих станций работают десятки фоновых процессов. Они

запускаются автоматически при загрузке системы. Файловая система в

UNIX — иерархическая, с файлами и каталогами. Все диски

монтируются в единое дерево каталогов, начинающееся в одном корне.

Отдельные файлы могут быть связаны с любым каталогом дерева.

Операционная система Windows

Операционные системы корпорации Microsoft можно разделить

на три семейства: MS-DOS, Consumer Windows (Windows 95/98/Мё) и

Windows NT.

История Windows, как и история развития Microsoft, начиналась

в 1981 г., когда корпорация IBM создала персональный компьютер