Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 26_Системное программирование. Прерывани...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
109.06 Кб
Скачать

Элементы системного программирования. Прерывания Cтраница 6 из 6

Доступ к системным ресурсам 1

Распределение памяти 1

Специальные адреса памяти 2

Прерывания 4

Обработка прерываний 5

Использование прерываний в Паскале 5

Контрольные вопросы 6

Лекция № 26 Доступ к системным ресурсам

Системным программированием называют разработку программ, которые выполняют действия, возлагаемые на ОС. Это операции с файлами, управление выполнением программ, работа с устройствами и т.д.

Операционная система представляет собой программный комплекс (набор взаимосвязанных программ), который выполняет две основные функции:

  • обеспечение удобного интерфейса (взаимодействия) между пользователем или его программой и компьютером;

  • эффективное управление ресурсами компьютера, в число которых входят процессор, оперативная память, массив жестких дисков, периферийные устройства.

ОС MS-DOS работает только в реальном режиме. Во всех модернизациях своего микропроцессора (МП) фирма Intel поддерживает этот режим, в котором:

  • пространство оперативной памяти делится на сегменты по 64 килобайта;

  • страничное преобразование адреса запрещено, т.е. физический адрес = линейному и формируется как сумма 2-х составляющих;

  • максимальное значение физического адреса = 1Мб.

Основными элементами системного программирования являются регистры, сегменты и прерывания.

Регистр – это внутреннее запоминающее устройство процессора для временного хранения обрабатываемой или управляющей информации. В Паскале имеется специальный тип Registers, который описывается следующим образом:

type Registers = record {Registers record used by Intr and MsDos}

case Integer of

0: (AX, BX, CX, DX, BP, SI, DI, DS, ES, Flags: Word);

1: (AL, AH, BL, BH, CL, CH, DL, DH: Byte);

end;

Сегмент – это область памяти размером до 64 Кбайт, которая начинается по любому адресу, кратному 16. В области памяти, выделяемой программе, имеется три основных сегмента:

  • сегмент кода содержит машинные команды, которые будут выполняться. Первая выполняемая команда находится в начале кодового сегмента и ОС для выполнения программы передает управление по адресу данного сегмента.

  • сегмент данных содержит данные и рабочие области, необходимые программе.

  • сегмент стека содержит адреса для возврата в ОС и для возврата из подпрограмм в главную программу.

Прерывание – это вызов процедур низкого уровня операционной системы MS-DOS и BIOS.

Распределение памяти

Первые 640 Кбайт относятся к так называемой стандартной памяти. Следующие 384 Кбайт занимает область верхней памяти, недоступная для прикладных программ MS-DOS и зарезервированная для использования BIOS. Далее следует область расширенной памяти, не представленная на рисунке.

Рис.1. Логическая структура 1-ого Мбайта оперативной памяти

Для своих собственных нужд и пользовательских программ MS-DOS использует 640 Кбайт памяти.

Адрес

использование памяти

A0000

command.com

нерезидентная область памяти

резидентные программы

command.com

Драйверы устройств

10000-14000

Буферы MS-DOS

0800-0A00

Ядро MS-DOS

0040

Интерфейс BIOS

0000

Векторы прерываний

Рис.2. Распределение стандартной памяти