ОС. (с) Кафедра ИСТ, Маракасов Ф. В. 2005.

  • Размер: 725.5 Кб
  • Количество слайдов: 46

Описание презентации ОС. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. по слайдам

 ОС. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) D. Solomon, M. Russi novich 1 ОС. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) D. Solomon, M. Russi novich 1 Операционные системы Лекция № 7. Управление вводом-выводом

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 2 Структурная организация компьютерных систем Дж. фон Неймана Устройство оперативной памяти для хранения данных и программ Центральное процессорное управление (ЦПУ) Арифметическое и логическое устройство Устройство управления выполнением программы Оборудование ввода-вывода Связи между компонентами – магистраль (шина)

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 3 Структурная организация компьютерных систем Дж. фон Неймана

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 4 Магистраль Средство соединения двух и более устройств в компьютерной системе Обычно имеется общая магистраль для всех устройств в компьютере Структура магистрали Линии адреса Линии данных Линии управления

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 5 Подключение устройств к магистрали (шине)

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 6 Линии адреса Определяют адреса источника и приёмника данных Ширина адресной магистрали определяет максимальный объём адресуемой памяти. Типичные разрядности ( битов): 16 ( Intel 8080) , 20 ( Intel 8086), 32 (Intel 80386), 36 (Intel Pentium), 64 (Intel Itanium /Itanium 2)

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 7 Линии данных Передаёт данные (на уровни магистрали не делается различий между «данными» и «инструкциями» ) Ширина магистрали данных определяет производительность системы Типичные разрядности (битов): 8 ( Intel 8080), 16 (Intel 8086), 32 (Intel 80386), 64 (Intel Pentium)

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 8 Линии управления Передаёт управляющие и синхронизирующие сигналы Сигналы на чтение/запись памяти Запросы на прерывание Тактовые импульсы (синхронизирующие сигналы)

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 9 Иерархия магистралей в компьютерных системах

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 10 Сложность систем ввода-вывода Широкий набор различных типов периферийных устройств Передача данных различного объёма На разных скоростях В различных форматах Устройства обладают меньшей производительностью, чем память или ЦПУ Требуют специальных модулей (контроллеров) ввода-вывода

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 11 Модуль ( контроллер) ввода-вывода Имеет интерфейс для подключения к ЦПУ и памяти, т. е. к системной магистрали. Имеет интерфейс подключения к одному или нескольким периферийным устройствам

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 12 Структура модуля ввода-вывода

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 13 Функции модуля ввода-вывода Управление и синхронизация Взаимодействие с ЦПУ Взаимодействие с устройством Буферизация данных Обнаружение ошибок

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 14 Структура модуля ввода-вывода

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 15 Алгоритм работы с модулем ввода-вывода 1. ЦПУ запрашивает статус устройства у модуля ввода-вывода. 2. Модуль ввода-вывода возвращает статус. 3. Если готово, ЦПУ запрашивает передачу данных. 4. Модуль ввода-вывода получает данные с устройства. 5. Модуль передаёт данные ЦПУ 6. Для операций передачи данных существует несколько решений.

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 16 Решения для организации ввода-вывода Программируемый ( PIO) Управляемый прерываниями Прямой доступ к памяти ( DMA)

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 17 Решения для организации ввода-вывода

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 18 Ввод-вывод в операционных системах Эффективность Большинство устройств ввода-вывода намного медленнее основной памяти. Использование мультипрограммирования позволяет некоторым процессам ждать завершения операций ввода-вывода, выполняя в это время другие процессы Операции подкачки в основную память являются операциями ввода-вывода. Даже при наличии большого объёма основной памяти операции ввода-вывода будут отставать от процессора

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 19 Ввод-вывод в операционных системах Универсальность Желательна единая модель управления различными устройствами Требуется скрыть детали управления устройствами в низкоуровневых модулях (драйверах устройств). Предоставить процессам работу с устройствами посредством высокоуровневых вызовов: Открытие/закрытие, чтение/запись, блокирование/разблокирование и т. п.

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 20 Подсистема ввода-вывода в ОС (1) Организация параллельной работы устройств ввода-вывода и процессора Согласование скоростей обмена и кэширование данных Безопасное и защищённое разделение устройств и данных между процессами Обеспечение удобного логического интерфейса между устройствами и остальной частью системы

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 21 Подсистема ввода-вывода в ОС (2) Поддержка широкого спектра драйверов с возможностью простого включения в систему нового драйвера Динамическая загрузка и выгрузка драйверов по указанию пользователя или за счёт автоматического реконфигурирования ( Pn. P) Поддержка нескольких файловых систем Поддержка синхронных и асинхронных операций ввода-вывода Поддержка перехода системы и отдельных устройств в состояния с низким энергопотреблением

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 22 Организация параллельной работы устройств ввода-вывода и процессора Каждое устройство снабжено модулем (контроллером) ввода-вывода Модуль ввода-вывода взаимодействует с драйвером Под управлением модуля ввода-вывода устройство может некоторое время функционировать независимо от процессора

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 23 Организация параллельной работы устройств ввода-вывода и процессора От подсистемы ввода-вывода требуется спланировать в реальном времени запуск и приостановку большого количества драйверов и минимизировать загрузку процессора задачами ввода-вывода Распределение всех драйверов по уровням приоритета обслуживания прерываний

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 24 Программные уровни обслуживания прерываний ( IRQL) Программные прерывания Операционная система Устройство 1 …Устройство n. Таймер NMI IRQL Устройство

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 25 Согласование скоростей обмена и кэширование данных Все устройства имеют различные скоростные характеристики. Например пересылка файла через модемное соединение (операция ввода-вывода с жёсткого диска на коммуникационный порт) Буферизация в операциях ввода-вывода Без буферизации ( прямой ввод-вывод , direct I/O ) Буферизированный ввод-вывод (buffered I/O) С одним буфером С двумя буферами С круговым буфером

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 26 Буферизация в операциях ввода-вывода

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 27 Буферизация в операциях ввода-вывода Двойная буферизация Используются два системных буфера Процесс может записывать или считывать из одного буфера, пока система заполняет или освобождает другой

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 28 Буферизация в операциях ввода-вывода Круговой буфер Используется больше двух буферов Буферы организуются в круговой Используется при интенсивных операциях ввода-вывода процессом

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 29 Кэширование данных Буферизация в основной памяти данных для всех драйверов файловых систем Кэширование на основе логических блоков (смещение внутри дисковых разделов) Кэширование на основе виртуальных блоков (смещение внутри файлов) Опережающее кэширование

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 30 Обеспечение удобного логического интерфейса между устройствами и остальной частью системы Поддержка файловой модели представления периферийных (базисная модель) Любое устройство выглядит для прикладного программиста как последовательность байтов Подобная модель для некоторых устройств выглядит слишком бедной и на её основе строятся модели управления для конкретных устройств Графический адаптер Принтер Сетевой обмен и т. д.

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 31 Поддержка широкого спектра драйверов Необходимо наличие чёткого и открытого интерфейса между драйверами и другими компонентами ОС Драйвер взаимодействует с модулями ядра ОС и с модулем ввода-вывода Два типа интерфейсов для драйвера «Драйвер-ядро» ( Driver Kernel Interface, DKI) «Драйвер-устройство» ( Driver Device Interface, DDI) ОС может поддерживать несколько типов DKI/DDI для устройств различных классов Для разработки драйверов разработчики ОС предоставляют Driver Development Kit (DDK)

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 32 Драйверы устройств в Windows 2000 Типы драйверов Драйверы файловой системы Драйверы Windows 2000 Унаследованные ( Legacy) драйверы Windows NT Драйверы видеоадаптеров WDM (Windows Driver Model) Драйверы магистралей (шин) Функциональные драйверы Драйверы фильтров …

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 33 Структура драйвера Windows 2000 Процедуры диспетчеризации Процедура инициализации ввода-вывода Процедура добавления устройства Процедура обслуживания прерываний ( ISR) Процедура инициализации Процедура отложенной обработки прерываний ( DPC)Подсистема ввода- вывода

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 34 Обработка прерывания драйвером Windows 2000 1. Фаза 1 1. Процессор функционирует на некотором уровне IRQL. 2. Устройство генерирует прерывание. Прерывание ловится ( traps) ISR диспетчера прерываний ОС 3. Диспетчер прерываний вызывает ISR драйвера с которым сопоставлено прерывание 4. ISR производит минимальную обработку и оставляет менее приоритетные операции DPC, ставя её в очередь на обслуживание 2. Фаза 2 1. IRQL процессора «падает» до DPC/Dispatch 2. Происходит опустошение очереди отложенных процедур.

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 35 Обработка прерывания драйвером Windows 2000 ( фаза 1)

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 36 Обработка прерывания драйвером Windows 2000 ( фаза 2)

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 37 Поддержка асинхронного и синхронного ввода-вывода Синхронные операции блокируют инициировавший операцию ввода-вывода процесс до окончания операции Асинхронные операции позволяют процессу продолжить своё выполнение параллельно с операцией ввода-вывода. Сложно проектировать программы с использованием асинхронных операций Требуется сложная синхронизация Диспетчер ввода-вывода ОС обычно использует асинхронные операции ввода-вывода. Синхронные операции предоставляются пользователю в виде системных вызовов.

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 38 Асинхронный ввод-вывод в Windows 2000 (1) Синхронизация на объекте ядра «файл» Нет способа определить какая операция завершилась при множественных запросах на ввод-вывод. Синхронизация на объекте ядра «событие» , сопоставленное с операцией ввода-вывода Выдать запрос и обработать результат могут различные потоки. Wait. For. Multiple. Objects может ожидать максимум на 64 объектах. Множественные запросы могут вызвать множественные переключения контекста.

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 39 Асинхронный ввод-вывод в Windows 2000 (2) Постановка результатов ввода-вывода в очередь APC (Asynchronous Procedure Call) Выдать запрос ввода-вывода и обработать результаты должен один и тот же поток. Использование порта завершения ввода-вывода ( Input-Output Completion Port) Выдать запрос и обработать результат могут различные потоки. Существует ограниченный пул готовых к обслуживанию результатов запросов потоков. Система управляет активацией поток для предотвращения лишних переключений контекста. Необходимо тщательно выбирать алгоритм управления размером пула. Могут существовать временные перегрузки системы.

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 40 Многослойные модели операционных систем АППАРАТУРАСЛОЙ ВЗАИМОДЕЙСТВИЯ С АППАРАТУРОЙ ЯДРОМНОГОСЛОЙНЫЕ ДРАЙВЕРЫ УСТРОЙСТВ ПОДСИСТЕМАДИСПЕТЧЕР СИСТЕМНЫХ ВЫЗОВОВПОДСИСТЕМЫ РЕЖИМА ПОЛЬЗОВАТЕЛЯ ПРИКЛАДНЫЕ ПРОГРАММЫ ПОДСИСТЕМА ВВОДА-ВЫВОДА

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 41 Архитектура Windows NT

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 42 Схема обработки ввода-вывода в Windows NTAPI пользовательского режима Системные сервисы Ввода-вывода ( Ntxxx) Диспетчер ввода-вывода (Ioxxx) Драйверы устройств режима ядра HAL- функции доступа к устройствам ввода-вывода. ПЕРЕХОД В РЕЖИМ ЯДРА СЕРВИСЫ ЯДРА IRP

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 43 Завершение операции ввода-вывода в Windows 2000 1. Фаза 1 1. DCP- процедура вызывает диспетчер ввода-вывода для обработки исходного запроса на ввод-вывод 2. Диспетчер ввода-вывода ставить APC в очередь для завершения обработки запроса ввода-вывода в контексте вызывающего потока 2. Фаза 2 1. При следующем переключении на вызывающий поток генерируется прерывание APC. 2. Диспетчер прерываний передаёт управление APC- процедуре диспетчера ввода-вывода 3. APC- процедура ядра записывает данные в адресное пространство потока и переводит описатель файла в свободное состояние.

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 44 Завершение операции ввода-вывода в Windows 2000 (1)

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 45 Завершение операции ввода-вывода в Windows 2000 (2)

 ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D.  Solomon, M. Russinovich ОС. (с) Кафедра ИСТ, Мар акасов Ф. В. 2005. (c) D. Solomon, M. Russinovich 46 Список литературы Олифер В. Г. , Олифер Н. А. Сетевые операционные системы. СПб. : Питер, 2002. Соломон Д. , Руссинович М. Внутреннее устройство Microsoft Windows: Windows Server 2003, Windows XP и Windows 2000. СПб. : Питер, «Русская Редакция» , 200 5. Столлингс, Вильям. Операционные системы , 4 -е издание. «Вильямс» , 2002. Рихтер Дж. Windows для профессионалов: программирование для Windows 95 и Windows NT 4 на базе Win 32 API. «Русская Редакция» , 1997.