Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсач.docx
Скачиваний:
50
Добавлен:
02.09.2019
Размер:
694 Кб
Скачать
☆

6 Формирование базы данных ос

6.1 Структура управляющих блоков базы данных ОС

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

База данных состоит из следующих управляющих блоков:

- блок управления пользователями;

- блок управления файлами;

- блок управления памятью;

- блок управления процессами.

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

Рисунок 1 – Взаимодействие управляющих блоков базы данных ОС

При входе в систему пользователь регистрируется при помощи блока управления пользователями, при выходе пользователя из системы запись о нём, соответственно, удаляется.

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

Блок управления устройствами регистрирует все устройства, их текущее состояние, при необходимости изменяет его в ходе работы.

Блок управления файлами заносит запись об открытом файле в таблицу, устанавливает признаки, при закрытии файла запись удаляется из таблицы.

Блок управления процессами имеет следующую структуру:

- PID – ID процесса;

- NAME – имя процесса;

- QID – идентификатор очереди, в которой стоит процесс;

- ID – идентификатор пользователя;

- PRI – приоритет процесса;

- ST – текущее состояние процесса (0 – процесс находится в режиме исполнения, 1 – процесс находится в режиме ожидания, 2 - процесс находится в режиме готовности).

Блок управления памятью хранит информацию об оперативной памяти (располагается в статической части базы данных). Структура блока управления памятью имеет вид:

- RCB_HANDLE – дескриптор блока;

- RCB_SIZE – размер блока;

- RCB_CADR – текущий адрес блока;

- RCB_RIGHT – права доступу.

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

При открытии файла, в БД создается запись для этого файла, при его закрытии, он удаляется. Если с файлом работает несколько процессов одновременно, то все связи с процессами этого файла указываются.

Структура блока управления файлами представляет собой следующее:

- FCB_ID - ID файла;

- NAME - имя файла;

- SIZE - размер файла;

- UID - идентификатор владельца;

- TIME - время создания;

- BUSYBLOCKS - перечень блоков, занимаемых данным файлом.

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

- U_ID - ID пользователя;

- U_Name - имя пользователя;

- U_GROUP - группа пользователя (текущая);

- U_RIGHT - права пользователя.

Операционная система автоматически проверяет статус устройства. При отсутствии устройства, который был подключен, драйвер выгружается из памяти. При обнаружении нового устройства операционная система, получает данные об устройстве и загружает соответствующий драйвер. Каждое устройство имеет свой ​​запрос на прерывание и порт ввода вывода. При загрузке драйвера ему сообщается эта информация, и дальнейшая работа с устройством ведется только с помощью драйвера.

Блок управления устройством содержит следующую информацию:

- DCB_ID - ID устройства;

- DCB_NAME - имя устройства;

- DCB_ST - статус устройства;

- DCB_INT - таблица точек входа;

- DCB_INIT - инициализация;

- DCB_WRITE - флаг записи;

- DCB_READ - флаг чтения;

- DCB_PROP - параметры устройства;

- DCB_DRV - адрес драйвера устройства;

- DCB_NEXT - адрес следующего DCB.