Контакт:
  • Наши кнопки

  • Карта сайта
  • Вход для админа:

Системы, которые составляются с нескольких процессов, часто легче программировать, используя так называемые критические секции. Когда процесса нужно читать или модифицировать некоторые что разделяются структуры данных, он прежде всего входит в критическую секцию для того, чтобы обеспечить себе исключительное право использования этих данных, при этом он уверен, что никакой процесс не будет иметь доступа к этому ресурсу одновременно с ним. Это называется взаимным исключением. В однопроцессорных системах критические секции защищаются семафорами, мониторами и другими аналогичными конструкциями.

Физическая организация файла описывает правила расположения файла на устройстве внешней памяти, в частности на диске. Файл составляется из физических записей - блоков. Блок - наименьшая единица данных, которой внешнее устройство обменивается с оперативной памятью. Непрерывное размещение - простейший вариант физической организации (рисунок 2.34,а), при какому файла дается последовательность блоков диска, которые образуют единый сплошной участок дисковой памяти. Для задачи адреса файла в этом случае достаточно заметить только номер начального блока.

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

Понятие "нить"

В традиционных ОС понятие нити тождественно понятию процесса. В действительности желательно иметь несколько нитей управления, которые разделяют единое адресное пространство, но выполняющихся квазипараллельно.

Предположим, например, что файл-сервер блокируется, ожидание выполнения операции с диском. Если сервер имеет несколько нитей управления, вторая нить может выполняться, пока первая нить находится в состоянии ожидания. Это повышает пропускную способность и производительность.

Второй общий подход к реализации механизма транзакций называется списком намерений. Этот метод заключается в том, что модифицируются самые файлы, а не их копии, но перед изменением любого блока ведется запись в специальный файл - газета регистрации, где отмечается, которая транзакция делает изменения, который файл и блок меняется и которые старое и новое значения изменяемого блока. Только после успешной записи у газету регистрации делаются изменения в исходном файле. Если транзакция фиксируется, то и об этом делается запись в газету регистрации, но старые значения измененных данных хранятся.

К признакам корпоративных ОС могут быть отнесенные также такой особенности.

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

Многозадачность является важнейшим свойством ОС. Для поддержки этого свойства ОС определяет и оформляет для себя те внутренние единицы работы, между которыми и будет разделяться процессор и другие ресурсы компьютера. Эти внутренние единицы работы в разных ОС носят разные названия - задача, задача, процесс, нить. В некоторых случаях сущности, которые обозначаются этими понятиями, принципиально отличаются друг от друга.

Говоря о процессах, мы отмечали, что операционная система поддерживает их обособленность: у каждого процесса есть свое виртуальное адресное пространство, каждого процесса назначаются свои ресурсы - файлы, окна, семафоры и т.

При описании операционной системы часто указываются особенности ее структурной организации и основные концепции, предназначенные в ее основу.

К таким базовым концепциям относятся:

Средства построения ядра системы - монолитное ядро или микроядерный подход. Большинство ОС использует монолитное ядро, которое компонуется как одна программа, которая работает в привилегированном режиме и использует быстрых переходах с одной процедуры на другую, что не нуждаются в переключении из привилегированного режима в пользовательский и наоборот.

Структура сетевой операционной системы

Сетевая операционная система составляет основу любой вычислительной сети. Каждый компьютер в сети в значительной мере автономен, поэтому под сетевой операционной системой в широком содержании понимается совокупность операционных систем отдельных компьютеров, которые взаимодействуют с целью обмена сообщениями и деления ресурсов по единым правилам - протоколам. В узком содержании сетевая ОС - это операционная система отдельного компьютера, который обеспечивает ему возможность работать в сети.

NDS использует для сохранности информации логическую структуру, называемую деревом каталогов (Directory Tree, DT). Эта иерархическая структура имеет корневой элемент (root) и ветви (рисунок 3.25). Администратору сети Netware 4. x дается удобная графическая утилита Netware Administrator, что работает в среде Windows, что наглядно подает каждый объект дерева каталогов NDS в виде иконки и отражающая связи между объектами. Пользователи также получают удобства прозрачного доступа к ресурсам всей сети, если они пользуются оболочкой Netware для Windows, что поддерживает диалог из NDS и подает доступные пользователю ресурсы в виде вложенных пиктограмм.

В то время как некоторые идеи (например, объектно-ориентированный подход) непосредственно касаются только разработчиков и лишь косвенно влияют на конечного пользователя, концепция множественных прикладных сред приносит пользователю долгожданную возможность выполнять на своей ОС программы, написанные для других операционных систем и других процессоров.

И сейчас дополнительное программное обеспечение позволяет пользователям некоторых ОС запускать чужие программы (например, Mac и UNIX позволяют выполнять программы для DOS и Windows).

Использование объектно-ориентированного подхода особенно эффективно при создании программного обеспечения, которое развивается активно, например, при разработке приложений, предназначенных для выполнения на разных аппаратных платформах.

Целиком объектно-ориентированные операционные системы очень привлекательные для системных программистов, потому что, используя объекты системного уровня, программисты смогут залезать вглубь операционных систем для приспособления их к своим нуждам, не возбуждаясь целостность системы.

В идеале сетевая справочная информация должна быть реализована в виде единой базы данных, а не представлять собой набор баз данных, которые специализируются на сохранении информации того или другого вида, как это часто бывает в реальных операционных системах. Например, в Windows NT есть по крайней мере пять разных типов справочных баз данных. Главный справочник домена (NT Domain Directory Service) бережет информацию о пользователях, которая используется при организации их логического входа в сеть.

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

Вся оперативная память машины также делится на части такого же размера, называемые физическими страницами (или блоками).

Самой важной функцией операционной системы есть организация рационального использования всех аппаратных и программных ресурсов системы. К основным ресурсам могут быть отнесенные: процессоры, память, внешние устройства, дани и программы. Привлекательная теми самыми   ресурсами, но управляемая разными ОС, вычислительная система может работать с разной степенью эффективности. Поэтому знание внутренних механизмов операционной системы позволяет косвенно судить о ее эксплуатационных возможностях и характеристики.

Концепция отдаленного вызова процедур

Идея вызова отдаленных процедур (Remote Procedure Call - RPC) составляется в расширении хорошо известного и понятного механизма передачи управления и данных внутри программы, которое выполняется на одной машине, на передачу управления и данных через сеть. Средства отдаленного вызова процедур предназначенные для облегчения организации распределенных вычислений. Самая большая эффективность использования RPC достигается в тех приложениях, в которых существует интерактивная связь между отдаленными компонентами с небольшим временем ответов и относительно малым количеством переданных данных.


s#0