Создание TSR программ в операционной системе MS DOS

Страницы работы

22 страницы (Word-файл)

Содержание работы

Министерство образования и науки Российской Федерации

Государственное образовательное учреждение высшего профессионального образования «Комсомольский-на-Амуре государственный технический

университет»

Кафедра математического обеспечения и применения ЭВМ

Лабораторная работа №7

по дисциплине «Операционные системы»

Тема: «Создание TSR программ в операционной

системе MS DOS»

Вариант №2

Руководитель работы

Тихомиров В.А.

Исполнитель

Горн М.А.

Группа 3ВТ-1

Комсомольск-на-Амуре

2005

Задание :

-  изучить  теоретический  материал  по аппаратной организации контроллеров  НГМД  и  DMA

-  приобрести навыки  управления устройствами компьютера путем программирования их котроллеров.

Теоретические сведения

Контроллер прямого доступа к памяти (DMA)

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

Общее описание

В персональных компьютерах используются контроллеры DMA типа Intel 8237. Контроллер имеет 4 независимых канала передачи данных, каждый из которых может обслуживать свое устройство. В машинах класса XT установлен один такой контроллер, а в машинах класса AT - два. Таким образом, в машинах класса XT доступны 4 канала DMA, а в машинах класса AT - семь (один канал задействован для подключения второго контроллера DMA).

Общая структура контроллера DMA приведена на рис.

СигналDREQx используется внешним устройством для запроса на обслуживание каналом DMA.

Сигнал DACKx используется каналом DMA для указания внешнему устройству, что запрос на обслуживание выполнен.

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

Принцип работы контроллера DMA

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

·  Передаст процессору запрос на захват шины. Суть захвата шины состоит в монопольном использовании шины контроллером DMA.

·  После удовлетворения запроса на захват шины контроллер DMA выполняет передачу данных между памятью и периферийным устройством. Количество передаваемых данных зависит от режима работы контроллера DMA.

·  Выполняется освобождение шины и в устройство передается подтверждение о завершении передачи данных. На этом цикл передачи завершается.

·  Цикл передачи данных повторяется до тех пор, пока не будет исчерпан счетчик передаваемых данных или устройство не прекратит операцию.

Режимы работы

Контроллер DMA обеспечивает несколько режимов работы с периферийным устройством.

Передача байта.

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

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

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

Каскадирование.

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

Использование того или иного режима зависит от того, как периферийное устройство будет работать с DMA.

Code      segment

assume cs:code,ds:code

;область данных

 


;рабочая область для форматирования, чтения, записи

WorkArea

db                                  512*3*2-1    dup(0)              ; память для трех секторов и вырав-

;нивания в пределах страницы DMA

WorkOff                       dw     0          ;смещение начала рабочей области

;выравненной в пределах стр. DMA

FDCResult                    label   byte   ;область данных для результата

;выполнения операций контроллерa

ST0                               db     0          ;регистр состояния О

ST1                               db     0          ;регистр состояния 1

ST2                               db     0          ;регистр состояния 2

ResCyl                          db     0          ;цилиндр

ResHead                       db     0          ;голова

Похожие материалы

Информация о работе

Тип:
Отчеты по лабораторным работам
Размер файла:
128 Kb
Скачали:
0