- •Конспект лекций по курсу: «Операционные системы. Ч.1»
- •Введение
- •Аппаратные средства.
- •Центральный процессор.
- •Разрядность шины памяти.
- •Архитектура процессора.
- •Процессорное ядро.
- •Декодер.
- •Регистры процессора.
- •Многопроцессорные и многоядерные системы.
- •Многоядерные системы.
- •Оперативная память.
- •Адресация оп.
- •Ввод-вывод.
- •Прерывания.
- •Внешние устройства.
- •Классификация ос.
- •Основные понятия ос.
- •Структура ос.
- •Программная структура ос.
- •Программная структура ядра.
- •Интерфейсы системы вызовов.
- •Понятие мобильной ос.
- •Микроядерная архитектура.
- •Основные компоненты ос
- •Процессы и потоки.
- •Потоки.
- •Взаимодействие процессов, потоков.
- •Управление памятью.
- •Организация виртуальной памяти в ос.
- •Организация виртуальной памяти.
- •Сегментно-страничное распределение.
- •Преобразование адресов.
- •Буферы быстрого преобразования адреса.
- •Инвертированные таблицы страниц.
- •Алгоритмы замещения страниц.
- •Распределение виртуального адресного пространства.
- •Очистка страниц.
- •Перезапуск прерванной команды процессора.
- •Хранение страничной памяти на диске.
- •Реализация виртуальной памяти ос multics.
- •Виртуальная память в ос с аппаратной платформой Intel Pentium.
- •Защита памяти.
- •Ввод-вывод.
- •Контроллеры устройств.
- •Обмен данными с реальной оп.
- •Принципы программной реализации управления вводом-выводом.
- •Программная организация ввода-вывода.
- •Уровни реализации ввода-вывода.
- •Обработчики прерываний
- •Драйверы устройств.
- •Управление внешними устройствами.
- •Службы времени.
- •Алфавитно-цифровые терминалы.
- •Программное обеспечение ввода.
- •Программное обеспечение вывода.
- •Датчики.
- •Управление электропотреблением.
- •Файловые системы.
- •Логическая и физическая организация файлов.
- •Файловая система msdos.
- •Организация нескольких логических разделов.
- •Надежность файловой системы.
- •Производительность фс.
- •Файловая система cdr.
- •Формат записи каталога.
- •Сжатие видеоинформации.
- •Стандарт mpeg (Motion Picture Expert Group).
- •Структура реальной оп.
- •Структура виртуальной оп виртуальной машины.
- •Организация вычислительного процесса.
- •Планирование и диспетчирование.
- •Обработка прерываний.
- •Управление памятью.
- •Управление внешней памятью.
- •Планирование и диспетчирование.
- •Управление вводом-выводом.
- •Средства программирования и инструментальные средства.
- •Сетевые возможности операционных систем.
- •Понятие dce.
- •Подходы к обеспечению безопасности информации в ос.
Защита памяти.
Как правило, поддерживается 4 уровня защиты: 0 самый привилегированный, 3 наименее привилегированный. В каждый момент времени процесс находится на определенном уровне защиты, что отмечается в PSW процесса. Попытки доступа процесса к рамкам памяти более высокого класса привелегированности вызывают прерывание. Для перехода в тот или иной режим защиты используются инструкции, выполняемые на уровне ядра.
Ввод-вывод.
Устройства ввода-вывода можно грубо разделить на две категории: блочные устройства и символьные устройства. Имеется также класс внешних устройств, которые не являются ни символьными, ни блочными, но управляются как устройства ввода-вывода. Пример: часы.
Блочными устройствами называются те, которые хранят информацию в виде блоков данных. При этом каждый блок данных имеет свой адрес. Свойства блочного устройства: каждый блок может быть записан, считан независимо от остальных блоков.
Пример: диски (адрес блока: номер цилиндра, номер головки, номер сектора). Как правило между блоками данных существует так называемая синхропосылка или участок синхронизации. После того, как головки установлены по адресу номер цилиндра, номер головки ищется синхропосылка, соответствующая номеру сектора. Как только синхропосылка найдена, (обычно это результат сравнения принятых данных и некоторой постоянной информации для данного внешнего устройства), включается чтение или запись в сектор.
Символьные устройства принимают или предоставляют поток символов без какой-либо блочной структуры, не выполняют операций поиска номера блока. Возможно в потоки данных вставлять управляющие символы для устройства.
Контроллеры устройств.
Контроллер устройств предназначен для управления одним или несколькими устройствами ввода-вывода. Как правило, контроллер управляет устройством сигналами аппаратного интерфейса. Пример интерфейса: IDE, SCSI. Работа контроллера заключается в конвертировании потоков битов в блок данных. У каждого контроллера имеется, как правило, несколько регистров, к которым может обращаться процесс (команда ЦП). Управление контроллерами ОС в разных ОС осуществляется по-разному.
Управления контроллером осуществляется с помощью набора команд ввода-вывода (установка каретки, запись, чтение, поиск..). В некоторых ОС данная последовательность команд составляет так называемую канальную программу. В зависимости от запроса на ввод-вывод она настраивается и передается поочередно в контроллер для выполнения. Если на каком-то этапе произошел сбой, происходит прерывание по вводу-выводу с информацией состояния "сбой в устройстве". Происходит прерывание, ОС обрабатывает его и решает, что делать дальше (повторять операцию ввода-вывода или выдать диагностическое сообщение). Как правило, контроллер также содержит, из которого ОС может писать информацию в реальную ОП. Буфер контроллера может находится в некоторых случаях в реальной ОП. Доступ к контроллеру можно осуществить тремя основными способами: по номеру порта, к которому он подключен (in-out); по адресу реальной ОП; по адресу команды ввода-вывода.
Чтение информации из порта 1 в регистр 1: IN R1,PORT1.
Запись в порт 2 из регистра 2: OUT PORT2, R2.
Для передачи информации во внешние устройства, буфер данных контроллера которых находится в реальной ОП, наиболее часто используется команда asm MOV A(L),B.
Как правило информация для выполнения находится в закрепленном месте реальной ОП. Выполнение команды происходит без участия ЦП. На время выполнения ЦП предоставляется другим процессам.
