Системное и прикладное программное обеспечение. Общая классификация ПО. Принципы построения ОС. Управление ресурсами: файловые системы, страница 6

Активным называется ресурс, который может являться инициатором обмена данными (например, процессор или клавиатура), пассивный ресурс – осуществляет обмен данными только по внешнему запросу (например, оперативная память).

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

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

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

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

Программные прерывания являются, очевидно, синхронными и по сути не отличаются от обычного вызова подпрограмм.

Асинхронные аппаратные прерывания вызываются внешними устройствами, например, прерывание от клавиатуры по нажатию клавиши.

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

§1.3. Управление ресурсами: файловые системы.

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

1.3.1. Физическая и логическая структура диска.

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

Каждая дорожка разбивается на фиксированное число частей (дуг), которые образуют сектора. Каждый такой фрагмент дорожки также называется сектором (на рис. 1 условно изображены дорожка и сектор) и является минимальным адресуемым элементом на диске (невозможно записать или прочитать меньше сектора). Для большинства накопителей размер сектора равен 512 байт. Совокупность дорожек (по всем сторонам), находящихся на одинаковом расстоянии от центра, называется цилиндром.

Чтобы задать сектор, достаточно указать три числа: номер цилиндра, номер стороны и номер сектора. Такая тройка чисел называется физическим адресом. При этом цилиндры и стороны принято нумеровать с 0, сектора с 1.

Данный способ задания физического адреса в настоящее время является устаревающим. Во многих случаях используется сквозная нумерация секторов и физический адрес задается одним числом. При этом даже если используется трехкомпонентный адрес, его вид редко соответствует реальной конфигурации диска (число пластин, секторов).

В первом секторе, т.е. секторе с адресом (0, 0, 1), диска записывается программа начальной загрузки (MBR – master boot record). Кроме того, в нем же хранится таблица разделов (PT – partition table).

Загрузчик в MBR, как правило, запускает не саму ОС, а так называемый вторичный загрузчик, который предоставляет пользователю возможность выбора логического диска для загрузки ОС.

Таблица разделов задает разделение диска на разделы, то есть части, каждая из которых может использоваться как отдельный диск.

Ввиду ограниченности места (в 512 байтах размещаются и таблица, и программа загрузки), таблица разделов состоит всего из четырех записей, каждая из которых задает параметры раздела.

Таблица разделов в MBR (главная загрузочная запись).

name

boot

start

end

size

(Y/N)

(cyl, side, sect)

(cyl, side, sect)

(sectors)

На рис. 2 приведен скриншот программы diskeditor, где показывается вид реальной таблицы разделов.

Рис. 2. Таблица разделов в программе diskeditor.