Разделы презентаций


Основы операционных систем 5

Содержание

Часть V. Ввод-выводЛекция 13. Система управления вводом-выводом

Слайды и текст этой презентации

Слайд 1Основы операционных систем

Основы  операционных систем

Слайд 2Часть V. Ввод-вывод
Лекция 13. Система управления вводом-выводом

Часть V.  Ввод-выводЛекция 13.  Система управления вводом-выводом

Слайд 3Два вида деятельности вычислительной системы
Обработка информации
Операции ввода-вывода
С точки зрения программиста:


Обработка информации – выполнение команд процессора над данными, находящимися в

памяти, независимо от уровня иерархии
Ввод-вывод – обмен данными между памятью и устройствами, внешними по отношению к ней и процессору
С точки зрения ОС:
Обработка информации – выполнение команд процессора над данными, лежащими в памяти на уровнях не ниже основной памяти
Ввод-вывод – все остальное

Два вида деятельности вычислительной системыОбработка информацииОперации ввода-выводаС точки зрения программиста: 	Обработка информации – выполнение команд процессора над

Слайд 4


Два вида деятельности вычислительной системы
Обработка информации
Что делается?
Как делается?
Операции ввода-вывода
Что делается?
Как

делается?

Курс «Алгоритмы и алгоритмические языки»
Часть II этого курса
Тема этой лекции

Два вида деятельности вычислительной системыОбработка информацииЧто делается?Как делается?Операции ввода-выводаЧто делается?Как делается?Курс «Алгоритмы  и алгоритмические языки»Часть II

Слайд 5Общие сведения об архитектуре компьютера
Процессор
Память
Диски
Монитор
Клавиатура
линии





Локальная магистраль

Общие сведения об архитектуре компьютераПроцессорПамятьДискиМониторКлавиатуралинииЛокальная магистраль

Слайд 6

Общие сведения об архитектуре компьютера



Локальная магистраль












Процессор
Монитор
Память
Диски
Клавиатура
Шина данных
Шина адреса
Шина управления
Ширина шины

– количество линий в шине

Общие сведения об архитектуре компьютераЛокальная магистральПроцессорМониторПамятьДискиКлавиатураШина данныхШина адресаШина управленияШирина шины – количество линий в шине

Слайд 7Общие сведения об архитектуре компьютера
Передача информации из процессора в память
На

адресной шине выставить сигналы для адреса памяти
На шине данных выставить

сигналы для данных
На шине управления выставить сигналы работы с памятью и операции записи

Общие сведения об архитектуре компьютераПередача информации из процессора в памятьНа адресной шине выставить сигналы для адреса памятиНа

Слайд 8Общие сведения об архитектуре компьютера
Память и устройства I/O
Память:
Локализована в пространстве
Ячейки

взаимно однозначно отображаются на линейное адресное пространство памяти.
Устройства I/O:
Пространственно разнесены

и подключаются к локальной магистрали через порты ввода-вывода.

I/O

I/O

I/O












Порты i/o

Общие сведения об архитектуре компьютераПамять и устройства I/OПамять:Локализована в пространствеЯчейки взаимно однозначно отображаются на линейное адресное пространство

Слайд 9Общие сведения об архитектуре компьютера
Память и устройства I/O
Память:
Локализована в пространстве
Ячейки

взаимно однозначно отображаются на линейное адресное пространство памяти.
Устройства I/O:
Пространственно разнесены

и подключаются к локальной магистрали через порты ввода-вывода.
Порты ввода-вывода взаимно однозначно отображаются на линейное адресное пространство ввода-вывода (иногда на линейное адресное пространство памяти)

Общие сведения об архитектуре компьютераПамять и устройства I/OПамять:Локализована в пространствеЯчейки взаимно однозначно отображаются на линейное адресное пространство

Слайд 10Общие сведения об архитектуре компьютера
Передача информации из процессора в порт,

отображенный в адресное пространство ввода-вывода
На адресной шине выставить сигналы для

адреса порта
На шине данных выставить сигналы для данных
На шине управления выставить сигналы работы с устройствами ввода-вывода и операции записи

Общие сведения об архитектуре компьютераПередача информации из процессора в порт, отображенный в адресное пространство ввода-выводаНа адресной шине

Слайд 11Общие сведения об архитектуре компьютера
Память и устройства I/O
Занесение информации в

память завершает операцию записи
Занесение информации в порт часто инициализирует реальное

совершение устройства ввода-вывода

Что делать после получения информации через порт и как предоставить информацию для чтения из порта определяют контроллеры устройств

Общие сведения об архитектуре компьютераПамять и устройства I/OЗанесение информации в память завершает операцию записиЗанесение информации в порт

