- •Понятие и роль операционной системы
- •Операционные системы, их модули и машинные команды
- •Функции операционной системы
- •Поколения операционных систем
- •Задачи, процессы и ресурсы
- •Диаграмма состояния процесса
- •Виды процессов
- •Ресурсы
- •Структуризация операционных систем
- •Операционные и программные среды
- •Очередь и стек
- •Машинная команда и способы адресации
- •Система прерываний
- •Обработка прерывания в простых операционных системах
- •Обработка прерывания в сложных операционных системах
- •Источники прерывания
- •Дисциплины обслуживания
- •Приоритеты прерываний
- •Режимы работы операционной системы
- •Управление памятью
- •Задачи управления памятью
- •Память и отображение адресов
- •Память и отображения адресов
- •Способы распределения памяти
- •Простое непрерывное распределение памяти
- •Сегментно-страничное распределение памяти
- •Свопинг сегментов и страниц
- •Жесткий диск Устройство накопителя на жестком диске
- •Адресация секторов
- •Логическая структура диска
- •«Проблема четвертого раздела» и ее решение
- •Файловые системы операционных систем Файлы и каталоги
- •Файлы и атрибуты
- •Понятие файловой системы
- •Понятие системы управления файлами
- •Взаимодействия системы управления файлами и операционной системы
- •Монтируемые системы управления файлами
- •Обзор файловых систем
- •Файловые системы fat16, vfat и fat32
- •Файловая система ntfs
- •Реализация процессов в операционной системе
- •Дисциплины диспетчеризации процессов
- •Тупики Сеть Петри: понятие
- •Сеть Петри: графическое представление
- •Условия возникновения тупиков
- •Обход тупика
- •Установка операционной системы
- •Настройка профиля пользователя
- •Настройка меню «Пуск»
- •Обслуживание диска
- •Подключение к сети. Обеспечение безопасности
- •Подключение через маршрутизатор
- •Безопасность операционных систем
- •Системные службы
- •Виртуальная машина
Машинная команда и способы адресации
Машинная команда – это последовательность битов длиной в 1, 2 и более байтов, которая определяет выполняющуюся операцию и источники данных. Обязательным элементом которой является код операции. Операндов может быть несколько.
Способ адресации – это способ задания адресов выполняемой команды.
Бывают следующие типы адресации:
-
непосредственная (данные указываются непосредственно в команде);
-
прямая (в адресной части указывается адрес ячейки памяти данных);
-
регистровая (адрес хранится в одном из регистров процессора);
-
несколько разновидностей косвенной адресации (адрес ячейки памяти данных хранится в регистре процессора, который называется индексным или вычисляется по содержимому одного из регистров процессора).
Вспомните! Массив – множество однотипных данных, которые находятся в ОЗУ и имеют одинаковые имя (индексы).
Система прерываний
Прерывание – это временная остановка программы, для обработки какого-либо события (например, нажатия клавиши, запроса принтера и т.п.). Программа обрабатывающая событие называется обработчиком прерывания.
Функции системы прерывания:
-
Фиксация и распознавание прерывания
-
Передача и управления программе-обработчику
-
Корректное возвращение управления прерванной программы
Механизм прерывания реализуются аппаратными средствами, но все прерывания влекут за собой изменения порядка выполнения команд.
При обработке прерывания существенное значение имеет состояние процесса вычислений и контекст программы.
Программный счетчик хранит адрес текущей команды подлежащей выполнению.
Обработка прерывания в простых операционных системах
Выполняемые действия:
-
Адрес возврата записывается в стек;
-
Адрес программы-обработчика прерывания записывается в регистр PC, что приводит к передаче управления программе-обработчику;
-
Выполняется обработчик прерывания;
-
В регистр PC переписывается из стека адреса возврата, что приводит к возвращению управления основной программе.
(1 – запрет прерывания, 2 – собственно обработчик, 3 – разрешение прерывания)
Запрет прерывания касается события такого же уровня значимости, как и событие вызвавшее текущее прерывание.
Программа, обрабатывающая прерывание, состоит из трёх блоков:
-
отключение прерывания и сохранения в памяти контекста программы, установка временного режима работы прерываний;
-
выполнение обработки прерывания;
-
восстановление контекста прерванной программы, восстановление исходного режима прерываний, передача управления прерванной программе.
Обработка прерывания в сложных операционных системах
(1_С, 2_С – секции кода супервизора СВП; 1_Д, 2_Д – секции кода диспетчера задач; ПОП – программа обработки прерывания)
В сложных системах существует режим мультипрограммирования, т.е. обслуживания нескольких задач. Поэтому в обслуживании прерывания участвуют специальные элементы операционной системы – супервизор прерываний и диспетчер задач. Адрес возврата передаётся супервизору прерываний, состоящему из двух блоков:
-
1_С – отключение прерываний, сохранение контекста прерванной программы в её дескрипторе, установка временного режима работы прерываний, сохранение адреса возврата;
-
2_С – определение вектора прерывания и передача ему управления посредством записи вектора прерывания в регистр РС.
Программа обслуживания прерывания ПОП выполняет только обработку прерывания, не несёт никакой ответственности за дальнейшие действия вычислительной машины и передаёт управление диспетчеру задач. Диспетчер задач состоит также из двух блоков, которые выполняют следующие действия:
-
1_Д – отыскивает программу, готовую к выполнению, ею может быть или прерванная программа, или другая в соответствии с дисциплиной обслуживания программ;
-
2_Д – если обслуживанию подлежит прерванная программа, то восстанавливает контекст программы, устанавливает контекст программы и переписывает адрес возврата из стека в регистр РС, передавая тем самым управление прерванной программе.
Если по дисциплине обслуживания программ управление должно передаваться другой программе, то выполняются другие готовые к выполнению программы до тех пор, пока не будет на очереди прерванная программа. В этом случае процесс обслуживания прерывания завершается описанным выше способом.