Числопараграфовв этом блоке
5
11
reserve
Зарезервировано
Параграф имеет размер 16 байт.
Для удобства работы с блоком MCB определим тип MCB:
typedef struct
{
unsigned char type;
unsigned owner;
unsigned size;
char reserve[11];
} MCB; Порядок выполнения работы
Получить и вывести на экран адрес векторной таблицы связи и значения полей в векторной таблице связи. Получить список всех MCB - блоков с указанием их типов, размеров и владельцев.
Содержание отчета
Цель работы. Описание полей векторной таблицы связи.Результаты выполнения лабораторной работы.
Контрольные вопросы
Распределение памяти в ОС MS-DOS. Назначение и варианты использования векторной таблицы связи ОС MS-DOS. Назначение и способы использования MCB - блоков
Литература
Г. Дейтел. Введение в операционные системы. Том 1,2. М: Мир, 1987. А. В. Фролов, Г.В. Фролов MS-DOS для программиста. Библиотека системного программиста, Том 19, М:ДИАЛОГ-МИФИ, 1995.
Лабораторная работа № 4
Исследование системы обработки прерываний ОС MS-DOS Цель работы
Изучение системы обработки прерываний ОС MS-DOS
Общие положения
Для обработки событий, происходящих асинхронно по отношению к выполнению программы, лучше всего подходит механизм прерываний. Прерывание можно рассматривать как некоторое событие в системе, требующее моментальной реакции. С прерыванием связывают число - номер прерывания.
Этот номер однозначно соответствует тому или иному событию. Система умеет распознавать прерывания и при их возникновении запускает процедуру, соответствующую номеру прерывания.
Прерывания могут быть синхронными или асинхронными. Синхронные прерывания (программные) вызываются самой программой с использованием команды INT. Программные прерывания удобно использовать для организации доступа к функциям операционной системы и другим разделяемым программам и данным. Аппаратные прерывания вызываются физическими устройствами. Эти прерывания информируют систему о событиях, связанных с работой устройств, например, завершение ввода, нажатие клавиши на клавиатуре или мыши и т.д.
Для того, чтобы связать адрес обработчика прерываний с номером прерывания, используется таблица векторов прерываний, занимающая первый килобайт оперативной памяти. Эта таблица находится в диапазоне адресов от 0000:0000 до 0000:03FFh и состоит из 256 элементов - дальних адресов обработчиков прерываний.
Элементы таблицы векторов прерываний называются векторами прерываний. В первом слове вектора прерываний записывается компонента смещения обработчика прерывания, а во втором - сегментная компонента.
Для программиста, использующего язык СИ, таблицу векторов прерываний можно описать следующим образом:
void (far* interrupt_table[256])();
Для изменения обработки некоторых прерываний программа должна установить векторы нужных прерываний на свой обработчик. Это можно сделать, изменив содержимое соответствующего элемента таблицы векторов прерываний. Перед завершением работы необходимо восстановить содержимое измененных векторов.
Если нужно добавить какие-либо действия к тем, что выполняет стандартный обработчик прерываний, то можно организовать цепочку обработчиков
Похожие работы
Тема: Операционная система |
Предмет/Тип: Информатика, ВТ, телекоммуникации (Реферат) |
Тема: Операционная система. |
Предмет/Тип: Информатика, ВТ, телекоммуникации (Реферат) |
Тема: Операционная система |
Предмет/Тип: Отсутствует (Контрольная работа) |
Тема: Making Utilities For MSDOS Essay Research Paper |
Предмет/Тип: Английский (Реферат) |
Тема: Операционная система Unix |
Предмет/Тип: Информатика, ВТ, телекоммуникации (Курсовая работа (п)) |
Интересная статья: Основы написания курсовой работы