
- •Организация вычислительного процесса ос. Концепция процессов и потоков.
- •Мультипрограммирование.
- •Создание процессов и потоков, их модели.
- •Планирование заданий, процессов и потоков.
- •Физическая организация памяти.
- •Функции ос по управлению памятью.
- •Распределение памяти.
- •Распределение памяти фиксированными разделами. Применяют 2 основные модели.
- •Распределение памяти динамическими разделами.
- •Динамическое распределение памяти перемещаемыми разделами.
- •Аппаратная поддержка перемещения.
- •Методы структуризации виртуального адресного пространства.
- •Страничная организация виртуальной памяти.
- •Сегментная организация виртуальной памяти.
- •Сегментно-страничная организация виртуальной памяти.
- •Подсистема ввода-вывода
- •Типы устройств по принципам функционирования
- •Основные функции подсистемы ввода-вывода
- •Организация параллельной работы устройств ввода-вывода и процессора
- •Согласование скоростей обмена и кэширования данных:
- •Разделение устройств и данных между процессами:
Организация параллельной работы устройств ввода-вывода и процессора
Эволюция ввода-вывода
Процессор непосредственно управляет периферийным устройством.
Устройство управляется контроллером. Процессор использует программируемый ввод-вывод без прерываний (переход к абстракции интерфейса ввода-вывода)
Использование контроллера прерываний. Ввод-вывод, управляемый прерываниями
Использование модуля (канала) прямого доступа к памяти. Перемещение данных в память (из нее) без использования процессора
Использование отдельного специализированного процессора ввода-вывода, управляемого центральным процессором
Использование отдельного компьютера для управления устройствами ввода-вывода при минимальном вмешательстве центрального процессора
Вмешательство ЦП в функции ввода-вывода постоянно снижается. ЦП стараются максимально освободить от задач ввода-вывода, что приводит к повышению общей производительности вычислительного комплекса
Для современных персональных ЭВМ операции ввода-вывода могут выполняться тремя способами:
С помощью программируемого ввода-вывода. В случае обработки процессором команды ввода-вывода он выполняет ее, посылая соответствующую команду контроллеру ввода-вывода. Контроллер выполняет требуемое действие, а процессор находится в режиме ожидания, периодически проверяя завершение операции ввода-вывода. ЦП непосредственно управляет операциями ввода-вывода, определяет состояние устройств ввода-вывода и осуществляет передачу данных. Основным недостатком этого метода является значительный по времени простой ЦП в ожидании.
Ввод-вывод, управляемый прерываниями. ЦП посылает необходимые команды контроллеру и продолжает выполнять текущий процесс, если нет необходимости в ожидании операции ввода-вывода. В противном случае текущий процесс приостанавливается до получения сигналов прерывания о завершении ввода-вывода, а процессор переключается на выполнение другого процесса. Наличие прерываний ЦП проверяет в конце каждого цикла команд. Данный метод достаточно эффективен т.к. исключает бесполезный простой ЦП. Но и здесь ввод-вывод потребляет значительное кол-во времени ЦП т.к. каждое слово, передаваемое из памяти в контроллер (или обратно) проходит через ЦП.
Прямой доступ к памяти (DMA - Direct Memory Access). В этом случае специальный модуль прямого доступа к памяти управляет обменом данными между основной памятью и контроллером. ЦП посылает запрос на передачу блока данных модулю DMA, а прерывание происходит только после передачи всего блока данных. DMA-контроллер имеет доступ к системной шине независимо от ЦП. Он содержит несколько регистров, доступных ЦП. Они задают, какой порт ввода-вывода должен быть использован, направление переноса данных, единицы переноса информации (байт, бит, слово…), а также число байтов, переносимых за одну операцию
Приостановка ЦП происходит только при использовании шины. Это не является прерыванием т.к. ЦП не сохраняет контекст для перехода к другому заданию. Он просто делает паузу на время одного цикла шины.
При большом количестве устройств ввода-вывода от ОС требуется спланировать в реальном масштабе времени. Запуск и приостановку большого количества РАЗНЫХ драйверов. При этом необходимо минимизировать задачи ЦП задачами ввода-вывода. Это достигается применением многоуровневой системы прерывания.