Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Механизмы аппаратной поддержки операционных систем. Учебное пособие
.pdf
Министерство транспорта Российской Федерации
Федеральное государственное автономное образовательное
учреждение высшего образования
«Российский университет транспорта»
________________________________________________________
Институт управления и цифровых технологий
Кафедра «Вычислительные системы, сети и информационная
безопасность»
Т.Б. ЛАРИНА
МЕХАНИЗМЫ АППАРАТНОЙ ПОДДЕРЖКИ
ОПЕРАЦИОННЫХ СИСТЕМ
Учебное пособие
для бакалавров направлений подготовки «Информатика и
вычислительная техника» и «Информационная безопасность»
Москва – 2021
1

УДК 004
Л-25
Ларина Т.Б. Механизмы аппаратной поддержки
операционных систем: Учебное пособие. - М.: РУТ (МИИТ), 2021.
– 108 с.
Учебное пособие посвящено аппаратно-зависимым
аспектам функционирования операционных систем на платформе
процессоров х86. Содержание пособия акцентировано на методах
организации вычислительного процесса и управления ресурсами
в операционных системах, реализация которых невозможна без
аппаратной поддержки процессора.
Рекомендуется для студентов направлений подготовки
«Информатика и вычислительная техника» и «Информационная
безопасность».
Рецензенты:
- профессор Департамента программной инженерии Факультета
компьютерных наук Национального исследовательского
университета «Высшая школа экономики», к.т.н., с.н.с. Шилов
В.В.
- старший преподаватель кафедры «Цифровые технологии
управления транспортными процессами» института Цифровых
технологий и управления РУТ (МИИТ),
Новиков А.И.
РУТ (МИИТ), 2021

Ларина Т.Б. Механизмы аппаратной поддержки операционных систем
1. Введение
3
Структура вычислительной системы
3
Понятия и основные задачи операционной системы
7
2. Прерывания
11
Аппаратные прерывания
12
Системные и программные прерывания
13
Выполнение прерывания процессором
14
Системный таймер. Базовая система ввода-вывода
15
3. Принципы управления процессами
17
Способы организации вычислительного процесса
17
Диспетчер процессов
18
4. Принципы управления памятью
22
Статические методы управления
22
Динамические методы
25
5. Аппаратные режимы процессоров х86
32
Характеристика режимов
32
Режим реальных адресов
35
Защищенный режим
44
64-разрядный режим
52
6. Управление памятью в защищенном режиме
54
Сегментное управление памятью
54
Механизм вычисления физических адресов
60
Страничное управление памятью
64
Механизм страничного преобразования адреса
66
Поддержка виртуальной памяти
68
7 . Механизмы защиты памяти и ресурсов
72
Концепция защиты системных ресурсов
72
СОДЕРЖАНИЕ
3

Ларина Т.Б. Механизмы аппаратной поддержки операционных систем
Защита адресного пространства процессов
73
Ограничение программного доступа в сегменты памяти для
чтения или записи
75
Защита по привилегиям
78
8. Переключение процессов в защищенном режиме
87
Сегмент состояния процесса
87
Способы инициализации переключения
90
Механизм выполнения переключения процессором
92
9. Организация прерываний в защищенном режиме
95
Источники и типы прерываний
95
Дескрипторная таблица прерываний
96
Механизм выполнения прерывания процессором
97
10. Программное переключение процессора из реального в
защищенный режим
99
4

Ларина Т.Б. Механизмы аппаратной поддержки операционных систем
1. Введение
Структура вычислительной системы
Основными компонентами любой вычислительной системы
являются: процессор, основная память, состоящая из модулей ОЗУ и
ПЗУ, и специализированные контроллеры внешних (периферийных)
устройств.
Рис.1 – Обобщенная структура вычислительной системы
Системная шина. Характерной особенностью современных
вычислительных систем является магистральная структура связи всех
узлов на основе системной шины. Системная шина интегрирует в себе
шину данных (ШД), шину адреса (ША) и шину управления.
Разрядность ШД всегда соответствует разрядности процессора. По
ней процессор выполняет чтение/запись байтов в память или порты
контроллеров.
Разрядность ША зависит от возможностей схемотехнической
реализации объема основной памяти на системной плате. На шину
адреса процессор выставляет физический адрес байта памяти, куда
должно происходить обращение для чтения или записи байтов. Отсюда
следует, что процессор сможет обратиться к любому байту памяти с
адресами от 0 до 2
ограничен 2
N
байтами (где N- разрядность шины адреса).
Основная память. Состоит из энергозависимых модулей ОЗУ,
теряющих информацию при снятии питания и энергонезависимых
модулей ПЗУ. Первые занимают подавляющий объем пространства
общей памяти и предназначены для загрузки в нее программ для
N
-1, а общий объем доступной памяти будет
5

