- •Лабораторная работа № 1 работа с датой и временем системы
- •Процедуры работы с датой и временем системы
- •Процедуры работы с датой и временем создания/модификации файла
- •Задания
- •Лабораторная работа № 2 проверка состояния диска
- •Задания
- •Лабораторная работа № 3 работа с файлами: поиск
- •Примеры:
- •Задания
- •Лабораторная работа № 4 работа с файлами: просмотр и изменение атрибутов
- •Задания
- •Лабораторная работа № 5 управление операционной средой в ос windows 2000. Переменные Окружения
- •Задания
- •Лабораторная работа № 6
- •Прерывания и исключения. Физическая структура
- •Диска. Программное обслуживание прерываний
- •Типы прерываний и исключений
- •Физическая структура диска
- •Программный вызов диспетчера функций
- •Многие функции устанавливают текущий флаг процессора и возвращают код ошибки в регистре ax, если в процессе обращения к функции произошла ошибка. Из специальных таблиц можно узнать причину ошибки.
- •Функции dos для получения информации о системе
- •Задания
- •Лабораторная работа № 7 планирование исполнения процессов с помощью алгоритма sjf
- •Задания
- •Лабораторная работа № 8 Шифрование сообщений методом rsa
- •Задание
- •Лабораторная работа № 9 Работа с системным реестром в ос Windows nt/2000
- •Структура реестра
- •Хранение данных реестра
- •Редакторы реестра
- •Задания
- •Лабораторная работа № 10 работа с программой «Диспетчер задач»
- •Запуск диспетчера задач
- •Мониторинг процессов
- •Ошибки страницы - число прерываний, которые возникают, когда приложение пытается прочитать или записать данные в несуществующую виртуальную память.
- •Выбор процессора
- •Скорость обновления
- •Мониторинг производительности системы
- •Задания
- •Запустите на выполнение приложение ms Excel.
- •Измените приоритет запущенного приложения.
- •Литература
- •Содержание
Физическая структура диска
Информация на диске располагается на концентрических окружностях - дорожках (треках). Нумерация треков начинается с 0, с внешнего трека.
Каждый трек разбит на секторы фиксированного размера. Сектор – это минимальный блок информации, который может быть записан на диск или считан с него. Нумерация секторов начинается с 1. Каждый сектор имеет служебную область и область данных размером обычно в 512 байт.
Область данных диска разбита на кластеры – группы смежных секторов, называемые также единицами распределения пространства. Кластер – это единица, добавляемая к файлам по мере необходимости. Каждый кластер имеет свой номер. Размер кластера (число секторов) выбирается кратным степени 2, в зависимости от объема диска и размера FAT. Файл на диске занимает целое число кластеров. Файлы, расположенные в цепочках из несмежных кластеров, называют фрагментированными. Время доступа к ним выше за счет увеличения времени на позиционирование головок.
Если накопитель имеет несколько рабочих поверхностей (у каждого диска могут использоваться обе поверхности, может быть и пакет дисковых пластин), то совокупность всех дорожек с одинаковыми номерами составляет цилиндр. Для каждой рабочей поверхности в накопителе имеется своя головка, обеспечивающая запись и считывание информации. Стороны (головки) нумеруются с 0. Количество информации на одной стороне диска зависит от числа дорожек – плотности, и общего размера секторов на одной дорожке.
Таблица размещения файлов FAT (File Allocation Table) – содержит код формата и полную карту принадлежности секторов файлам, т.е. сведения о размещении файлов. Каждый элемент соответствует участку дискового пространства и содержит код состояния участка – занят, свободен, дефект поверхности (участок не используется). Обычно на диске имеется несколько копий FAT [5].
Программный вызов диспетчера функций
Чтобы программно обратиться к системной функции, необходимо:
записать номер соответствующей функции в регистр АН;
записать параметры, необходимые для работы функции, в соответствующие регистры;
вызвать прерывание 21Н.
При обращении к прерыванию 21Н, управление передается MS-DOS. ОС по значению регистра АН определяет, какая функция должна выполняться. Затем из остальных, определенных для каждой функции, регистров считываются значения параметров, после чего требуемая функция выполняется. ОС помещает возвращаемые функцией параметры в соответствующие регистры и возвращает управление в вызывающую программу. Программа просматривает регистры и производит анализ результата выполнения функции.
Многие функции устанавливают текущий флаг процессора и возвращают код ошибки в регистре ax, если в процессе обращения к функции произошла ошибка. Из специальных таблиц можно узнать причину ошибки.
Несмотря на то, что Турбо Паскаль имеет большой набор инструментальных средств для использования возможностей ОС, во многих случаях возникает необходимость прямого обращения к функциям ОС для использования некоторых специфических средств, в частности, для организации обмена информацией в оперативной памяти.
Для более полного использования возможностей MS-DOS в модуле Dos имеются две процедуры: Intr и MsDos.
Процедура
Intr (IntNo: BYTE; VAR Regs: REGISTERS)
выполняет заданное программное прерывание, IntNo - номер программного прерывания, REGISTERS - тип записи, определенный в модуле Dos в виде:
TYPE
REGISTERS = RECORD
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;
Поля записи соответствуют регистрам процессора.
Следующая процедура выполняет вызов функции DOS:
MsDos (VAR Regs: REGISTERS)
Запись REGISTERS представляет собой набор регистров процессора, а вариант в этой записи позволяет работать с первыми четырьмя регистрами либо пословно, либо с их старшими и младшими байтами по отдельности. Когда выполняется процедура Intr, значения полей AX, BX, CX, DX, BP, SI, DI, DS и ES загружаются в соответствующие регистры процессора. После этого вызывается прерывание с номером IntNo. После того, как прерывание обработано, содержимое регистров процессора загружается в запись Regs, а содержимое регистра флагов копируется в поле Flags. Таким образом, можно получить доступ к результатам работы процедуры прерывания.
Результат обращения к процедуре MsDos будет тот же, что и при обращении к процедуре Intr с номером прерывания $21.
