Автор работы: Пользователь скрыл имя, 22 Февраля 2013 в 00:06, контрольная работа
Вопрос 13: Системный вызов, особенности его реализации в микроядерной архитектуре. Сравнение с классической архитектурой.
Ответ:
Большинство современных ОС – хорошо структурированные модульные системы, способные к развитию, расширению и переносу на новые платформы. Единой архитектуры ОС не существует, но есть универсальные подходы к структурированию ОС
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ОТКРЫТЫЙ УНИВЕРСИТЕТ
ИМЕНИ В.С. ЧЕРНОМЫРДИНА
ФАКУЛЬТЕТ КОМПЬЮТЕРНЫЕ И ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
КОНТРОЛЬНАЯ РАБОТА
По дисциплине: «Системное программное обеспечение»
Выполнил: *.
Специальность: *
Шифр: *
Преподаватель: *
Москва, МГОУ, 201*
Задание 1.
Вопрос 13: Системный вызов, особенности его реализации в микроядерной архитектуре. Сравнение с классической архитектурой.
Ответ:
Большинство современных ОС – хорошо
структурированные модульные
Наиболее общий подход к структуризации ОС – разделение ее модулей на две группы:
- модули, выполняющие основные функции ОС (ядро)
- модули, выполняющие вспомогательные функции ОС
Модули ядра управляют процессами, памятью, УВВ. Ядро – сердцевина ОС, без него она неработоспособна
Ядро решает внутрисистемные задачи
организации вычислительного
Интерфейс прикладного
программирования (API, Applica
Функции модулей ядра – наиболее часто используемые функции ОС, поэтому скорость их выполнения определяет производительность системы в целом. Для обеспечения высокой скорости работы ОС все модули ядра или большая их часть постоянно находятся в ОП, то есть являются резидентными
Некоторые компоненты ОС оформлены
как обычные приложения – в
виде исполняемых модулей
Вспомогательные модули ОС:
- утилиты – программы, решающие отдельные задачи управления и сопровождения компьютерной системы
- системные обрабатывающие программы – текстовые и графические редакторы, компиляторы, компоновщики, отладчики
- программы предоставления дополнительных услуг – специальный вариант пользовательского интерфейса, калькулятор, игры
- библиотеки процедур упрощают разработку приложений (математические функции, функции ввода-вывода)
Для надежного управления выполнением
приложений ОС имеет по отношению
к приложениям определенные привилегии,
иначе некорректно работающее приложение
может вмешаться в работу ОС и,
например, разрушить часть ее кодов.
Обеспечить привилегии ОС невозможно
без специальных средств
Архитектура ОС с ядром в привилегированном режиме:
Приложения подчинены за счет запрета выполнения в пользовательском режиме критичных команд, связанных с переключением процессора с задачи на задачу, управлением УВВ, доступом к механизмам распределения и защиты памяти
Между количеством уровней
Повышение устойчивости ОС, обеспечиваемое переходом ядра в привилегированный режим, достигается за счет некоторого замедления выполнения системных вызовов. Системный вызов привилегированного ядра инициирует переключение процессора из пользовательского режима в привилегированный, а при возврате к приложению – обратное переключение. Во всех типах процессоров из-за дополнительной двукратной задержки переключения переход на процедуру со сменой режима выполняется медленнее, чем вызов процедуры без смены режима
Смена режимов при выполнении системного вызова к привилегированному ядру:
ВС, работающую под управлением ОС на основе ядра, можно рассматривать как систему, состоящую из трех иерархически расположенных слоев: нижний – аппаратура, промежуточный – ядро, верхний – утилиты, обрабатывающие программы и приложения
Трехслойная схема ВС:
Каждый слой обслуживает вышележащий слой, выполняя для него некоторый набор функций, которые образуют межслойный интерфейс
Поскольку ядро представляет собой
сложный многофункциональный
Ядро может состоять из следующих слоев:
- средства аппаратной поддержки ОС. ОС представляет собой комплекс программ, но часть ее функций может выполняться и аппаратными средствами. К ОС относят, естественно, не все аппаратные устройства компьютера, а только средства аппаратной поддержки ОС, то есть те, которые прямо участвуют в организации вычислительных процессов: средства поддержки привилегированного режима, система прерываний, средства переключения контекстов процессов, средства защиты областей памяти
- машинно-зависимые компоненты ОС – модули, в которых отражается специфика аппаратной платформы компьютера; в идеале этот слой полностью экранирует вышележащие слои ядра от особенностей аппаратуры
- базовые механизмы ядра – программное переключение контекстов процессов, диспетчеризация прерываний, перемещение страниц из памяти на диск и обратно
- менеджеры ресурсов (процессов, ввода-вывода, ФС, ОП)
- интерфейс системных вызовов – верхний слой ядра, взаимодействующий непосредственно с приложениями и системными утилитами, образуя прикладной программный интерфейс ОС. Функции API, обслуживающие системные вызовы, предоставляют доступ к ресурсам системы в удобной и компактной форме, без указания деталей их физического расположения
Приведенное разбиение ядра ОС на слои условное, в реальной системе количество слоев и распределение функций между ними может быть иным
Архитектура ОС, основанная на привилегированном
ядре и приложениях
Микроядерная архитектура – альтернатива классическому способу построения ОС. В привилегированном режиме работает только очень небольшая часть ОС – микроядро, защищенное от остальных частей ОС и приложений. В состав микроядра обычно входят машинно-зависимые модули, а также модули, выполняющие базовые (но не все) функции ядра по управлению процессами, обработке прерываний, управлению виртуальной памятью, пересылке сообщений и управлению УВВ, связанные с загрузкой или чтением регистров устройств. Набор функций микроядра обычно соответствует функциям слоя базовых механизмов обычного ядра. Такие функции ОС невозможно выполнить в пространстве пользователя.
Перенос основного объема функций ядра в пользовательское пространство:
Все остальные более
Серверы ОС – менеджеры ресурсов, вынесенные в пользовательский режим – модули, обслуживание запросы локальных приложений и других модулей ОС. Для реализации микроядерной архитектуры необходимо наличие в ОС удобного и эффективного способа вызова процедур одного процесса из другого. Поддержка такого механизма – одна из главных задач микроядра
Реализация системного вызова в микроядерной архитектуре:
Клиент (прикладная программа или другой компонент ОС) запрашивает выполнение некоторой функции у соответствующего сервера, посылая ему сообщение. Непосредственная передача сообщений между приложениями невозможна, так как их адресные пространства изолированы друг от друга. Микроядро в привилегированном режиме имеет доступ к адресным пространствам каждого из этих приложений и может быть посредником – передает серверу сообщение, содержащее имя и параметры вызываемой процедуры, сервер выполняет операцию, ядро возвращает результаты клиенту. Работа микроядерной ОС соответствует известной модели клиент-сервер, в которой роль транспортных средств выполняет микроядро
Достоинства микроядерной архитектуры:
- переносимость: весь машинно-зависимый код изолирован в микроядре, поэтому для переноса системы на новый процессор требуется меньше изменений
- расширяемость
- конфигурируемость: достаточно изменить файл с настройками начальной конфигурации системы или остановить не нужные больше серверы в ходе работы обычными для остановки приложений средствами
- надежность: каждый сервер выполняется в виде отдельного процесса в своей собственной области памяти, то есть защищен от других серверов ОС (в традиционной ОС модули ядра могут влиять друг на друга)
- подходит для распределенных вычислений: использует механизмы, аналогичные сетевым – взаимодействие клиентов и серверов путем обмена сообщениями
Недостаток микроядерной архитектуры – меньшая производительность: при классической организации ОС выполнение системного вызова сопровождается двумя переключениями режимов, при микроядерной – четырьмя:
Именно по этой причине микроядерный подход не получил такого широкого распространения, которое ему предрекали. Пример микроядерной ОС – VM/370 (используется в мейнфреймах)
Сейчас не существует ОС с чисто классической или микроядерной архитектурой. ОС образуют некоторый спектр, на одном краю которого – системы с минимально возможным микроядром, на другом – системы, в которых микроядро выполняет достаточно большой объем функций.
Вопрос 33: Виртуальная память и механизмы преобразования адресов. Виды организации памяти: сегментная, страничная память.
Ответ:
Система управления памятью. Организация виртуальной памяти
Система управления памятью должна обеспечить многопрограммный режим работы, используя аппаратные средства распределения оперативной памяти.
Существует два способа
При работе в многопрограммном режиме и статическом распределении оперативной памяти выделяется определенная область фиксированной памяти независимо от требований задачи.
При статическом распределении памяти используется статическая адресация, т.е. используется базовый адрес и смещение. При каждой загрузке программы ей назначается базовый адрес в области оперативной памяти.
При динамическом распределении оперативной памяти - выделяется необходимый объем памяти по запросу с учетом потребности задачи. Параллельность процессов обмена и обработки данных приводит к тому, что к оперативной памяти может обращаться несколько устройств (или программ) одновременно, потому требуется организовать очередь обслуживания и использовать концепцию виртуальной памяти. Один из компонентов ядра операционной системы - диспетчер памяти - организует трансляцию виртуальных адресов, используемых программами и другими компонентами ядра, в реальные адреса физической памяти.
Организация виртуальной памяти
Виртуальная память (Virtual Memory) представляет
собой программно-аппаратное средство
расширения пространства памяти, предоставляемой
программе в качестве оперативной.
Эта память физически реализуется
в оперативной и дисковой памяти
под управлением
Виртуальное пространство памяти разбито на страницы фиксированного размера, а в физической оперативной памяти в каждый момент времени присутствует только часть из них. Остальные страницы хранятся на диске, откуда операционная система может "подкачать" их в физическую память, предварительно выгрузив на диск часть неиспользуемых в данный момент модифицированных страниц. Обращение процессора к ячейке виртуальной памяти, присутствующей в физической памяти, происходит обычным способом. Если же затребованная область в данный момент не отображена в физической памяти, процессор вырабатывает исключение (внутреннее прерывание), по которому операционная система программно организует замещение страниц, называемое свопингом (Swapping). Виртуальную память поддерживают процессоры, работающие в защищенном режиме, начиная с 80286, но реально ее широко стали использовать только в операционных системах и оболочках для 32-разрядных процессоров (80386 и далее). Максимальный объем виртуальной памяти определяется размером файла подкачки (Swap File), выделяемом на жестком диске для нужд виртуальной памяти.
Информация о работе Контрольная работа по дисциплине: «Системное программное обеспечение»