
- •1. Операционные системы. Назначение и функции
- •2. Понятие операционной среды
- •3. Классификация операционных систем
- •4. Однопрограммный и мультипрограммный (мультизадачный) режимы
- •5. Прерывания; их назначение и функции.
- •6. Механизм обработки прерываний.
- •7. Внешние (асинхронные) и внутренние (синхронные) прерывания
- •8. Дисциплины обслуживания, используемые при программном управлении специальными регистрами маски (маскирование сигналов прерывания)
- •9. Вычислительный процесс и ресурсы
- •10. Основные принципы мультипрограммирования.
- •11. Ресурсы. Классификация ресурсов
- •12. Вычислительные процессы и задачи
- •13. Условия выделения ресурсов задачам
- •14. Диаграмма состояний процесса; дескриптор процесса
- •15. Основные виды ресурсов
- •16 Планирование и диспетчеризация процессов и задач; стратегии планирования.
- •17. Бесприоритетные и приоритетные дисциплины диспетчеризации
- •18. Дисциплины диспетчеризации
- •19. Дисциплина обслуживания sjn
- •20. Дисциплина обслуживания srt
- •21. Карусельная дисциплина диспетчеризации
- •22. Управление памятью в операционных системах.
- •24 Простое непрерывное распределение и распределение с перекрытием
- •25. Методы неразрывного распределения памяти; распределение разделами с фиксированными и подвижными границами
- •26. Сегментный способ организации виртуальной памяти. Свопинг сегментов.
- •27. Страничный способ организации виртуальной памяти.
- •28. Методы разрывного распределения памяти. Принцип буферизации.
- •29. Сегментно-страничный способ организации виртуальной памяти
- •30. Управление вводом-выводом в операционных системах: основные концепции организации ввода-вывода в ос
- •31. Режимы управления вводом-выводом.
- •32. Закрепление устройств; общие устройства ввода-вывода
- •33. Основные системные таблицы ввода-вывода
- •34. Файлы и организация работы с ними
- •35. Файловые системы и их особенности
- •36. Лекция. Взаимодействие процессов. Синхронизация. Тупики
- •1. Состав команд управления ос Windows.
- •2. Команды файловой системы ос Windows
- •3. Команды справочной системы ос Windows
- •4. Команды пакетных данных ос Windows
- •5. Разработка командных(пакетных) файлов ос Windows
31. Режимы управления вводом-выводом.
Поэтому самым главным является следующий принцип:
Любые операции по управлению вводом-выводом объявляются привилегированными и могут выполняться только кодом самой системы. Для обеспечения этого принципа в большинстве процессоров вводятся режимы пользователя и супервизора (привилегированный режим, режим ядра). В режиме супервизора выполнение команд ввода-вывода разрешено, а в режиме пользователя – запрещено. Обращение к командам ввода-вывода в пользовательском режиме вызывает исключение – определенный вид внутреннего прерывания (хотя возможны и более сложные схемы).
32. Закрепление устройств; общие устройства ввода-вывода
Многие устройства, прежде всего, устройства с последовательным доступом, не допускают совместного использования. Такие устройства могут стать закрепленными за процессом на все время его жизни. Однако, это приводит к тому, что вычислительные процессы не могут выполняться параллельно, т.к. ожидают освобождения УВВ. Чтобы организовать совместное использование многими параллельно выполняющимися задачами не разделяемых УВВ, вводится понятие виртуальных устройств.
Имитация работы с устройством в режиме непосредственного подключения к нему называется спулингом (spooling – Simultaneous Peripheral Operation On-Line). Основное назначение спулинга – создать видимость разделения УВВ, которое фактически является устройством с последовательным доступом и должно использоваться только монопольно и быть закрепленным за процессом.
Каждому вычислительному процессу предоставляется не реальный, а виртуальный принтер, и поток выводимых символов сначала направляется в специальный файл на диске (спул-файл – spool-file) и только потом, по окончании виртуальной печати, в соответствии с принятой дисциплиной обслуживания и приоритетами приложений содержимое спул-файла выводится на принтер. Системные процессы, управляющие спул-файлами, называют спулером чтения (spool-reader) или спулером записи (spool-writer). Например, Microsoft различает понятия «принтер» и «устройство печати». Принтер – это некоторая виртуализация, объект ОС, а устройство печати – это физическое устройство, которое может быть подключено к компьютеру.
Таблицами ввода-вывода называют информационные структуры, которые используются ОС для управления всеми операциями ввода-вывода и отслеживания состояния всех ресурсов, занятых в обмене данными.
33. Основные системные таблицы ввода-вывода
Каждая ОС имеет свои таблицы ввода-вывода, состав которых может отличаться, хотя в некоторых системах вместо таблиц создаются списки. Исходя из принципа управления вводом-выводом исключительно через супервизор ОС и учитывая, что драйверы устройств ввода-вывода используют механизм прерываний для установления обратной связи центральной части с внешними устройствами, можно сделать вывод о необходимости создания по крайней мере трех системных таблиц (списков):
А)таблица оборудования (элементы таблицы UCB – Unit Control Block) – содержит информацию обо всех устройствах ввода-вывода, подключенных к вычислительной системе;
Б)таблица виртуальных логических устройств – предназначена для установления связи между виртуальными (логическими) устройствами и реальными устройствами, описанными посредством таблицы оборудования;
В)таблица прерываний – необходима для организации обратной связи между центральной частью и устройствами ввода-вывода.
Взаимосвязи между таблицами изображены на рисунке
Запрос на операцию ввода-вывода от выполняющейся программы поступает на супервизор задач (рисунок 14.2, шаг 1). Этот запрос представляет собой обращение к ОС и указывает на конкретную функцию API. Вызов сопровождается некоторыми параметрами, уточняющими требуемую операцию. Модуль ОС, принимающий от задач запросы на те или иные действия, называют супервизором задач.
Синхронный и асинхронный ввод-вывод.
Задача, выдавшая запрос на операцию ввода-вывода, переводится супервизором в состояние ожидания завершения заказанной операции. Когда супервизор получает от секции завершения сообщение о том, что операция завершилась, он переводит задачу в состояние готовности к выполнению, и она продолжает выполняться. Такая ситуация соответствует синхронному вводу-выводу, который является стандартным для большинства операционных систем.
Для увеличения скорости выполнения приложений при необходимости может использоваться асинхронный ввод-вывод. Его простейшим вариантом является буферизованный вывод данных на внешнее устройство, при котором данные из приложения передаются в специальный системный буфер – область памяти, отведенную для временного размещения передаваемых данных. В этом случае логически операция вывода для приложения считается выполненной сразу же, и задача может не ожидать окончания действительного процесса передачи данных на устройство. Для организации асинхронного ввода следует не только выделить область памяти для временного хранения считываемых данных и связать выделенный буфер с задачей, заказавшей операцию, но и сам запрос на операцию ввода-вывода разбить на две части (первая - на считывание данных также как и при синхронном вводе-выводе, вторая – на завершение считывания). Асинхронный ввод-вывод характерен для большинства мультипрограммных ОС, особенно тех, которые поддерживают мультизадачность с помощью механизма потоков выполнения.