рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Многослойная структура ОС

Многослойная структура ОС - Конспект Лекций, раздел Философия, Конспект лекций по дисциплине ОПЕРАЦИОННЫЕ СИСТЕМЫ И СРЕДЫ Вычислительную Систему, Работающую Под Управлением Ос На Основе Ядра, Можно Р...

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

Рис. 9.4. Трехслойная схема вычислительной системы. 1 – аппаратура, 2 – ядро, 3 – утилиты и обрабатывающие программы.

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

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

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

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

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

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

3. Базовые механизмы ядра. Этот слой выполняет наиболее примитивные операции ядра, такие как программное переключение контекстов процессов, диспетчеризацию прерываний, перемещение страниц из памяти на диск и обратно и т. п. Модули данного слоя не принимают решений о распределении ресурсов — они только отрабатывают принятые «наверху» решения, что и дает повод называть их исполнительными механизмами для модулей верхних слоев. Например, решение о том, что в данный момент нужно прервать выполнение текущего процесса А и начать выполнение процесса В, принимается менеджером процессов на вышележащем слое, а слою базовых механизмов передается только директива о том, что нужно выполнить переключение с контекста текущего процесса на контекст процесса В.

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

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

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

Рис. 9.5. Многослойная структура ядра ОС. 1– аппаратура, 2– средства аппаратной поддержки ОС, 3 – машинно-зависимые модули, 4 – базовые механизмы ядра, 5 – менеджеры ресурсов, 6 – интерфейс системных вызовов.

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

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

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

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

– Конец работы –

Эта тема принадлежит разделу:

Конспект лекций по дисциплине ОПЕРАЦИОННЫЕ СИСТЕМЫ И СРЕДЫ

На сайте allrefs.net читайте: Конспект лекций по дисциплине ОПЕРАЦИОННЫЕ СИСТЕМЫ И СРЕДЫ. Колледж...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Многослойная структура ОС

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Пояснительная записка
Конспект лекций по дисциплине «Операционные системы и среды» соответствует требованиям государственного стандарта к уровню подготовки выпускниковспециальности 230105.51 (2203) Программное обеспечен

Координация действий при работе ЭВМ
Выполнение программы процессором – это сложный процесс. Для понимания сути которого требуется выделить следующие его особенности: · Программа – набор статических инструкций. · Дея

Понятие файловой системы
Современные операционные системы предусматривают хранение информации в долговременной памяти ЭВМ, которая представляет собой магнитные носители большой емкости. При этом на таком носителе – диске ф

Командный язык для управления системой
В операционных системах MSDOS и Windows 32x для работы с файловой системой может быть использован режим консоли. В операционной системе MSDOS этот режим реализуется командным процессором COMMAND.CO

Особенности командного языка
При наборе команд: F3 – повтор последней команды. Для выполнения групповых операций над файлами используется маска файла, для построения которой используются символы: * –

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

Формальные параметры командных файлов
Для создания универсальных пакетных файлов используется технология формальных и фактических параметров. Формальный параметр принимает фактическое значение из командной строки при вызове командного

Дополнительные возможности пакетной обработки. Утилита BE
Чтобы создавать сложные пакетные файлы с возможностью управления вводом – выводом на консоль ПК, используют утилиты BE.EXE фирмы Symantec. Утилиты представляет собой интерпретатор команд. Команды п

Файл CONFIG.SYS
Конфигурирование ядра ОС используется для его настройки при работе с оборудованием ПК и файловой системой. При выполняется подключение драйверов устройств, предоставляются средства для управления о

Управление распределением оперативной памяти в реальном режиме работы процессора
У ПК архитектуры Intel/IBM PC распределение оперативной в реальном режиме работы процессора имеет следующую структуру. Максимальный объем при реальном режиме работы процессоров составляет

Файл автозагрузки autoexec.bat
Файл автозагрузки выполняется после конфигурирования ядра, служит для автоматического выполнения действий при загрузке ОС. Содержит допустимые команды ОС и команды пакетных файлов. Особенн

Типы программ
В операционной системе MSDOS машинный код программ хранится в файлах с расширением «ЕХЕ», либо «СОМ». Соответственно принято различать два типа программ. Программы ЕХЕ состоят из трех осно

Системный сервис MS DOS
Системный сервис реализуется через прерывание ОС 21h. Он используется прикладными программами для работы с файловой системой ПК, выполнения операций ввода – вывода, управления памятью. Вызов прерыв

