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