Контрольная работа по дисциплине: «Системное программное обеспечение»

Автор работы: Пользователь скрыл имя, 22 Февраля 2013 в 00:06, контрольная работа

Краткое описание

Вопрос 13: Системный вызов, особенности его реализации в микроядерной архитектуре. Сравнение с классической архитектурой.

Ответ:
Большинство современных ОС – хорошо структурированные модульные системы, способные к развитию, расширению и переносу на новые платформы. Единой архитектуры ОС не существует, но есть универсальные подходы к структурированию ОС

Прикрепленные файлы: 1 файл

Моя 2 вариант.docx

— 147.44 Кб (Скачать документ)

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ  ОТКРЫТЫЙ УНИВЕРСИТЕТ

ИМЕНИ В.С. ЧЕРНОМЫРДИНА

ФАКУЛЬТЕТ КОМПЬЮТЕРНЫЕ И ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

 

 

 

 

 

 

 

 

 

КОНТРОЛЬНАЯ РАБОТА

По дисциплине: «Системное программное обеспечение»

 

 

 

 

Выполнил: *.

Специальность: *

Шифр: *

Преподаватель: *

 

 

 

 

 

                                           

Москва, МГОУ, 201*

Задание 1.

Вопрос 13: Системный вызов, особенности его реализации в микроядерной архитектуре. Сравнение с классической архитектурой.

 

Ответ:

Большинство современных ОС – хорошо структурированные модульные системы, способные к развитию, расширению и переносу на новые платформы. Единой архитектуры ОС не существует, но есть универсальные подходы к структурированию ОС

Наиболее общий подход к структуризации ОС – разделение ее модулей на две  группы:

- модули, выполняющие основные функции ОС (ядро)

- модули, выполняющие вспомогательные функции ОС

Модули ядра управляют процессами, памятью, УВВ. Ядро – сердцевина ОС, без него она неработоспособна

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

Интерфейс прикладного  программирования (API, Application Programming Interface) – функции ядра ОС, которые могут вызываться приложениями

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

Некоторые компоненты ОС оформлены  как обычные приложения – в  виде исполняемых модулей стандартного для данной ОС формата, поэтому сложно провести грань между ОС и такими приложениями:

Вспомогательные модули ОС:

- утилиты – программы, решающие отдельные задачи управления и сопровождения компьютерной системы

- системные обрабатывающие программы – текстовые и графические редакторы, компиляторы, компоновщики, отладчики

- программы предоставления дополнительных услуг – специальный вариант пользовательского интерфейса, калькулятор, игры

- библиотеки процедур упрощают разработку приложений (математические функции, функции ввода-вывода)

Для надежного управления выполнением  приложений ОС имеет по отношению  к приложениям определенные привилегии, иначе некорректно работающее приложение может вмешаться в работу ОС и, например, разрушить часть ее кодов. Обеспечить привилегии ОС невозможно без специальных средств аппаратной поддержки. Аппаратура компьютера должна поддерживать минимум два режима работы – пользовательский (user mode) и привилегированный – режим ядра (kernel mode)

 

 

 

Архитектура ОС с ядром  в привилегированном режиме:

 

Приложения подчинены за счет запрета  выполнения в пользовательском режиме критичных команд, связанных с  переключением процессора с задачи на задачу, управлением УВВ, доступом к механизмам распределения и  защиты памяти

Между количеством уровней привилегий, реализуемых аппаратно, и количеством  уровней привилегий, поддерживаемых ОС, нет прямого соответствия. Например, на базе четырех уровней, обеспечиваемых процессорами Intel, ОС OS/2 строит трехуровневую систему привилегий, а Windows NT, UNIX и некоторые другие ОС ограничиваются двухуровневой системой. На основе двух режимов привилегий процессора ОС может построить сложную и гибкую систему индивидуальной защиты ресурсов, пример которой – типичная система защиты файлов и каталогов (позволяет задать для любого пользователя права доступа к каждому из файлов и каталогов)

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