Программный хвост
Хвост – набор параметров командной строки разделенных пробелами, которые заданы при вызове программы. Располагается по смещению 80h в PSP программы. Формат хвоста: 1байт – число с

Окружение программы
При запуске программы в среде MS DOS командный процессор передает ей окружение. Формат окружения: ‘var1=n1’,0 ‘var2=n2’,0 … Просмотреть окружение можно с помо

Запуск одной программы из другой
Для запуска дочерней программы служит функция 4Bh, прерывания 21h. AH=4Bh AL=0 ES:BX=адрес блока параметров DS:DX=адрес имени программы в формате ASCIIZ формате

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

Межсегментный вызов процедур
Процедуры расположенные в одном сегменте называются «ближними» near. Соответственно вызов такой процедуры – ближний. Если процедуры находятся в разных сегментах кода, то они считаются «дальними» fa

Модульный принцип построения программ
Модульный принцип – разбиение программы на отдельные процедуры. Процедуры образуют модули объектного кода, которые хранятся в файлах с расширением OBJ. Программа формируется путем сборки из отдельн

Работа с файловой системой. MS Visual Basic ver 6.0
При разработке прикладных программ программист может использовать встроенные функции и операторы MS Visual Bаsic для работы с файловой системой. Функция DIR. Выполняет поиск файла

Работа с буфером обмена
Буфер обмена Windows – специальная область оперативной памяти, которая используется для переноса данных из одних программ в другие. При разработке программ на Visual Basic программист може

Работа с клавиатурой и мышью
Большинство программ созданных для работы в среде MS Windows имеют GUI интерфейс (графический интерфейс пользователя). Для работы с такой программой используются определенные клавиатурные комбинаци

OLE Технология
Отличительной особенностью ОС Windows 32x является использование технологии встраивания объектов. Объект – это фрагмент, сформированный в одном приложении и вставленный в другое. Например, электрон

Работа с мультимедиа
В операционной системе Windows 32x за воспроизведение мультимедиа данных отвечает специальный MCI интерфейс. Основы данного интерфейса образуют драйверы устройств и кодеки. Кодек — програм

SDI и MDI программы
Графический интерфейс пользователя предусматривает использование в качестве основного элемента интерфейса программы графического окна. Если окна программы на связаны друг с другом, то такая програм

Формат справки WinHelp
Стандартное окно справочной службы имеет структуру показанную на рисунке 8.1. Содержание – оглавление справочного файла. Предметный указатель – поиск по ключевым словам и фразам.

Подготовка справочного файла с помощью программы Windows Help Designer
Окно программы имеет структуру: Создание справочного файла начинает с разработки оглавления(Contents). На вкладке Contents формируется оглавление в виде дерева. Используя контекстное можно

Подключение справочной системы к программе
При использовании Visual Basic для просмотра справочного файла с помощью программного кода следует выполнить следующие действия: Разместить в модуль программы API функцию WinHelp. Запрогра

Создание тем справочной службы
Процесс создания справочной системы начинается с написания текста тем. Темы оформляются в виде отдельных HTML файлов. Создать справочные файлы не выходя из программы можно командой: File > New &

Создание проекта справочной службы
После завершения написания тем следует сформировать проект справочной системы: File > New > Project. Проект создается мастером из нескольких шагов. При работе с мастером нужно указат

Архитектура ОС
Любая сложная система должна иметь понятную и рациональную структуру, то есть разделяться на части — модули, имеющие вполне законченное функциональное назначение с четко оговоренными правилами взаи

Ядро и вспомогательные модули ОС
Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы: Ядро — модули, выполняющие основные функции ОС, и модули, выполняющие вспом

Ядро в привилегированном режиме
Для надежного управления ходом выполнения приложений операционная система должна иметь по отношению к приложениям определенные привилегии. Иначе некорректно работающее приложение может вмешаться в

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

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

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

Концепция микроядерной архитектуры
Микроядерная архитектура является альтернативой классическому способу построения операционной системы. Под классической архитектурой в данном случае понимается рассмотренная выше структурная органи

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

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

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

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

Организация вывода
Для вывода на экран одного символа служит функция 02h. Обращение: AH=02h DL=байт данных. Для вывода последовательности символов служить функция 09h. Выз

Файлы и каталоги
Функция 3Ch. Создание файла. Обращение: AH=3Сh CX=атрибуты. DS:DX=адрес спецификации файла ASCIIZ. Возврат: AX=дескриптор. Ошибка:

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги