Лабораторная работа №4.
Тема: Исследование дисковой подсистемы ввода/вывода.
Цель работы: Получить практические навыки оценки быстродействия
дисковой подсистемы ввода/вывода.
Общие сведения
Оценка быстродействия дисковой подсистемы ввода/вывода в лабораторной работе выполняется на примере подсистемы ввода/вывода ПЭВМ типа IВМ РС (накопитель на гибких магнитных дисках) с ОС МS-DOS. Для выполнения лабораторной работы целесообразно ознакомиться с организацией дисковой памяти на гибких магнитных дисках ПЭВМ типа IВМ РС по рекомендованной к лабораторной работе литературе [1,2]. Для определения быстродействия дисковой подсистемы ввода/вывода используется способ с применением системного таймера вычислительной системы (способ 3, л.р. №1).
При выполнении работы используется функция языка высокого уровня
C write:
Int write (int handle, void *buf, unsigned len).
Следует учесть, что для повышения быстродействия операций ввода-вывода операционная система МS-DOS осуществляет их буферизацию. Поэтому для получения оценки быстродействия необходимо использовать функцию 0Dh прерывания 21h МS-DOS (сбросить диск), которая сбрасывает все файловые буферы. Все данные, записанные логически пользовательскими программами и временно буферизованные в МS-DOS, записываются физически на диск. При вызове функции регистр аh=0Dh, при возврате - ничего не возвращается.
Порядок выполнения работы.
Составить программный модуль, реализующий вывод на дисковый накопитель (функция C write) и оценить время выполнения операций вывода различного количества байтов (от 0 до 5000) с применением буферизации. Количество записываемых байтов изменять параметром len. Построить график зависимости времени выполнения операций вывода от количества выводимых байт.
Выполнить п.1 без применения буферизации, для чего воспользоваться функцией 0Dh прерывания 21h.
Сравнить полученные результаты и сделать вывод.
Составить программный модуль, реализующий вывод на дисковый накопитель (функция C write) и оценить время выполнения операций вывода различного количества байтов (от 0 до 5000) с применением буферизации. Количество записываемых байтов изменять варьированием количества вызовов функции write (параметр 1еn=1). Построить график зависимости времени выполнения операций вывода от количества выводимых байт.
Выполнить п.4 без применения буферизации, для чего воспользоваться функцией 0Dh прерывания 21h.
Сравнить полученные результаты и сделать вывод.
Сравнить результаты п.п. 1,2 с результатами п.п. 4,5; сравнить полученные результаты с техническими данными из справочной литературы; сделать общий вывод.
Содержание отчета.
Задание.
Распечатка текста программы.
Графики зависимостей.
Выводы.
Примечание.
Для получения достоверных результатов оценку быстродействия следует производить при запуске программы в DOS-режимеили в режимеCommand prompt only.
Литература.
Данкан Р. Профессиональная работа в МS-DOS:
Пер. с англ. - М.: Мир, 1993.-509 с.
Абель П. Язык Ассемблера для IBМ РС и программирования:
Пер. с англ. – М.: Высш. шк., 1992. - 477 с.