Слайд 12Общие сведения об архитектуре компьютера
Устройства ввода-вывода подключаются к локальной магистрали

через порты
Могут существовать два адресных пространства: пространство памяти и пространство

ввода-вывода
Порты обычно отображаются в адресное пространство ввода-вывода и иногда – в адресное пространство памяти
Какое адресное пространство использовать определяется типом команды или типом операндов
Управлением устройством ввода-вывода, приемом и передачей данных через порты и выставлением сигналов на магистрали занимаются контроллеры

Общие сведения об архитектуре компьютераУстройства ввода-вывода подключаются к локальной магистрали через портыМогут существовать два адресных пространства: пространство

Слайд 13Структура контроллера устройства

Регистр состояния
(read only)
Бит занятости
Бит готовности данных
Бит ошибки

Регистр управления
(write

only)
Биты кода команды
Биты режима работы
Бит готовности команды

Регистр выходных данных
(read only)

Регистр

входных данных
(write only)
Структура контроллера устройстваРегистр состояния(read only)Бит занятостиБит готовности данныхБит ошибкиРегистр управления(write only)Биты кода командыБиты режима работыБит готовности командыРегистр

Слайд 14Вывод данных на внешнее устройство
Чтение из порта регистра состояния

пока бит

занятости == 1
Процессор
Запись кода команды в порт регистра управления
Запись данных в

порт регистра входных данных

Запись бита готовности
команды в порт регистра управления

Установить бит занятости




Анализ кода команды
Инициализация операции вывода

После завершения операции – сбросить бит готовности команды

Выставить значение бита ошибки и сбросить бит занятости













Контроллер

Чтение из порта регистра состояния


пока бит занятости == 1


Polling или опрос устройств

Вывод данных на внешнее устройствоЧтение из порта  регистра состоянияпока бит занятости == 1ПроцессорЗапись кода команды в

Слайд 15


Вывод данных на внешнее устройство








Процессор
Линия прерываний
После выполнения команды процессор обнаруживает сигнал

на линии прерываний
Сохраняет часть регистров
Передает управление по заранее определенному адресу
Обрабатывает

прерывание
Восстанавливает контекст




I/O

Память

I/O

Вывод данных на внешнее устройствоПроцессорЛиния прерыванийПосле выполнения команды процессор обнаруживает сигнал на линии прерыванийСохраняет часть регистровПередает управление

Слайд 16






Вывод данных на внешнее устройство





Процессор
После выполнения команды процессор обнаруживает сигнал

на линии прерываний
Сохраняет часть регистров
Передает управление по заранее определенному адресу
Обрабатывает

прерывание
Восстанавливает контекст




I/O

Память


Шина прерываний




Контроллер прерываний

I/O

Вывод данных на внешнее устройствоПроцессорПосле выполнения команды процессор обнаруживает сигнал на линии прерыванийСохраняет часть регистровПередает управление по

Слайд 17


Внешние прерывания, исключительные ситуации и программные прерывания
Внешние прерывания
Исключительные ситуации
Программные прерывания
Обнаруживаются процессором

между выполнением команд
Сохраняется часть контекста перед выполнением следующей команды
Не связаны

с работой процессора и непредсказуемы

Обнаруживаются во время выполнения команды
Сохраняется часть контекста перед выполнением текущей команды
Связаны с работой процессора, но непредсказуемы

Происходят в результате выполнения команды
Сохраняется часть контекста перед выполнением следующей команды
Связаны с работой процессора и предсказуемы

Внешние прерывания, исключительные ситуации и программные прерыванияВнешние прерыванияИсключительные ситуацииПрограммные прерыванияОбнаруживаются  процессором между  выполнением командСохраняется часть

Слайд 18






Прямой доступ к памяти (Direct memory access – DMA)





Контроллер DMA

программируется
После получения сигнала от устройства I/O запрашивает у процессора управление

магистралью
Получив управление, выставляет адрес и извещает устройство I/O
Используя шины данных и управления совместно с устройством I/O передает информацию
Возвращает управление магистралью




I/O

Память





Контроллер прерываний

Процессор

Контроллер DMA

I/O





Канал DMA

Прямой доступ к памяти  (Direct memory access – DMA)Контроллер DMA программируетсяПосле получения сигнала от устройства I/O

Слайд 19Основные направления различия устройств ввода-вывода
Скорость обмена информацией (от нескольких байтов

до нескольких Гигабайтов в секунду)
Возможность использования несколькими процессами параллельно
Запоминание выведенной

информации для последующего ввода
Символьные и блочные
Только для ввода информации, только для вывода информации и read-write устройства
Основные направления различия устройств ввода-выводаСкорость обмена информацией (от нескольких байтов до нескольких Гигабайтов в секунду)Возможность использования несколькими

