
- •Содержание
- •Лекция №7. Планирование процессов. Алгоритмы планирования процессов. 35
- •Лекция №8. Вытесняющие и невытесняющие алгоритмы планирования. Взаимодействие процессов. 40
- •Лекция №13. Файлы. Типы файлов. 83
- •Предисловие
- •Лекция №1. Этапы развития операционных систем.
- •Лекция №2. Общие сведения об ос.
- •По способу организации вычислений:
- •По назначению (областям использования):
- •По режиму обработки (Поддержка многозадачности):
- •По количеству одновременно работающих пользователей:
- •По концепции организации:
- •По особенностям аппаратных платформ:
- •Лекция №3. Интерфейс. Операционное окружение.
- •Вспомогательные модули ос (модули-приложения)
- •2. Микроядерная архитектура ос
- •3. Монолитное ядро.
- •Лекция №5. Обработка прерываний.
- •Лекция №6. Процессы.
- •Лекция №7. Планирование процессов. Алгоритмы синхронизации процессов.
- •Лекция №8. Вытесняющие и невытесняющие алгоритмы планирования. Взаимодействие процессов.
- •Взаимодействие процессов
- •Лекция №9. Ввод-вывод. Управление вводом-выводом.
- •Организация программного обеспечения ввода-вывода
- •3. Независимое от устройств программное обеспечение ввода-вывода
- •4. Пользовательский слой программного обеспечения.
- •Лекция №10. Память. Управление реальной памятью.
- •Лекция №11. Методы распределения без использования внешней памяти.
- •1. Распределение памяти фиксированными разделами (схема с фиксированными разделами).
- •2. Распределение памяти разделами переменной величины
- •3. Перемещаемые разделы
- •Лекция №12. Виртуальная память. Методы виртуализации памяти. Понятие виртуальной памяти
- •Рассмотрим подробнее каждый из методов виртуальной памяти. Страничное распределение
- •Свопинг.
- •Лекция №13. Файлы. Типы файлов.
- •Лекция №14. Логическая и физическая организация файлов. Логическая организация файла.
- •Физическая организация файла.
- •4. Перечень номеров блоков.
- •Лекция № 15. Доступ к файлам.
- •Лекция № 16. Файловая система. Надежность файловой системы.
- •1. Резервное копирование
- •2. Непротиворечивость файловой системы
- •1. Кэширование.
- •2. Опережающее чтение блока.
- •3. Снижение времени перемещения блока головок.
- •Лекция № 17. Общая модель файловой системы
- •Современные архитектуры файловых систем.
- •Лекция № 18. Обзор файловых систем.
Лекция №9. Ввод-вывод. Управление вводом-выводом.
Устройства ввода-вывода.
Функционирование любой вычислительной системы обычно сводится к выполнению двух видов работы: обработке информации и операций по осуществлению ее ввода-вывода.
Содержание понятий «обработка информации» и «операции ввода-вывода» зависит от того, с какой т. зрения смотреть на них.
С т. зрения программиста под «обработкой информации» понимается выполнение команд процессора над данными, лежащими в памяти независимо от уровня иерархии – в регистрах, кэш, оперативной или вторичной памяти. Под «операциями ввода-вывода» программист понимает обмен данными между памятью и устройствами, являющимися внешними по отношению к памяти и процессору, такими как магнитные ленты, диски, монитор, клавиатура, таймер.
С т. зрения ОС «обработкой информации» являются только операции, совершаемые процессором над данными, находящимися в памяти на уровне иерархии не ниже, чем оперативная память. Все остальное относится к «операциям ввода-вывода». Чтобы совершить операции над данными, временно расположенными во вторичной памяти, ОС сначала производит их подкачку в оперативную память, а лишь затем процессор совершает необходимые действия.
Одной из главных функций ОС является управление всеми устройствами ввода-вывода компьютера. ОС должна передавать устройствам команды, перехватывать прерывания и обрабатывать ошибки; она также должна обеспечивать интерфейс между устройствами и остальной частью системы. В целях развития интерфейс должен быть одинаковым для всех типов устройств (независимость от устройств).
Устройства ввода-вывода делятся на две категории (некоторые не попадают ни в одну):
- блок-ориентированные устройства;
- байт-ориентированные устройства.
Блок-ориентированные устройства хранят информацию в блоках фиксированного размера, каждый из которых имеет свой собственный адрес. Самое распространенное блок-ориентированное устройство - диск.
Байт-ориентированные устройства не адресуемы и не позволяют производить операцию поиска, они генерируют или потребляют последовательность байтов. Примерами являются терминалы, строчные принтеры, сетевые адаптеры. Информация считывается и записывается посимвольно (принтер, сетевые карты, мыши).
Однако некоторые внешние устройства не относятся ни к одному классу, например, часы, которые, с одной стороны, не адресуемы, а с другой стороны, не порождают потока байтов. Это устройство только выдает сигнал прерывания в некоторые моменты времени.
Внешнее устройство:
-механический компонент
-электронный компонент.
Электронный компонент называется контроллером устройства или адаптером.
Механический компонент представляет собственно устройство (диск, принтер, монитор).
Некоторые контроллеры могут управлять несколькими устройствами. Если интерфейс между контроллером и устройством стандартизован, то независимые производители могут выпускать совместимые как контроллеры, так и устройства.
Операционная система обычно имеет дело не с устройством, а с контроллером. Контроллер, как правило, выполняет простые функции (например, при считывании с диска преобразует поток бит в блоки, состоящие из байт, и осуществляют контроль и исправление ошибок). Каждый контроллер имеет несколько регистров, которые используются для взаимодействия с центральным процессором. В некоторых компьютерах эти регистры являются частью физического адресного пространства. В таких компьютерах нет специальных операций ввода-вывода. В других компьютерах адреса регистров ввода-вывода (порты) образуют собственное адресное пространство за счет введения специальных операций ввода-вывода (например, команд IN и OUT в процессорах i86).
Каждый контроллер имеет, по крайней мере, четыре внутренних регистра, называемых регистрами состояния, управления, входных данных и выходных данных, которые используются для взаимодействия с ЦП. Для доступа к содержимому этих регистров вычислительная система может использовать один или несколько портов. Будем считать, что каждому регистру соответствует свой собственный порт (устройства ввода-вывода через них подключатся к системе).
ОС выполняет ввод-вывод, записывая команды в регистры контроллера. Например, контроллер гибкого диска IBM PC принимает 15 команд, таких как READ, WRITE, SEEK, FORMAT и т.д. Когда команда принята, процессор оставляет контроллер и занимается другой работой. При завершении команды контроллер организует прерывание для того, чтобы передать управление процессором операционной системе, которая должна проверить результаты операции. Процессор получает результаты и статус устройства, читая информацию из регистров контроллера.
Каждый контроллер имеет несколько регистров, которые используются для взаимодействия с центральным процессором. При помощи этих регистров ОС управляет (считывает, пишет, включает и т.д.) и определяет состояние (готовность) устройства.