- •Конспект лекций по курсу: «Операционные системы. Ч.1»
- •Введение
- •Аппаратные средства.
- •Центральный процессор.
- •Разрядность шины памяти.
- •Архитектура процессора.
- •Процессорное ядро.
- •Декодер.
- •Регистры процессора.
- •Многопроцессорные и многоядерные системы.
- •Многоядерные системы.
- •Оперативная память.
- •Адресация оп.
- •Ввод-вывод.
- •Прерывания.
- •Внешние устройства.
- •Классификация ос.
- •Основные понятия ос.
- •Структура ос.
- •Программная структура ос.
- •Программная структура ядра.
- •Интерфейсы системы вызовов.
- •Понятие мобильной ос.
- •Микроядерная архитектура.
- •Основные компоненты ос
- •Процессы и потоки.
- •Потоки.
- •Взаимодействие процессов, потоков.
- •Управление памятью.
- •Организация виртуальной памяти в ос.
- •Организация виртуальной памяти.
- •Сегментно-страничное распределение.
- •Преобразование адресов.
- •Буферы быстрого преобразования адреса.
- •Инвертированные таблицы страниц.
- •Алгоритмы замещения страниц.
- •Распределение виртуального адресного пространства.
- •Очистка страниц.
- •Перезапуск прерванной команды процессора.
- •Хранение страничной памяти на диске.
- •Реализация виртуальной памяти ос multics.
- •Виртуальная память в ос с аппаратной платформой Intel Pentium.
- •Защита памяти.
- •Ввод-вывод.
- •Контроллеры устройств.
- •Обмен данными с реальной оп.
- •Принципы программной реализации управления вводом-выводом.
- •Программная организация ввода-вывода.
- •Уровни реализации ввода-вывода.
- •Обработчики прерываний
- •Драйверы устройств.
- •Управление внешними устройствами.
- •Службы времени.
- •Алфавитно-цифровые терминалы.
- •Программное обеспечение ввода.
- •Программное обеспечение вывода.
- •Датчики.
- •Управление электропотреблением.
- •Файловые системы.
- •Логическая и физическая организация файлов.
- •Файловая система msdos.
- •Организация нескольких логических разделов.
- •Надежность файловой системы.
- •Производительность фс.
- •Файловая система cdr.
- •Формат записи каталога.
- •Сжатие видеоинформации.
- •Стандарт mpeg (Motion Picture Expert Group).
- •Структура реальной оп.
- •Структура виртуальной оп виртуальной машины.
- •Организация вычислительного процесса.
- •Планирование и диспетчирование.
- •Обработка прерываний.
- •Управление памятью.
- •Управление внешней памятью.
- •Планирование и диспетчирование.
- •Управление вводом-выводом.
- •Средства программирования и инструментальные средства.
- •Сетевые возможности операционных систем.
- •Понятие dce.
- •Подходы к обеспечению безопасности информации в ос.
Файловая система msdos.
Логический раздел можно представить следующим образом (файловая система FAT):
Загрузочный сектор содержит программу загрузки (IPL).
Формат записи и каталоге или файле:
имя файла |
расширение |
атрибуты |
резерв |
время |
дата |
№кластера |
размер |
3. Дескриптор описывает метку диска.
4. Дескриптор описывает файл.
5. Архивный.
6-7. Резерв.
FAT - массив или таблица об использовании поверхности диска. Когда создается файл, создается запись в каталоге, в которой отмечается первый выделенный для данного файла кластер. При размещении файла ОС просматривает FAT и ищет первый свободный индекс. FAT представляет собой массив из элементов. ОС ищет первый свободный индекс или указатель. Каждый кластер может находится в следующих состояниях:
свободный - 0
зарезервированный
плохой
последний кластер в списке
номер следующего кластера в списке.
После отыскания свободного элемента в FATе номер первого кластера фиксируется в записи. В кластер с этим номером файла заносятся данные файла (первая порция). Если файл умещается в один кластер, то в FATe в этом месте ставится флажок - последний кластер файла (недействительный символ). Если файл не умещается в один кластер, то ОС продолжает просматривать FAT в поиске свободного указателя. Номер первого свободного указателя заносится в предыдущий указатель.
Организация нескольких логических разделов.
MBR - программа загрузки с активного логического раздела.
Таблица разделов диска содержит 4 элемента, описывающих максимально 4 раздела диска.
Формат таблицы разделов: +0(1 байт). Признак активного раздела:
+1(1) номер головки
+2(2) номер сектора и цилиндра
+4(1) код системы
1,4 DOS
5 расширенный раздел.
+5(1) номер головки для последнего сектора раздела
+6(2) номер сектора и цилиндра последнего сектора раздела
+8(4) относительный номер сектора раздела
+12(4) размер раздела в секторах
Надежность файловой системы.
Определяется способностью файловой системы восстанавливать данные при возникновении нештатной ситуации. В качестве механизмов обеспечения надежности файловой системы, как правило, используются следующие:
1) Создание резервных копий. Может осуществляться на внешнем носителе (магнитный диск, магнитная лента), либо внутри файловой системы (FAT1, FAT2). Во втором случае используется дублирование и поддержание в актуальном состоянии данных и управляющих таблиц в режиме времени, близком к реальному. Пример: корзина для удаленных файлов. В этом случае необходимо определить, какие элементы файловой системы являются критическими в случае нештатной ситуации и с какой частотой осуществлять их актуализацию (обновление). Копии, как правило, создаются при завершении всех прикладных процессов (задач), поэтому частота снятия копий может определяться графиком их решения. В некоторых ОС возможно получать "образы" (слепок), как состояний файловой системы в определенный момент времени, так и содержимого реальной и виртуальной ОП. При возникновении нештатной ситуации возможна загрузка образа в ОП (текущее состояние вычислительного процесса) и на диск, соответствующий ему состояния файловой системы. В общем случае существует две основных стратегии создания резервных копий: физическая архивация и логическая архивация.
- Физическая архивация включает поблочное копирование на внешний носитель. Недостатки:
1. Хранение неиспользуемых блоков.
2. При восстановлении необходимо восстанавливать весь диск.
- Логическая архивация. Осуществляется копирование тех элементов файловой системы, которые изменялись с момента последней архивации. Недостатки: если файловая система разрушилась, то восстановить данные невозможно. В этом случае используются копии, созданные при физической архивации.
В общем случае можно выделить 3 состояния копий:
1. Дистрибутив. (Создан и передан для эксплуатации разработчикам. Как правило, находится на ленте или диске, защищенном от записи.)
2. Копия дистрибутива. (Выполняется эксплуатирующей организацей для восстановления файловой системы, данных. С этим носителем, как правило, выполняются восстановительные работы.)
3. Дубль. (Копия или архив текущего состояния файловой системы, подлежащая обновлению.)
2) Обеспечение непротиворечивости файловой системы.
Проблема возникает при сбое, при записи последних блоков в файловую систему (потеря кластеров, ссылок на кластеры). Как правило, в ОС существует инструментарий проверки непротиворечивости.
Существуют два основных метода проверки непротиворечивости:
- блоков (кластеров)
- каталогов.
При проверке непротиворечивости блоков, как правило, создаются две таблицы, каждая из которых содержит счётчики. В первой таблице указывают, сколько раз каждый блок (кластер) диска присутствует в файле. Во второй - сколько раз каждый блок учитывается в списке свободных блоков. Если файловая система непротиворечива, каждый блок (кластер) должен встретиться только один раз в одной из таблиц.
Пример:
а) в случае непротиворечивости
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
б) пропавший блок
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
Блок 2 (кластер) не занят и не свободен - потерян.
в) один и тот же блок (кластер) находится в двух файлах
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
1 |
1 |
0 |
1 |
2 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Блок 4 дважды появляется в разных файлах. При удалении будет и свободным, и занятым.
Инструментарий проверки должен скопировать содержимое блока 4 в свободный блок и выделить его файлу. Непротиворечивость каталогов проверяется путем сравнения счетчиков нахождения файлов в разных каталогах.
Пример: для файловой системы, построенной на i-nodes, для каждого файла в каждом каталоге инструментарий увеличивает на единицу счётчик использования файла. На выходе появляется список, индексированный по i-nodes, который сообщает, в скольких каталогах присутствует каждый файл. Далее сравнивается полученное значение со счётчиками связи, хранящимися в самих i-nodes. Указанные счётчики при создании файла имеют значение 1 и увеличиваются на 1 каждый раз, когда создается новая связь с данным файлом. В непротиворечивой файловой системе оба счётчика должны совпадать.
А - счетчик кол-ва каталогов, в котором присутствует файла.
В - счетчик связей i-nodes файла.
1. В>А.
При удалении файла из всех каталогов i-node не будет удален. Устранение: установить значение счётчика связей, равным числу каталогов.
2. А>В.
В случае всех удалений описателей файла в каталогах устанавливается ссылка на несуществующий i-node, который может быть распределен другому файлу. Устранение: присваивание значения счетчика связей i-node числу каталогов.
