Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 1-8 / ОС_05.doc
Скачиваний:
111
Добавлен:
04.04.2013
Размер:
98.82 Кб
Скачать

2.3. Концептуальная модель Unix

Основные реализации Unix- этомногопользовательская многозадачнаяоперационная система разделения времени.

Ниже приведены основные особенности Unix.

1). Все работы в системе представлены множеством конкурирующих процессов. Существует единственная операция, порождающая процесс – системный вызовfork(). При порождении процессу присваивается числовая характеристика –идентификатор.

Если процессу требуется назвать другой процесс, например, при посылке ему сигнала, он указывает идентификатор требуемого процесса. Другого способа именования процессов в системе нет.

2). Аналогичным способом именуются файлы:

  • при создании файлу присваивается индекс;

  • при открытии файл получает номер дескриптора.

Подобное динамическое именование – часть общей стратегии виртуализациивUnix. В результате реализации этой стратегии прикладные программыстановятся болеенезависимымиот конкретных объектов, с которыми они работают.

3). В Unixтакже принято следующее техническое решение: большиемассивы данных рассматриваются какфайлы. Такой подход, замедляющий работу программы, нуждается в некоторых оптимизирующих приемах:

  • с точки зрения ядра системы все файлы рассматриваются как бесструктурныеодномерные массивы байтов с прямым доступом;

  • обмен с магнитными носителями подвергается тотальной системной буферизации. Часто используемые блоки оседают в буфере (КЭШе), что уменьшает число обращений к дискам и позволяет повысить реактивность операционной системы.

2.4. Современные версии Unix

Почти сразу после рождения Unixраскололся на две ветви:

  • прародительская ветвь, которой владела UnixSystemLaboratory(фактически коммерческая ветвь);

  • проект исследовательского института Беркли – ветвь в основном свободных (беcплатных)Unix’ов.

Особенности и различия этих ветвей прослеживаются и в современных реализациях Unix. Ниже в таблице приведены основные современные реализацииUnixи указана принадлежность той или иной реализации к определенной ветви.

Ветви Unix

ATT

BSD

Solaris 2.0 (Sun)

UnixWare (Novell)

IRIX (Silicon Graphics)

SCO (Santa Cruz Operations)

HP-UX (Hewlett Packard)

SunOS или Solaris 1.x

BSD/OS

OSF/1

Ultrix

Linux

Основное отличие различных реализаций Unixсостоит в том, как проводится начальная загрузка системы (этот вопрос рассматривается во второй части курса). В остальном различия реализацийUnixможно считать несущественными.

2.5. Архитектура ос Unix

Рис. 2.1. Модель системыUnix

Ядро непосредственно взаимодействует с аппаратной частью компьютера, изолируя прикладные программы от особенностей её архитектуры.

Ядро имеет набор услуг, предоставляемых прикладным программам:

  • ввод/вывод;

  • создание и управление процессами, их синхронизация и межпроцессное взаимодействие.

Все приложения запрашивают услуги ядра посредством «системных вызовов».

Второй (после ядра) уровень составляют приложения или задачи, как системные, определяющие функциональность системы, так и прикладные, обеспечивающие пользовательский интерфейс Unix. Несмотря на внешнюю разнородность приложений, схемы их взаимодействия с ядром одинаковы.

Соседние файлы в папке Лекции 1-8