Операционные системы (Системное программное обеспечение), страница 5

  1. Программирование контроллера порта параллельной передачи данных. Управление принтером.

Параллельная передача данных выполняется сразу по восьми паралельным проводам. Предача выполняется через порт LPT.

Программирование адаптера: (передача данных)

1.  проверить готовность адаптера к передаче байта

2.  проверить на свободность регистр передатчика

3.  поместить байт в регист передатчика

4.  повторять пункты 2, 3 до окончания передачи всех байтов

  1. Программирование контроллера прерываний ПЭВМ.

Контроллер прерываний реализован на каскадируемых микросхемах типа Intel 8259. Наиболее часто в контроллере прерываний программист управляет регистрами маски прерываний и управляющим регистром прерываний. Через первый регистр можно замаскировать отдельное прерывание (что нельзя сделать системными командами), через второй регистр возможно изменять порядок приоритетов аппаратных прерываний (в пределах приоритетного кольца) и организовывать операции по прекращению прерываний (снятие их с контроля).

  1. Интерактивное конфигурирование MS DOS 6.22

        Начиная с MS DOS 6.2 появились средства для составления разветвленных конфигурационных файлов запуска ОС – autoexec.bat  и  config.sys. Появились инструменты для составления меню в config.sys, описывающих порядок выполнения этого файла и метки для autoexec.bat, которые связывают между собой autoexec.bat  и  config.sys и определяют какие разделы autoexec.bat следует выплнить, если выполнены заданные разделы config.sys.

  1. Контроллер прямого доступа к памяти, его программирование.

Микросхема DMA используется для обмена данными между оперативной памятью и периферийными устойствами I/O (HDD, FDD, стриммеры). При использовании DMA процессор не участвует в операциях I/O. Распространены  два типа контроллеров DMA - для IBM PC/XT и для IBM AT (4-х и 7-и канальный).

Вот краткий перечень шагов при программировании микросхемы DMA:

1.  Послать в DMA код команды, подлежащей выполнению (чтения или записи);

2.   Вычислить 20-ти битовые адреса памяти буфера, в который будут посланы данные, и записать его в регистры адреса и страницы канала (№2 – для НГМД);

3.   Поместить значение числа (передаваемых байтов -1) в регистр счетчика канала ;

4.   Разрешить передачу данных через канал .

  1. Программирование контроллера НГМД в MS DOS.

Контроллер НГМД имеет ряд портов для управления и программирования:

-  порт команд

-  порт состояния

-  порт данных

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

-  включить мотор дискеты и сделать временную задержку для раскручивания дискеты.

-  настроить контроллер DMA на передачу данных между ОЗУ и дисководом.

-  проверить готовность контроллера к приему команд управления.

-  послать команду ( команда для НГМД состоит из последовательности байт, первым из которых идет код команды, а затем – параметры команды. Число параметров строго задано для каждой команды и как только нужное число байт передано в контроллер, тот начинает выполнение команды)

-  ожидать прерывания (сигнал об окончании выполнения команды)

-  принять байты статуса из контроллера ( число байтов статуса строго соответствует каждой команде) и проанализировать из на наличие сигнала об ошибке.

-  если ошибки нет, продолжить работу с контроллером.

-  выключить мотор дискеты