Операционные системы: архитектура и управление процессами. Макаров П.С. - 35 стр.

UptoLike

Составители: 

35
некоторой функции у соответствующего сервера, посылая ему сообщение. Не-
посредственная передача сообщений между приложениями невозможна, так как
их адресные пространства изолированы друг от друга. Микроядро, выполняю-
щееся в привилегированном режиме, имеет доступ к адресным пространствам
каждого из этих приложений и поэтому может работать в качестве посредника.
Микроядро сначала передает сообщение, содержащее имя и параметры вызы-
ваемой процедуры нужному серверу, затем сервер выполняет запрошенную
операцию, после чего ядро возвращает результаты клиенту с помощью другого
сообщения. Таким образом, работа микроядерной операционной системы соот-
ветствует известной модели клиент-сервер, в которой роль транспортных
средств выполняет микроядро.
Рис. 16
На структуру ранних операционных систем, разработанных в средине 50-
х годов, обращалось мало внимания. Ни у кого не было опыта в разработке дей-
ствительно больших программных систем, а проблемы взаимозависимости и
взаимодействия сильно недооценивались. В подобных монолитных операцион-
ных системах (monolithic operating systems) почти все процедуры могли вызы-
вать одна другую. Такое отсутствие структуры было несовместимо с расшире-
нием операционных систем. Первая версия операционной системы OS/360 была
создана коллективом программистов из 5000 человек за пять лет и содержала
более миллиона строк кода. В частности, были разработаны слоистые операци-
онные системы (layered operating systems) (рис. 16,а) с иерархической организа-
цией функций, взаимодействие в которых возможно только между функциями,
находящимися на соседних уровнях. При «многослойном» подходе все уровни
или большинство из них выполняются в режиме ядра,