- •Классификация, критерии оценки и структура ос.
- •Критерии оценки ос
- •Надежность
- •Эффективность
- •Удобство
- •Масштабируемость
- •Способность к развитию
- •Мобильность
- •Основные функции и структура ос
- •Классификация и архитектура внешних устройств. Классификация периферийных устройств и их архитектура
- •Способы организации ввода/вывода. Синхронный и асинхронный ввод/вывод. Архитектура подсистемы ввода/вывода
- •Ввод/вывод по опросу и по прерываниям
- •Активное и пассивное ожидание
- •Синхронный и асинхронный ввод/вывод
- •Буферизация и кэширование.
- •Сглаживание неравномерности скоростей процессов
- •Распараллеливание ввода и обработки
- •Согласование размеров логической и физической записи
- •Редактирование при интерактивном вводе
- •Кэширование дисков
- •Опережающее чтение.
- •Драйверы устройств. Типовая структура драйвера.
- •Уровни доступа к устройствам в ms-dos. Драйверы устройств ms-dos.
- •Драйверы устройств в ms-dos
- •Управление символьными устройствами в ms-dos. (На примере клавиатуры) Управление символьными устройствами
- •Управление блочными устройствами в ms-dos. (Структура диска) Управление блочными устройствами Структура диска
- •Разделы и логические тома
- •Управление устройствами в Windows и unix. Управление устройствами в Windows Драйверы устройств в Windows
- •Управление устройствами в unix Драйверы устройств в unix
- •Устройство как специальный файл
- •Характеристики файлов и архитектура файловых систем.
- •Размещение файлов.
- •Разделение файлов между процессами. Разделение файлов между процессами
- •Файловая система fat. Структуры данных на диске, создание и удаление файлов. Файловая система fat и управление данными в ms-dos Общая характеристика системы fat
- •Структуры данных на диске
- •Создание и удаление файла
- •Работа с файлами в ms-dos. Хэндлы. Внутренние структуры данных подсистемы управления данными (sft, jft). Работа с файлами в ms-dos. Системные функции.
- •Доступ к данным
- •Структуры данных в памяти
- •Архитектура файловой системы unix.
- •Жесткие и символические связи
- •Монтируемые тома
- •Типы и атрибуты файлов
- •Управление доступом к файлам в unix. Управление доступом
- •Структуры данных файловой системы unix.
- •Развитие файловых систем unix. Развитие файловых систем unix
- •Особенности файловой системы ntfs. Особенности файловой системы ntfs
- •Структуры дисковых данных
- •Главная таблица файлов
- •Атрибуты файла
- •Доступ к данным в Windows. Доступ к данным
- •Защита данных в Windows. Защита данных
- •Аутентификация пользователя
- •Дескриптор защиты
- •Процессы и ресурсы. Квазипараллельное выполнение процессов. Понятия процесса и ресурса
- •Квазипараллельное выполнение процессов
- •Состояния процесса. Состояния процесса
- •Вытесняющая и невытесняющая многозадачность. Вытесняющая и невытесняющая многозадачность
- •Дескриптор и контекст процесса. Реентерабельность системных функций. Дескриптор и контекст процесса
- •Реентерабельность системных функций
- •Дисциплины диспетчеризации и приоритеты процессов. Дисциплины диспетчеризации и приоритеты процессов
- •Изоляция и взаимодействие процессов. Проблема взаимного исключения. Изоляция процессов и их взаимодействие
- •Проблема взаимного исключения процессов
- •Двоичные семафоры Дейкстры. Средства взаимодействия процессов. Двоичные семафоры Дейкстры
- •Средства взаимодействия процессов
- •Целочисленные семафоры
- •Семафоры с множественным ожиданием
- •Сигналы
- •Сообщения
- •Общая память
- •Программные каналы
- •Проблема тупиков. Проблема тупиков
- •Процессы и нити в Windows.
- •Планировщик процессов в Windows. Планировщик Windows
- •Синхронизация нитей и функции ожидания в Windows. Синхронизация нитей. Способы синхронизации.
- •Объекты синхронизации и функции ожидания
- •Объекты синхронизации в Windows. Критические секции. Типы объектов синхронизации
- •Критические секции
- •Механизм обмена сообщениями в Windows.
- •Жизненный цикл процесса в unix. Группы процессов. Жизненный цикл процесса
- •Группы процессов
- •Программные каналы
- •Сигналы
- •Интерпретатор команд shell
- •Виртуальные и физические адреса
- •Распределение памяти без использования виртуальных адресов Настройка адресов
- •Распределение с фиксированными разделами
- •Распределение с динамическими разделами
- •40. Сегментная и страничная организация памяти. Сегментная организация памяти
- •Страничная организация памяти
- •Управление памятью в Windows Структура адресного пространства
- •Регионы
- •Отображение исполняемых файлов
- •Файлы, отображаемые на память
- •Стеки и кучи
Управление блочными устройствами в ms-dos. (Структура диска) Управление блочными устройствами Структура диска
Основным видом блочных устройств являются магнитные и другие диски, поэтому начнем с рассмотрения структуры диска.
Поверхность нового магнитного диска покрыта однородным слоем магнитного материала. У дискеты используется либо одна поверхность, либо (чаще) обе поверхности. Число поверхностей жесткого дискового тома определяется количеством дисков, из которых собран том.
Первой операцией, которая должна быть проделана с диском, является низкоуровневое форматирование. Оно заключается в разметке поверхности на дорожки магнитной записи, разделенные на секторы. Расстояние между дорожками определяется шагом перемещения головок чтения/записи, а разбиение на секторы выполняется программно, путем записи данных на дорожки в моменты, рассчитанные на основании известной скорости вращения диска. Для всех операций с диском, кроме низкоуровневого форматирования, сектор является минимальной единицей чтения или записи данных.
Совокупность дорожек одинакового радиуса на всех поверхностях диска называется цилиндром.
Сектор состоит из заголовка, блока данных и контрольной информации (контрольной суммы), которая служит для проверки правильности считывания сектора.
Заголовок сектора содержит физический адрес сектора и его размер. Физический адрес состоит из трех чисел: номер цилиндра, номер поверхности и номер сектора на дорожке. Самый первый сектор диска имеет адрес (0, 0, 1). Размер сектора на IBM-совместимых компьютерах всегда равен 512 байт.
Одно время было модно использовать нестандартный размер отдельных секторов на дискете (например, 1024 байта) для затруднения несанкционированного копирования. Дискету, содержащую нестандартный сектор, могла правильно прочитать только программа, которой было точно известно о наличии такого сектора.
Между секторами и внутри секторов имеются промежутки, которые используются аппаратурой при поиске заданного сектора.
Нумерация секторов не обязательно ведется в порядке их размещения на дорожке. Если скорость имеющейся аппаратуры недостаточна для того, чтобы успеть прочесть и передать в память данные со всей дорожки за время одного оборота диска, то система при форматировании нумерует секторы «через один» или даже «через два». Например, при 9 секторах на дорожке они могут быть пронумерованы «через один» в таком порядке: 1, 6, 2, 7, 3, 8, 4, 9, 5. После чтения сектора 1 у контроллера диска есть время передать прочитанные данные, пока к головке чтения не подойдет сектор 2. В результате вся дорожка может быть прочитана за два оборота диска.
Разделы и логические тома
Общая структура дискет и жестких дисков различаются между собой.
Начальный сектор дискеты принято называть BOOT-сектором. Он содержит количественные данные о дискете (размер секторов, количество секторов на каждой дорожке и на всей дискете, число поверхностей и т.п.), метку (название) и серийный номер дискеты, а также данные о файловой системе. Кроме того, если дискета содержит системные файлы ОС, то в BOOT-секторе находится также небольшая программа начальной загрузки, которая считывает один сектор ОС и передает ему управление для продолжения загрузки. Все остальные секторы дискеты могут использоваться ОС для хранения ее файлов и других данных. Общее количество секторов на дискете не может превышать 216 (на самом деле, их значительно меньше).
Скажите быстро, сколько примерно секторов содержит стандартная трехдюймовая дискета?
Для жесткого диска начальный сектор называется MBR (Master Boot Record, главная загрузочная запись). Он тоже может содержать программу начальной загрузки, но, кроме того, содержит таблицу разделов (partition table), которая описывает разбиение жесткого диска на разделы.
Таблица может содержать от 1 до 4 записей о разделах. Каждая запись содержит тип раздела, число секторов в нем, физические адреса начала и конца раздела.
Возможны следующие типы разделов.
· Обычный раздел. Его структура точно такая же, как у дискеты, т.е. такой раздел начинается с BOOT-сектора, а общее число секторов не превышает 216. Таким образом, общий размер раздела не может превышать 32 Мб.
· Большой раздел. Он отличается от обычного тем, что число секторов может достигать 232. Это позволяет описывать большие разделы размером до 2048 Гб.
· Расширенный раздел. Его структура аналогична структуре всего жесткого диска, т.е. начальный сектор раздела — не BOOT, а MBR-сектор. Аналогия не совсем полная, поскольку таблица разделов в MBR расширенного раздела может содержать не более двух записей, причем первая из них должна описывать либо обычный, либо большой раздел, а вторая запись, если она имеется, описывает еще один расширенный раздел.
· Разделы других ОС (например, UNIX).
Обычные и большие разделы называются также логическими томами или логическими дисками, в отличие от физических дисков. Обычная буквенная нумерация дисков A, B, C, D и т.д. относится именно к логическим томам. Для дискет понятия физического и логического тома совпадают.
Изначально MS-DOS поддерживала только обычные разделы на жестком диске. В 80-е годы казалось, что 32 Мб — это очень большой объем диска. Когда появились диски объемом в несколько сотен мегабайт, была придумана матрешечная структура расширенных разделов, что позволило на одном физическом томе разместить сколько угодно логических томов по 32 Мб. Затем были реализованы большие разделы, что потребовало от разработчиков MS-DOS внести существенные изменения в программный интерфейс и реализацию средств работы с дисками. После этого использование расширенных разделов стало необязательным, если пользователю достаточно иметь не более четырех логических томов на одном физическом диске.
