Скачиваний:
171
Добавлен:
16.04.2013
Размер:
111.1 Кб
Скачать

Московский институт электронной техники

С.А. ЛУПИН

СБОРНИК ЛАБОРАТОРНЫХ РАБОТ

по курсу

ОПЕРАЦИОННЫЕ СИСТЕМЫ ЭВМ

Кафедра “Информационно-управляющих вычислительных систем”

МИЭТ 1998

Автор выражает благодарность студентам кафедр ИУВС и МЭ, принявшим активное участие в подготовке лабораторных работ, а также преподавателям кафедры Максимчук Т.Н. и Березиной Н.В. за полезные советы и замечания.

Для выполнения лабораторных работ Вам потребуются следующие программные средста:

- транслятор Си (работы 1 - 4);

- отладчик Debug (работа 5);

- транслятор ассемблера (работы 6-8).

Описание лабораторных работ в формате MS WORD и тексты примеров программ в формате MS DOS можно получить у преподавателя.

Список литературы приведен в конце сборника. Если Вы хотите более глубоко изучить рассматриваемые в работах вопросы, то необходимо прочитать и дополнительную литературу.

Студенты, имеющие дома компьютер могут выполнить лабораторные работы самостоя-тельно, согласовав условия сдачи работ с преподавателем.

Лабораторная работа 1.

Определения конфигурации вычислительной системы для IBM PC.

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

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

Под системными ресурсами будем понимать следующее:

1 - тип ЭВМ;

2 - объем оперативной памяти;

3 - номер версии MS-DOS;

4 - тип адаптера дисплея;

5 - состав и параметры периферийного оборудования.

Существует несколько методов, которые позволяют провести ревизию системных ресурсов:

1 - использование соответствующих функций языка программирования;

2 - использование средств операционной системы;

3 - использование функций BIOS;

4 - непосредственный анализ содержимого ячеек памяти, в которых хранятся интере-сующие нас значения.

В настоящей лабораторной работе мы рассмотрим последние три.

Определение типа э в м.

Определение типа ЭВМ необходимо из-за того, что существует проблема программной совместимости различных типов IBM.

Информация о типе ЭВМ хранится в ПЗУ BIOS по адресу F000:FFFC.

Для доступа к ячейке памяти (байту) воспользуемся функцией языка Си peekb, которая возвращает содержимое байта памяти, расположенного по указанному адресу.

Функция peekb имеет следующий вид:

unsigned char peekb (unsigned int seg, unsigned int offset) , где

seg - сегмент памяти,

offset - смещение.

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

FF - ЭВМ типа IBM PC;

FE - ЭВМ типа IBM PC/XT;

FD - ЭВМ типа IBM PCjr;

FC - ЭВМ типа IBM PC/AT.

ОПРЕДЕЛЕНИЕ ВЕРСИИ MS-DOS.

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

Для определения версии операционной системы служит функция 30h прерывания 21h. Вызов прерывания в Си производится с помощью функции geninterrupt (int intr_num), опреде-ленной в файле dos.h ( intr_num - номер прерывания).

Для получения номера версии DOS в регистр _ AH необходимо послать номер функции ( 30h ) и выполнить прерывание 21h. После выполнения прерывания старший номер версии DOS возвращается в регистр _AL, а младший в _AH.

В языке Си зарезервированы переменные osmajor и osminor, которые возвращают стар-ший и младший номер версии DOS, а также переменная version, возвращающая полный номер версии DOS. Эти переменные имеют тип - unsigned char.