В. Столлингс - Операционные системы (1114679), страница 19
Текст из файла (страница 19)
В таком случае файлов, создаваемых в этом каталоге, будет установлен этот флаг. ° Полнморфнзм. Для управления объектами любого типа операционн тема %'2К использует общий набор функций АР1 — в этом и заклю ее полиморфизм. Однако %'2К не является полностью полиморфной. и „ что в ее состав входит множество АР1 для конкретных типов объектов.'- Не все сущности операционной системы Ж2К являются объектами. ты используются в тех случаях, когда данные открыты для доступа в по тельском е режиме, а также при совместном использовании данных и огран дост па.
С у . Реди представляемых объектами сущностей — файлы, процессы,, ки, семафо форы, таймеры и окна. Система Ж2К создает все типы объек.. управляет им ими одним и тем же способом — с помощью диспетчера объе. от диспетчер отвечает за создание и удаление объектов, нужных для работы ври ложений а также за предоставление доступа к сервисам и данным объектов.
У Каждый объект исполнительной системы (иногда эти объекты называются ъектам -тами ядра чтобы отличать их от объектов пользовательского уровня, не Ъ „неющих их отношения к исполнительной системе) находится в области памяти„ э ,дол яемо р й ядром доступ к которой имеет только ядро. Некоторые элементы ,Р~:вторы ы данных присущи объектам всех типов (например, имена объектов, эра метР ы безопасности, счетчик использований).
С другой стороны, каждый „удельный ый тип объектов имеет свои специфические элементы (например, приРитет пото потока объекта). Структуры данных объектов ядра доступны только через ядро; пр риложение не может ни размещать в памяти эти структуры данных, ни вепосре едственно считывать или записывать в них информацию. Вместо этого прилож женив манипулируют объектами опосредованно, через набор функций для ы с объектами, которые поддерживаются исполнительной системой.
Когда оздается объект для какого-нибудь приложения, последнему возвращается дескрип р созданного объе., который, по сути, является указателем на объект. Впоследствии дескриптор объекта может использоваться любым потоком этого проне. оцесса при вызове функций %Ъп32, работающих с объектами. С объектами может быть связана информация о безопасности, представленная в виде дескриптора безопасности (Бесигууу Веэсг1Р$ог — Бо).
Эта информация используется для ограничения доступа к объекту. Например, процессом может быть создан объект, являющийся именованным семафором, открывать и использовать который будет позволено лишь некоторым пользователям. В дескрипторе защиты этого семафора могут быть перечислены пользователи„которым разрешен (или запрещен) к нему доступ, а также тип разрешенного доступа (для чтения, записи, изменения и т.д.). В операционной системе ЪЧ2К объекты могут быть именованными или неименованными.
Если при работе процесса создается неименованный объект, то диспетчер объектов возвращает дескриптор этого объекта. Впоследствии обратиться к этому объекту можно будет только через его дескриптор. У именованного объекта есть имя, с помощью которого другие процессы могут получить его дескриптор. Например, если нужно, чтобы процесс А выполнялся синхронно с процессом В, в нем можно создать объект-событие, а затем передать его имя процессу В, в котором это событие будет использовано для синхронизации.
Однако если нужно синхронизовать два потока одного и того же процесса А, то в вем можно создать неименованный объект-событие, потому что другие процессы ве должны ничего о нем знать. В качестве примера объектов„которые управляются операционной системой ~2К, ниже приведены две категории объектов, управляемых микроядром. Объекты управления. Объекты этого типа используются для управления операциями микроядра, не связанными с диспетчеризацией и синхронизацией. Объекты управления микроядра перечислены в табл.
2.6. Объекты диспетчера. Используются для диспетчеризации и синхронизации операций системы. Эти объекты описаны в главе 6, "Взаимоблокировка и голодание". 124 Часть 1. Основные по ~ава 2. Обзор операционных систем Юписание Программы пользоватвля Уровень пользователя ° » и»», »». Файловая подсистема "::.~~:;:+-.,' Вттйар кала Управление памятью Управление аппаратным обеспвнвнивм Аппаратное обаспвчвнив Часть 1. Основные по „,, и ьн- кн, мерсия т, выпущенная в 1978 году, стала прототипом боль современных систем 1Ль11Х. Наиболее важные системы, не являющиеся п фирмы АТЛЕТ, были разработаны в Калифорнийском университете в Беркли и чили название БХ1Х ВЯВ; они эксплуатировались на машинах РОР и Ъ'АХ. АТйТ доработала и улучшила эти системы.
В 1982 году компания Вец 1аЬз нировала несколько вариантов системы 1ЛьПХ фирмы АТйТ в единую систему,' рая появилась в продаже под названием 1ЛЯХ Яуэ~епт 1П. Впоследствии к это" рационной системе было добавлено несколько новых возможностей, в резуль го появилась система 1Л~ПХ Яув1етп "тг. Рис. 2.15 дает общее представление об архитектуре системы СМЕХ. Ле основе аппаратное обеспечение окружено программным обеспечением операцв~» системы.
Операционную систему часто называют системным ядром или ядром, чтобы подчеркнуть ее изолированность от пользователя и прило Именно эта часть системы 1тХЯХ будет представлять для нас интерес в данной Однако 1)Х1Х снабжается различными пользовательскими сервисами и инте ми, которые рассматриваются как часть этой системы. Их можно сгруп оболочку, интерфейс и компоненты компилятора С (компилятор, ассемблер, чик).
Внешний по отношению к этой части системы уровень состоит из прил пользователя и интерфейса компилятора С. Рис. 2.15. Общая архитектура систсмм сГт»ГХХ Рис. 2.16 дает более полное представление о системе. Программы по теля могут вызывать сервисы операционной системы непосредственно либо мощью библиотечных программ.
Интерфейс системных вызовов позволяеч',ь граммам высших уровней получить доступ к определенным функцияМ Нижние уровни операционной системы содержат простые программы, к осредственно взаимодействуют с аппаратным обеспечением. Между этими виями находятся компоненты системы; их можно разделить на две основные ивс ти, одна из которых относится к управлению процессами.
а другая — к вво..выводу. Подсистема управления процессами отвечает за управление памятью, рвс определение ресурсов между процессами, диспетчеризацию, синхронизацию и вв взаимодействие разных процессов. Файловая система производит обмен дании между памятью и внешними устройствами либо в виде потоков символов, . вьтвтт бо в виде блоков с использованием различных драйверов устройств. Поблочявя л передача данных осуществляется с участием дискового каша — системного ,уфера основной памяти, являющегося промежуточным звеном между адресным пространством пользователя и внешним устройством.
Интерфейс систвмнык вызовов Взаимодействие между процессами Подсистема в ур~~~а»,~' )~риф;,~Я",,ф»я»~ХМ,, "„"'. ':;.::: „. »Г ~;,".и В$тХ Ъ„:.*:~~;Ь; *:., "~: "':,,я'.Э ' '»»» ю~мю»'ею~~"~»м4'»»» ""' ""'е» а»»»м'»ь'»' »т"*»»»» Уровень аппаратного обеспечения Рис. 2.16. Ядро традиционной системъ~ 1Х1УХХ 1ВАСНВб) В этом разделе рассказывается о тех системах 1Пь~1Х, которые можно на'вать традиционными; в 1ьгАНА961 этот термин используется, когда речь "дат о Яув$етп Ч Ие1еазе 3 1Я1ХВЗ), 4.3ВЯ1) и более ранних версиях. Ниже зрпведены общие положения, касающиеся традиционных систем 11Ы1Х, Они "редназначены для работы на однопроцессорных системах и не обладают ностаточной возможностью по защите своих структур данных от одновремен- дава 2.
Обзор операционных систем роцессы рвкиие раааеаеииа ареиеии Заев ~ Ве1еаБе 4 (8Ъ'К4) Часть 1. Основные пон 1'лава 2. Обзор операционных ~ ам~оияи* они п оцессорах. Их ядра не сл распределения ес оддерживают один тип Файловой системы, стр я Ресурсов между процессами и фо мата испо Ядро традиционной системы УХ1Х не явл возможностей п е ы не является наращиваемым, в нем повторного использования ко при добавлении в кода. Все это приводило к том в очередных версиях БИ1Х лось в больших новых возможностей пр, количествах писать новый ко . лось громоздким и немодульным.
код. В результате ядро ок '=::2 В процессе развития операционной системы 111Ч1Х появ лизаций, каждая из них обл с емы появилось много ствии возникла необхо х о ладала своими полезными ми возможностями. В ео ходимость создать реализацию, в кото ой цированы многие важные нов , в которой были бы менных операционны е нововведения, добавлены в х систем и которая бы обл ала озможности других Архитектура типичного современно ичного современного ядра системы Ш~ПХ изображе о архитектуре имеется небольшое я о различными модулями, п е ядро, которое может раб " ями, предоставляющими различным п есс системы необходимые функци м процессам операц ветствует разли Ф ции и сервисы.
Каж ый чным ункциям и интерфейс к д й внешний круг рисунка мыми различными способами. рфе су, которые можно реализова" А тепе ь пе йд р рей "ем к рассмотрению некото тем 11Х1Х. йд торых примеров современны- Версия ЯЪ'В4, разработанная совместно ко 1етпе, сочетает в б ая совместно компаниями АТ8тТ и Япп М1с ет в се е особенности версий ЯЪ'ВЗ, 4.3 T и Яттп0Б. Ядро Я экие Ъ' б , 4.3 ВЯП, М1сгоеоХт Хеп1х Я уэ епт было почти полностью пе появилась очищенная переписано, н результате', ая от всего лишнего, хотя и сл вых возможностей этой в сложная реализация. Сре реальном времени, налич е это версии следует отметить по е ж оддержку обработки дан , наличие классов планирования п е с ры данных, управление виртуальной файловой ° упр ние виртуальной памятью, н но а овой системы и ядра с вытеснением. При создании системы БУЙ б гак и академически б о ъединились с у илия как коммерче течить унифици ованн ких разра отчиков; аз аб ; р р отка системы велась, чтобы ' 1ионной системы СИ1Х.