Ларина Т.Б. Механизмы аппаратной поддержки операционных систем
исполнения процессором: как программ операционной системы, так и
прикладных программ.
В модулях ПЗУ уже размещены программные процедуры, которые
являются «принадлежностью» системной платы. Они могут
выполняться процессором на этапе, когда операционная система в
память еще не загружена. Эти программы реализуют тестирование
узлов системы, инициализацию загрузки операционной системы,
низкоуровневый доступ к внешним устройствам и другие системные
задачи.
Процессор. Устройство, выполняющее обработку информации,
согласно заданному в памяти в виде последовательности команд
процессора алгоритму («исполняемая программа»). Процессор
содержит регистры – запоминающие устройства небольшой
разрядности. Часть регистров является программно-недоступными, их
использует сам процессор. Программно-доступные (через систему
команд) регистры разделяются на специализированные регистры и
регистры общего назначения.
Максимальная разрядность регистров общего назначения,
предназначенных для работы с данными, определяет то, что называют
«разрядностью» процессора.
Называем узел процессора на системной плате «центральным
процессором», поскольку аппаратные узлы, в частности, контроллеры
сами содержат микропроцессоры и память с исполняемой программой.
В каждом командном цикле последовательный процессор
считывает команду из памяти, адрес которой он определяет,
руководствуясь значением в регистре Указатель команд (Instruction
Pointer - IP). После чего значение в IP увеличивается на длину
прочитанной команды в байтах. Процессор дешифрирует прочитанную
команду, считывает при необходимости операнды для команды из
памяти и исполняет ее. Следующий командный цикл будет выполняться
над командой, новый указатель которой уже находится в IP и так далее.
Так реализуется последовательный принцип чтения процессором
команд из памяти и их исполнения.
Называя выше процессор «последовательным», имеем в виду
идеологическую суть работы процессора, как выполнение
последовательности командных циклов. Но даем себе отчет, что в
вычислительной системе может быть несколько процессоров. Или один
процессор, но с аппаратно-реализованными механизмами
конвейеризации в исполнении команд, «многоядерные» процессоры.
6

Ларина Т.Б. Механизмы аппаратной поддержки операционных систем
Контроллеры (адаптеры). Каждое внешнее устройство
подключается к вычислительной системе через соответствующий
контроллер. Контролеры внешних устройств в большинстве являются
программируемыми устройствами со своим процессором и встроенной
памятью, предназначенные для логического и физического управления
внешним устройством. Внутри контроллеров есть 8-разрядные регистры
- «порты», через которые и выполняется информационная связь
процессора с соответствующим контроллером. Порты всех
контроллеров в вычислительной системе имеют сквозную нумерацию.
Для обращения к портам в системе команд процессора есть
специальные команды, например IN или OUT. Процессор только
программно инициирует выполнение операции контроллером, посылая
в порт управления нужную комбинацию кода. Далее, все делает
контроллер, не занимая процессор. Процессор может опросить
состояние контроллера, прочитав из определенного порта контроллера
байт состояния. Если контроллер сам предполагает инициировать связь
с процессором, это делается через аппаратное прерывание. То есть,
контроллеры работают асинхронно по отношению к процессору.
Помимо контроллеров внешних устройств, на системной плате
предусмотрены контроллеры специализированного назначения.
Например, контроллер прерываний. На базе контроллера прерываний
организуется многоуровневая система аппаратных прерываний от
внешних устройств.
Понятие и основные задачи операционной системы
Операционная система (ОС) - это программа (комплекс программ),
обеспечивающий функционирование вычислительной системы.
Операционная система вычислительной системы общего
назначения включает в себя:
• управляющую программу;
• операционную среду ОС;
• системный сервис;
• пользовательские интерфейсы.
Взаимодействие этих компонент показано на рисунке 2.
Инициализация загрузки ОС, как программы, в оперативную память
происходит аппаратно. После загрузки ОС создает «операционную
среду» для пользователя и прикладных программ.
7