Слайд 20
Структура системы ввода-вывода
клавиатура
мышь
монитор
IDE диски
SCSI диски



Контроллер клавиатуры
Контроллер мыши
Контроллер монитора
IDE контроллер
SCSI
контроллер



Hardware
Драйвер клавиатуры
Драйвер мыши
Драйвер монитора
IDE драйвер
SCSI драйвер



Базовая подсистема ввода-вывода
Остальные части

ядра ОС и пользовательские процессы

Структура системы ввода-выводаклавиатурамышьмониторIDE дискиSCSI дискиКонтроллер клавиатурыКонтроллер мышиКонтроллер монитораIDE контроллерSCSIконтроллерHardwareДрайвер клавиатурыДрайвер  мышиДрайвер  монитораIDE драйверSCSI драйверБазовая подсистема

Слайд 21Систематизация внешних устройств
Символьные устройства (клавиатура, модем, терминал и т.д.)
Блочные устройства

(магнитные и оптические диски и ленты и т.д.)
Сетевые устройства (сетевые

карты)
Все остальные (таймеры, графические дисплеи, видеокамеры и т.д.)
Систематизация внешних устройствСимвольные устройства (клавиатура, модем, терминал и т.д.)Блочные устройства (магнитные и оптические диски и ленты и

Слайд 22Интерфейс между базовой подсистемой ввода-вывода и драйверами
Символьные устройства
Блочные устройства
Ввести символ

– get
Вывести символ – put
Прочитать блок – read


Записать блок – write
Найти блок – seek

Выполнить произвольную команду – ioctl
(Ре)инициализировать драйвер и устройство – open
Временно завершить работу с устройством – close
Остановить работу драйвера – stop
Опросить состояние устройства – poll

Интерфейс между базовой подсистемой ввода-вывода и драйверамиСимвольные устройстваБлочные устройстваВвести символ – get Вывести символ – put Прочитать

Слайд 23Функции базовой подсистемы ввода-вывода
Поддержка блокирующихся, неблокирующихся и асинхронных вызовов
Буферизация и

кэширование входных и выходных данных
Осуществление spooling’а и монопольного захвата внешних

устройств
Обработка ошибок и прерываний
Планирование последовательности запросов на выполнение операций ввода-вывода

Функции  базовой подсистемы ввода-выводаПоддержка блокирующихся, неблокирующихся и асинхронных вызововБуферизация и кэширование входных и выходных данныхОсуществление spooling’а

Слайд 24Блокирующиеся, неблокирующиеся и асинхронные вызовы
При блокирующемся системном вызове процесс переходит

из состояния исполнение в состояние ожидание. После выполнения операций ввода-вывода

в полном объеме он разблокируется.
При неблокирующемся системном вызове операции ввода-вывода могут быть выполнены неполностью. Процесс либо неблокируется совсем, либо блокируется не более чем на определенное время.
При асинхронном системном вызове процесс никогда не блокируется. Операции ввода-вывода выполняются в полном объеме.
Блокирующиеся, неблокирующиеся и асинхронные вызовыПри блокирующемся системном вызове процесс переходит из состояния исполнение в состояние ожидание. После

Слайд 25Буферизация и кэширование
Разные скорости приема и передачи информации участников обмена
Разные

объемы данных, которые могут быть приняты или переданы участниками обмена

единовременно
Необходимость копирования данных из приложения в ядро ОС и обратно

Буфер – область памяти для запоминания информации при обмене данными между устройствами, процессами или между устройством и процессом

Причины буферизации в базовой подсистеме ввода-вывода

Буферизация и кэшированиеРазные скорости приема и передачи информации участников обменаРазные объемы данных, которые могут быть приняты или

Слайд 26Буферизация и кэширование
Буфер служит для согласования параметров участников обмена информацией

и для ее промежуточного хранения. Кэш применяется для ускорения доступа

к данным.
Кэш всегда содержит копию данных, существующих где-либо еще. Буфер часто содержит единственный экземпляр данных в системе.

Кэш (cache) – область быстрой памяти, содержащая копию данных, расположенных где-либо в более медленной памяти, предназначенная для ускорения работы вычислительной системы

Разница между кэшем и буфером

Буферизация и кэшированиеБуфер служит для согласования параметров участников обмена информацией и для ее промежуточного хранения. Кэш применяется

Слайд 27Spooling и захват устройств
Монопольный захват устройства.
Spooling.
Spool – буфер, содержащий входные

или выходные данные для устройства, на котором следует избегать чередования

его использования различными процессами

Способы использования неразделяемых устройств

Spooling и захват устройствМонопольный захват устройства.Spooling.Spool – буфер, содержащий входные или выходные данные для устройства, на котором

Слайд 28Обработка прерываний и ошибок


Ожидание
Исполнение
Прерывание
Выполнение кода ОС
Работа hardware
Сохранение контекста
Обработка прерывания
Готовность
Исполнение
Готовность
Планирование
Работа hardware
Выполнение

кода ОС
Восстановление контекста
Выполнение кода пользователя
Выполнение кода пользователя

Обработка прерываний и ошибокОжиданиеИсполнениеПрерываниеВыполнение кода ОСРабота hardwareСохранение контекстаОбработка прерыванияГотовностьИсполнениеГотовностьПланированиеРабота hardwareВыполнение кода ОСВосстановление контекстаВыполнение кода пользователяВыполнение кода пользователя

Слайд 29Определение устройства, выдавшего прерывание.
Взаимодействие с устройством.
Проверка успешности выполнения операции.
Попытка

устранения возможных ошибок.
Определение процесса, ожидающего этого прерывания. Перевод его из

состояния ожидание в состояние готовность.
Если есть еще процессы с неудовлетворенными запросами к этому устройству – инициализация нового запроса.

Действия операционной системы

Обработка прерываний и ошибок

Действия по обработке прерывания и компенсации ошибок могут быть частично делегированы драйверу устройства – функция intr в интерфейсе драйвера

Определение устройства, выдавшего прерывание.Взаимодействие с устройством.Проверка успешности выполнения операции. Попытка устранения возможных ошибок.Определение процесса, ожидающего этого прерывания.

Слайд 30При занятости устройства запрос ставится в очередь к данному устройству.
После

освобождения устройства необходимо принять решение: какой из запросов в очереди

инициировать следующим – планирование запросов.

Для блокирующихся и асинхронных системных вызовов

Планирование запросов

Действия по планированию запросов могут быть частично или полностью делегированы драйверу устройства – функция strategy в интерфейсе драйвера

При занятости устройства запрос ставится в очередь к данному устройству.После освобождения устройства необходимо принять решение: какой из

Слайд 31Строение жесткого диска
Алгоритмы планирования запросов
к жесткому диску

Строение жесткого дискаАлгоритмы планирования запросовк жесткому диску

Слайд 32Параметры планирования
Алгоритмы планирования запросов
к жесткому диску
Запрос полностью характеризуется:
типом операции
номером цилиндра
номером

дорожки
номером сектора
Параметр планирование – время, необходимое для выполнения запроса.
Время выполнения

запроса = transfer time + positioning time
Positioning time = seek time + positioning latency

Единственным параметром запроса остается seek time – время пропорциональное разнице между номером цилиндра в запросе и номером текущего цилиндра

Параметры планированияАлгоритмы планирования запросовк жесткому дискуЗапрос полностью характеризуется:типом операцииномером цилиндраномером дорожкиномером сектораПараметр планирование – время, необходимое для

Слайд 33Диск имеет 100 цилиндров (от 0 до 99)
Очередь запросов: 23,

67, 55, 14, 31, 7, 84, 10
Текущий цилиндр – 63
Алгоритмы

планирования запросов
к жесткому диску

Алгоритм FCFS (First Come First Served)

Всего перемещение на 329 цилиндров
Алгоритм SSTF ( Short Seek Time First)

Всего перемещение на 141 цилиндр




63 -> 23

-> 67

-> 55

-> 31

-> 14

-> 07

-> 84

-> 10

63 -> 67

-> 55

-> 31

-> 14

-> 23

-> 10

-> 07

-> 84

Диск имеет 100 цилиндров (от 0 до 99)Очередь запросов: 23, 67, 55, 14, 31, 7, 84, 10Текущий

Слайд 34Диск имеет 100 цилиндров (от 0 до 99)
Очередь запросов: 23,

67, 55, 14, 31, 7, 84, 10
Текущий цилиндр – 63
Алгоритмы

планирования запросов
к жесткому диску

Алгоритм SCAN

Всего перемещение на 147 цилиндров
Алгоритм LOOK

Всего перемещение на 133 цилиндра
Алгоритм C-SCAN

Алгоритм C-LOOK


63 -> 55

-> 31

-> 23

-> 10

-> 14

-> 07

-> 67

-> 84

63 -> 55

-> 31

-> 23

-> 10

-> 14

-> 07

-> 67

-> 84

-> 0

63 -> 55

-> 31

-> 23

-> 10

-> 14

-> 07

-> 84

->67

63 -> 55

-> 31

-> 23

-> 10

-> 14

-> 07

-> 84

-> 67

-> 0

-> 99

Диск имеет 100 цилиндров (от 0 до 99)Очередь запросов: 23, 67, 55, 14, 31, 7, 84, 10Текущий

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика