Главная » Просмотр файлов » Гордеев А.В. Операционные системы (2-е изд., 2004)

Гордеев А.В. Операционные системы (2-е изд., 2004) (1186250), страница 75

Файл №1186250 Гордеев А.В. Операционные системы (2-е изд., 2004) (Гордеев А.В. Операционные системы (2-е изд., 2004)) 75 страницаГордеев А.В. Операционные системы (2-е изд., 2004) (1186250) страница 752020-08-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 75)

Любая деятельность, связанная с безопасностью, может быть от­слежена и тем самым учтена. Это как раз то, что требует стандарт для системкласса С2 и что обычно нужно банкам. Однако коммерческие пользователи, какправило, не хотят расплачиваться производительностью за повышенный уровеньбезопасности. Уровень безопасности А занимает своими управляющими механиз­мами до 90 % процессорного времени, что, безусловно, в большинстве случаев не­приемлемо. Более безопасные системы не только снижают эффективность, но исущественно ограничивают число доступных прикладных пакетов, которые соот­ветствующим образом могут выполняться в подобной системе. Например, для опе­рационной системы Solaris (версия UNIX) есть несколько тысяч приложений, а дляее аналога уровня В — только около ста.Микроядерные операционные системыВ микроядерных операционных системах мы можем выделить центральный ком­пактный модуль, относящийся к супервизорной части системы.

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

Разработчики желают иметькомпактное микроядро, но при этом включить в него как можно больше функций,исполняемых непосредственно этим программным модулем. Ибо выполнение зареоованной функции другим модулем, вызываемым из микроядра, приводиткДополнительным задержкам, и к дополнительным сложностям. Более того, имеТсямасса разных мнений по поводу того, как следует организовывать службы опе­рационной системы по отношению к микроядру; как проектировать драйверыР°йств, чтобы добиться наибольшей эффективности, но сохранить функции290Глава 9. Архитектура операционных системдрайверов максимально независимыми от аппаратуры; следует ли выполнять опе­рации, не относящиеся к ядру, в пространстве ядра или в пространстве пользова­теля; стоит ли сохранять программы имеющихся подсистем (например, UNIX) илилучше отбросить все и начать с нуля.Основная идея, заложенная в технологию микроядра заключается в том, чтобысоздать необходимую среду верхнего уровня иерархии, из которой можно легкополучить доступ ко всем функциональным возможностям уровня аппаратногообеспечения.

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

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

Эта операционная система быласоздана в университете Карнеги Меллон, и многие разработчики брали с нее при­мер.Исполняемые микроядром функции ограничены в целях сокращения его разме­ров и максимизации количества кода, работающего как прикладная программа.Микроядро включает только те функции, которые требуются в целях определе­ния набора абстрактных сред обработки для прикладных программ и организациисовместной работы приложений. В результате микроядро обеспечивает только пятьразличных типов сервисов:•управление виртуальной памятью;•поддержка заданий и потоков;Q взаимодействие между процессами (Inter-Process Communication, IPC);Q управление поддержкой ввода-вывода и прерываниями;•сервисы хоста (host) 1 и процессора.Хост — главный компьютер.

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

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

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

С другой стороны, можно констати­ровать и обратное. Поскольку микроядра малы и в значительной степени оптимизи­рованы, при соблюдении ряда условий они позволяют обеспечить характеристикиреального времени, требующиеся для управления устройсч вами и для высокоско­ростных коммуникаций. Наконец, хорошо структурированные микроядра обеспе­чивают изолирующий слой для аппаратных различий, которые не маскируютсяприменением языков программирования высокого уровня. Таким образом, ониупрощают перенесение кода и увеличивают уровень его повторного использова­ния.Наиболее ярким представителем микроядерных операционных систем являетсяоперационная система реального времени QNX. Микроядро QNX поддерживаеттолько планирование и диспетчеризацию процессов, взаимодействие процессов,обработку прерываний и сетевые службы нижнего уровня (подробнее об ОС QNXсм.

в главе 10). Это микроядро обеспечивает всего лишь пару десятков системныхвызовов, но благодаря этому оно может быть целиком размещено во внутреннемкэше даже таких процессоров, как Intel 486. Как известно, разные версии этой опе­рационной системы имели и разные объемы ядер — от 8 до 46 Кбайт.292Глава 9. Архитектура операционных систо иЧтобы построить минимальную систему QNX, требуется добавить к микроядпуменеджер процессов, который создает процессы и управляет ими и памятью про­цессов. Чтобы операционная система QNX была применима не только во встроен­ных и бездисковых системах, нужно добавить файловую систему и менеджер уст­ройств. Эти менеджеры исполняются вне пространства ядра, так что ядро остаетсянебольшим.Макроядерные операционные системыВ макроядерных, или монолитных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральнуючасть и периферийные (по отношению к этой центральной части) модули.

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

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

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6549
Авторов
на СтудИзбе
299
Средний доход
с одного платного файла
Обучение Подробнее