Ларина Т.Б. Механизмы аппаратной поддержки операционных систем
Рис.2 – Структура программного обеспечения вычислительной
системы
Операционная среда представляет вычислительную систему
пользователю и прикладным программам в виде «виртуальной
машины», в которой за условной формой скрыты все реальные аспекты
работы системы. Это избавляет пользователя от необходимости
специальных знаний для работы с системой.
Операционная среда включает в себя набор системных функций
(сервисов), которыми должна пользоваться прикладная программа для
обращения к любым ресурсам. Системный сервис, с одной стороны
избавляет программы от прямого низкоуровневого обращения к
ресурсам. С другой стороны, обращение к ресурсам через системный
сервис гарантирует защиту от некорректного или нежелательного
программного доступа со стороны прикладных программ.
Набор всех системных функций в ОС и правил их вызова
называют интерфейсом прикладного программирования (API –
application program interface). API у различных операционных систем,
как правило, различны, следовательно, прикладные программы не будут
переносимы. Для преодоления этого в некоторые операционные
системы включают различные программные среды, эмулирующие
операционную среду других операционных систем.
Пользователь обращается к вычислительной системе через
интерфейс, предоставляемый операционной системой. Операционная
среда может иметь несколько пользовательских интерфейсов:
обязательный интерфейс командной строки и один или несколько
графических интерфейсов.
8

Ларина Т.Б. Механизмы аппаратной поддержки операционных систем
В функции управляющей программы входит:
• организация исполнения прикладных программ;
• распределение и управление ресурсом памяти;
• управление распределением процессорного времени (в
многозадачных ОС);
• управление вводом-выводом;
• восстановление системы при сбоях
Операционная система, по крайней мере, ее низкоуровневый слой
программного обеспечения, базируется на особенностях процессорной
архитектуры – «аппаратной платформе», в этом смысле ее можно
называть аппаратно-зависимой программой.
Операционная система и аппаратное обеспечение всегда идут рука
об руку. Развитие процессорных архитектур, появление новых
аппаратных возможностей приводит к новым решениям в области
программного управления вычислительной системой.
Если говорить об основной миссии операционной системы, то
независимо от ее типа, назначения, аппаратной платформы, она должна
обеспечивать решение двух главных задач.
1. Управление процессором и планирование исполнения программ.
Классическое название этой задачи операционной системы «организация вычислительного процесса» в вычислительной системе.
Управление процессором предполагает формирование для процессора
адреса памяти, где размещен код очередной исполняемой программы и
в нужный момент «переключение» процессора на ее исполнение.
Планирование исполнение программ предполагает организацию
очередности предоставления программ на исполнение процессору,
которая была бы максимально справедливой по отношению ко всем
программам, претендующим на исполнение.
2. Управление ресурсами вычислительной системы.
Под ресурсом имеется в виду любой объект вычислительной
системы (программный или аппаратный), который может быть
предоставлен в использование исполняемой программе.
Например, программе надо выделять место в оперативной памяти
для ее исполнения процессором – ресурс памяти, программа хочет
создать дисковый файл - ресурс внешнего устройства, исполняемая
программа хочет обратиться к системному сервису операционной
системы – это программный ресурс, и так далее.
9

Ларина Т.Б. Механизмы аппаратной поддержки операционных систем
Все остальные функционалы операционной системы можно
считать задачами второго плана по сравнению с этими основными
задачами. Без их выполнения вычислительная система в принципе не
может функционировать.
Цель и задачи данного учебного пособия – показать «аппаратную
зависимость» операционной системы. То есть, речь идет о программно аппаратных механизмах, лежащих в основе функционирования
операционной системы. Содержание пособия акцентировано на методах
организации вычислительного процесса, управления и защиты ресурсов
в операционных системах, реализация которых невозможна без
аппаратной поддержки процессора.
В изложении вопросов аппаратной поддержки процессора за
основу взята аппаратная платформа процессоров х86.
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
