Читать реферат по информационному обеспечению, программированию: "Операционная система MS-DOS" Страница 8

назад (Назад)скачать (Cкачать работу)

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

Числопараграфовв этом блоке

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])();

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

Если нужно добавить какие-либо действия к тем, что выполняет стандартный обработчик прерываний, то можно организовать цепочку обработчиков


Интересная статья: Основы написания курсовой работы