Смена режимов при выполнении системного вызова к привилегированному ядру:

 

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

 

Трехслойная схема ВС:

Каждый слой обслуживает вышележащий  слой, выполняя для него некоторый  набор функций, которые образуют межслойный интерфейс

Поскольку ядро представляет собой  сложный многофункциональный комплекс, многослойный подход обычно распространяется и на структуру ядра

Ядро может состоять из следующих  слоев:

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

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

- базовые механизмы ядра – программное переключение контекстов процессов, диспетчеризация прерываний, перемещение страниц из памяти на диск и обратно

- менеджеры ресурсов (процессов, ввода-вывода, ФС, ОП)

- интерфейс системных вызовов – верхний слой ядра, взаимодействующий непосредственно с приложениями и системными утилитами, образуя прикладной программный интерфейс ОС. Функции API, обслуживающие системные вызовы, предоставляют доступ к ресурсам системы в удобной и компактной форме, без указания деталей их физического расположения

Приведенное разбиение ядра ОС на слои условное, в реальной системе  количество слоев и распределение  функций между ними может быть иным

Архитектура ОС, основанная на привилегированном  ядре и приложениях пользовательского  режима, стала, по существу, классической. Ее используют многие популярные ОС, в  том числе многочисленные версии UNIX, IBM OS/390, OS/2 и с определенными  модификациями – Windows NT

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

Перенос основного объема функций ядра в пользовательское пространство:

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

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

Реализация системного вызова в микроядерной архитектуре:

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

Достоинства микроядерной архитектуры:

- переносимость: весь машинно-зависимый код изолирован в микроядре, поэтому для переноса системы на новый процессор требуется меньше изменений

- расширяемость

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

- надежность: каждый сервер выполняется в виде отдельного процесса в своей собственной области памяти, то есть защищен от других серверов ОС (в традиционной ОС модули ядра могут влиять друг на друга)

- подходит для распределенных вычислений: использует механизмы, аналогичные сетевым – взаимодействие клиентов и серверов путем обмена сообщениями

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

 

Именно по этой причине микроядерный подход не получил такого широкого распространения, которое ему предрекали. Пример микроядерной ОС – VM/370 (используется в мейнфреймах)

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

 

Вопрос 33: Виртуальная память и механизмы преобразования адресов. Виды организации памяти: сегментная, страничная память.

Ответ:

Система управления памятью. Организация виртуальной памяти     

Система управления памятью должна обеспечить многопрограммный режим  работы, используя аппаратные средства распределения оперативной памяти.     

Существует два способа распределения  памяти : статический и динамический.  

При работе в многопрограммном режиме и статическом распределении  оперативной памяти выделяется определенная область фиксированной памяти независимо от требований задачи.   

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

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

Организация виртуальной  памяти  

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

Виртуальное пространство памяти разбито  на страницы фиксированного размера, а  в физической оперативной памяти в каждый момент времени присутствует только часть из них. Остальные страницы хранятся на диске, откуда операционная система может "подкачать" их в  физическую память, предварительно выгрузив на диск часть неиспользуемых в данный момент модифицированных страниц. Обращение  процессора к ячейке виртуальной  памяти, присутствующей в физической памяти, происходит обычным способом. Если же затребованная область в  данный момент не отображена в физической памяти, процессор вырабатывает исключение (внутреннее прерывание), по которому операционная система программно организует замещение страниц, называемое свопингом (Swapping). Виртуальную память поддерживают процессоры, работающие в защищенном режиме, начиная с 80286, но реально ее широко стали использовать только в операционных системах и оболочках для 32-разрядных процессоров (80386 и далее).  Максимальный объем  виртуальной памяти определяется размером файла подкачки (Swap File), выделяемом на жестком диске для нужд виртуальной памяти.    

Информация о работе Контрольная работа по дисциплине: «Системное программное обеспечение»