- •Конспект лекций по курсу: «Операционные системы. Ч.1»
- •Введение
- •Аппаратные средства.
- •Центральный процессор.
- •Разрядность шины памяти.
- •Архитектура процессора.
- •Процессорное ядро.
- •Декодер.
- •Регистры процессора.
- •Многопроцессорные и многоядерные системы.
- •Многоядерные системы.
- •Оперативная память.
- •Адресация оп.
- •Ввод-вывод.
- •Прерывания.
- •Внешние устройства.
- •Классификация ос.
- •Основные понятия ос.
- •Структура ос.
- •Программная структура ос.
- •Программная структура ядра.
- •Интерфейсы системы вызовов.
- •Понятие мобильной ос.
- •Микроядерная архитектура.
- •Основные компоненты ос
- •Процессы и потоки.
- •Потоки.
- •Взаимодействие процессов, потоков.
- •Управление памятью.
- •Организация виртуальной памяти в ос.
- •Организация виртуальной памяти.
- •Сегментно-страничное распределение.
- •Преобразование адресов.
- •Буферы быстрого преобразования адреса.
- •Инвертированные таблицы страниц.
- •Алгоритмы замещения страниц.
- •Распределение виртуального адресного пространства.
- •Очистка страниц.
- •Перезапуск прерванной команды процессора.
- •Хранение страничной памяти на диске.
- •Реализация виртуальной памяти ос multics.
- •Виртуальная память в ос с аппаратной платформой Intel Pentium.
- •Защита памяти.
- •Ввод-вывод.
- •Контроллеры устройств.
- •Обмен данными с реальной оп.
- •Принципы программной реализации управления вводом-выводом.
- •Программная организация ввода-вывода.
- •Уровни реализации ввода-вывода.
- •Обработчики прерываний
- •Драйверы устройств.
- •Управление внешними устройствами.
- •Службы времени.
- •Алфавитно-цифровые терминалы.
- •Программное обеспечение ввода.
- •Программное обеспечение вывода.
- •Датчики.
- •Управление электропотреблением.
- •Файловые системы.
- •Логическая и физическая организация файлов.
- •Файловая система msdos.
- •Организация нескольких логических разделов.
- •Надежность файловой системы.
- •Производительность фс.
- •Файловая система cdr.
- •Формат записи каталога.
- •Сжатие видеоинформации.
- •Стандарт mpeg (Motion Picture Expert Group).
- •Структура реальной оп.
- •Структура виртуальной оп виртуальной машины.
- •Организация вычислительного процесса.
- •Планирование и диспетчирование.
- •Обработка прерываний.
- •Управление памятью.
- •Управление внешней памятью.
- •Планирование и диспетчирование.
- •Управление вводом-выводом.
- •Средства программирования и инструментальные средства.
- •Сетевые возможности операционных систем.
- •Понятие dce.
- •Подходы к обеспечению безопасности информации в ос.
Обмен данными с реальной оп.
Как правило организуются двумя способами:
1. С приостановкой выполнения команд ЦП на время передачи данных между контроллером и реальной ОП.
2. Без приостановки выполнения команд ЦП. (Прямой доступ к памяти - DMA.)
Пока выполняется операция ввода-вывода, буфер контроллера накапливает информацию с внешнего устройства. После завершения чтения блока необходим доступ для перекачки информации в реальную ОП. Передачи информации может быть организована по прерыванию - выполняется ОС, либо аппаратно - приостановка выполнения команд текущего процесса (текущий процесс выполняет команды, за которыми надо обращаться в ОП и их операндами). Использует перемещение данных в реальной ОП без использования ЦП. Для реализации используется контроллер DMA. Иногда контроллеры DMA интегрируются в контроллеры внешнего устройства (например, в винчестерах). Иногда встраиваются на материнскую плату для обслуживания нескольких внешних устройств. DMA контроллер имеет важное свойство: может получать доступ к системной шине и далее в реальную ОП независимо от ЦП.
Функционирование происходит следующим образом:
1. ОС подготавливает контроллер DMA к работе для выполнения ввода-вывода. Устанавливаются регистры контроллера, указывая куда и сколько переместить данных из внешнего устройства.
2. Выполняется команда контроллеру диска прочитать данные во внутренний буфер контроллера и проверить контрольную сумму считанных данных.
3. После того, как буфер заполнен DMA контроллер осуществляет перенос данных, посылая по шине запрос чтения контроллеру диска. Контроллер диска пересылает данные по адресу реальной ОП, выставленному на шине DMA контроллера.
4. После того, как запись произошла, DMA увеличивает адрес реальной ОП и посылает новый запрос на чтение в контроллер диска. Данные пересылаются вновь до тех пор, пока значение счетчика в DMA контроллере не станет равным 0. (Счетчик количества данных устанавливается ОС.) После передачи данных DMA контроллер выставляет прерывание - перенос данных завершен. ОС завершает выполнение операции ввода-вывода: успешно - перекачивает информацию из собственных буферов в область данных процесса; неуспешно - обработка ошибки. Контроллер DMA может работать в нескольких основных режимах: посимвольном (пословном) и поблочном. В первом случае передается в реальную ОП символ слова, в поблочном блок.
Принципы программной реализации управления вводом-выводом.
В основу программной реализации управления вводом-выводом положены следующие основные принципы:
1. Независимость от устройств – возможность разработки пользовательской программы без предварительного указания конкретного типа устройства, например чтение и запись данных должны выполняться по одной (сходной команде для GMD, CDR, магнитных дисков.. ) для этого ОС должна определять как настроить программу обращения к физическому внешнему устройству в соответствии с запросом пользователя.
2. Единообразное именование – имя устройства, к которому происходит обращение должно быть текстовой строкой (логическое имя).
3. Обработка ошибок – ошибки должны обрабатываться в первую очередь аппаратурой с возможностью повторения сбойной операции. Если нижний уровень не может исправить ошибку, диагностическая информация передается верхнему уровню обработчика ошибок. Возможно повторение операции выполнить с помощью программной организации.
4. Перенос данных – как правило должен быть определен способ передачи данных: синхронный(блокирующий) или асинхронный(по прерыванию):
- асинхронный – перенос данных осуществляется без использования ЦП, по окончании переноса данных – прерывание(окончание операции)
- синхронный – после операции ввода-вывода пользовательский процесс блокируется пока данные не окажутся в буфере процесса
5. Использование буферизации – для считывания и записи информации во внешние устройства должны использоваться временные(промежуточные) буферы между пользовательским процессом и буфером аппаратной части. Скорость поступления данных в буфер не должна влиять на получение их пользовательским процессом.
6. Совместное использование устройств – необходимо, чтобы устройства коллективного доступа использовались максимально параллельно в соответствии с процедурами и приоритетами.
