Методические указания к лабораторной работе №1 по курсу "Операционные системы" Волгоград 2005 удк 681. 31



страница1/7
Дата19.01.2013
Размер0.75 Mb.
ТипМетодические указания
  1   2   3   4   5   6   7
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ВОЛГОГРАДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
КАФЕДРА ЭВМ И СИСТЕМ


Управление вводом выводом и дисковая подсистема MS-DOS
Методические указания к лабораторной работе № 1

по курсу "Операционные системы"

Волгоград 2005

УДК 681.31


Управление вводом выводом и дисковая подсистема MS-DOS: Методические указания к лабораторной работе № 1 по курсу "Операционные системы" /Cост. Деревенсков С.О., Стрельников О. И.; Волгоград. гос. техн. ун-т. – Волгоград, 2005. – 28 с.


Содержатся сведения, необходимые для изучения студентами подсистемы ввода/вывода и структуры дисков ОС MS DOS и освоения основных приемов программирования операций ввода/вывода и дисковых операций под управлением MS DOS. Приведены варианты заданий к лабораторным работам.

Предназначены для студентов, обучающихся по направлению 5528 "Информатика и вычислительная техника" и специальности 2201 "Вычислительные машины, комплексы, системы и сети" всех форм обучения.


Табл. 14. Библиогр. 4 назв.

Рецензент Игнатьев А.Н.

Печатается по решению редакционно-издательского совета Волгоградского государственного технического университета
ISBN


© Деревенсков С. О., 2005

© Стрельников О. И., 2005

© Волгоградский государственный технический университет, 2005

В В Е Д Е Н И Е

Несмотря на бурное развитие в настоящее время мультизадачных операционных систем с графическим интерфейсом, таких как ОС семейства WINDOWS, и ОС семейства UNIX (в том числе Linux) с оконной системой X Window, интерес пользователей персональных компьютеров и программистов к ОС MS DOS остается достаточно высоким. Это связано с наличием большого числа ранее выпущенных программ под MS DOS, которые до сих пор успешно используются в системах, не требующих мультизадачности, например, в торговых терминалах. Разработчики современных ОС включают в свои изделия эмуляторы MS DOS, обеспечивающие выполнение сеансов DOS в мультизадачной среде. DOS также хорошо подходит в качестве среды для тестирования аппаратуры, поскольку способна работать в реальном режиме микропроцессора или в нулевом кольце защиты процессора в защищенном режиме. До сих пор поддерживается проект свободно распространяемой версии DOS – FreeDOS.


Предлагаемый курс лабораторных работ ориентирован на изучение студентами внутренней структуры MS DOS, принципов работы ее основных подсистем, способов и приемов программирования с использованием интерфейса прикладных программ (API) MS DOS. Лабораторные работы посвящены изучению подсистемы ввода/вывода, файловой системы, структуры дисков, подсистем управления процессами и оперативной памятью. Изучаются способы создания резидентных программ и драйверов устройств в MS DOS. Материал, включенный в настоящие методические указания, основан на последней версии MS DOS, выпущенной в качестве самостоятельного продукта – MS DOS 6.22.

Приведенные в настоящих указаниях варианты заданий к лабораторным работам ориентированы на программирование на языке ассемблер (Turbo Assembler фирмы Borland или подобный) как языке, позволяющем наиболее просто получить доступ к API MS DOS и элементам ее внутренней структуры. Предполагается, что студенты имеют навык программирования на языке ассемблер и отладки программ, написанных на этом языке.
Л А Б О Р А Т О Р Н А Я Р А Б О Т А № 1

Управление вводом выводом и дисковая подсистема MS-DOS

Цель работы - изучение подсистемы ввода/вывода и структуры дисков ОС MS DOS, основных приемов программирования операций ввода/вывода под управлением MS DOS и основных приемов программирования с использованием элементов структуры диска.

1. Основные сведения
Подсистему ввода/вывода MS DOS образуют внутренние и внешние (загружаемые) драйверы устройств и обработчики соответствующих функций DOS (функций прерывания 21h). Часто к подсистеме ввода/вывода относят также обработчики прерываний BIOS, связанные с конкретными устройствами.

С точки зрения MS DOS, ввод и вывод всегда осуществляются на некоторое логическое устройство, при этом DOS поддерживает общие операции с любым устройством, независимо от его физической природы. Для связи с устройствами используются вызовы функций прерывания 21h, описание которых приведено в таблице 1. В таблице 2 приведены коды ошибок, возвращаемые DOS прикладной программе, если выполнить запрашиваемую операцию невозможно.

Каждому логическому устройству (или группе устройств) соответствует драйвер, который должен быть размещен в ОЗУ и проинициализирован в процессе загрузки DOS. В состав DOS входят внутренние драйверы следующих устройств:

NUL - пустое устройство;

COM1 (AUX1) - первый последовательный порт;

COM2–COM4 - 2–4 последовательные порты;

CON - консоль оператора;

PRN (LPT1) - порт принтера (1 параллельный порт);

LPT2–LPT3 - 2 и 3 параллельные порты;

CLOCK$ - системные часы;

A: ... Z: - накопители на МД.

Пользователь имеет возможность загрузить внешние драйверы других устройств, включив их в файл config.sys.

Для управления логическими устройствами DOS присваивает каждому устройству идентификатор - дескриптор. При работе с файлами каждому файлу присваивается собственный дескриптор. Фактически дескриптор представляет собой номер элемента в специальной системной таблице файлов (SFT), соответствующего устройству (файлу). SFT содержит 56-байтные управляющие блоки DFCB, в которых хранится основная информация об устройстве (файле).

Операция открытия (функция DOS 3Dh) помещает соответствующий DFCB в SFT. Число одновременно открытых устройств (файлов) ограничено и по умолчанию равно 8. Функция DOS 67h позволяет изменить максимальное число одновременно открытых устройств (файлов) для текущего процесса от 20 до 255 (если достаточно памяти). Аналогичные действия выполняются командой FILES из config.sys. После открытия можно выполнять операции чтения/записи с помощью функций DOS 3Fh и 40h. Функция DOS 46h копирует блок DFCB, определяемый заданным дескриптором, на место блока DFCB, определяемого перенаправляемым дескриптором, что позволяет перенаправлять ввод/вывод с одного устройства (файла) на другое. Функция DOS 68h принудительно сбрасывает все внутренние буферы обмена DOS, связанные с устройством (файлом), на физическое устройство. Операция закрытия (функция DOS 3Eh) выполняет необходимые действия по завершению обмена и освобождает соответствующий блок DFCB. Для обеспечения сохранности данных и корректной работы DOS прикладная программа должна закрыть все открытые ею устройства (файлы) перед завершением работы.

В процессе загрузки DOS открывает пять стандартных устройств, заносит соответствующие им DFCB в начало SFT и присваивает устройствам предопределенные дескрипторы:

0 - стандартное устройство ввода (CON);

1 - стандартное устройство вывода (CON);

2 - стандартное устройство вывода информации об ошибке(CON);

3 - стандартное последовательное устройство (AUX, COM1);

4 - стандартный принтер (PRN, LPT1).

Таблица 1

Функции DOS (INT 21h) ввода/вывода на логическое устройство

Функция

Вход

Выход

Открытие

AH = 3Dh

DS:DX - адрес строки с именем устройства

AL = режим доступа:

бит 7 - флаг наследования (0/1 - дескриптор наследуется/не наследуется дочерним процессом);

биты 4-6 - режим разделения ( в сети )

(000-режим совместимости,

001-запрещен любой доступ,

010-запрещена запись ,

011-запрещено чтение ,

100-разрешен любой доступ)

бит 3 = 0 - резерв

биты 0-2 - вид доступа

(000 - чтение ,

001 - запись ,

010 - чтение и запись)

CF=0 - AX = дескриптор

устройства

CF=1 - AX = код ошибки

Закрытие

AH = 3Eh

BX = дескриптор устройства

CF=0 - успешное

выполнение

CF=1 - АХ = код ошибки

Чтение

AH = 3Fh

BX = дескриптор открытого

устройства

CX = количество читаемых

байт

DS:DX = указатель на буфер

обмена

CF=0 - AX = фактическое

количество прочитанных

байт

CF=1 - АХ = код ошибки

Запись

AH = 40h

BX = дескриптор открытого

устройства

CX = количество записываемых байт

DS:DX = указатель на буфер

обмена

CF=0 - AX = фактическое

количество записанных

байт

CF=1 - АХ = код ошибки

Перенаправить

дескриптор

AH = 46h

BX = дескриптор устройства

СХ = перенаправляемый

дескриптор

CF=0 - успешное

выполнение

CF=1 - АХ = код ошибки

Изменить

число дескрипторов

для текущего процесса

AH = 67h

BX = число дескрипторов

(от 20 до 255)

CF=0 - успешное

выполнение

CF=1 - АХ = код ошибки

Сбросить

буферы на

устройство

AH = 68h

BX = дескриптор устройства

CF=0 - успешное

выполнение

CF=1 - АХ = код ошибки


Таблица 2

Коды ошибок DOS

К о д

О п и с а н и е

01h

Указан неправильный код функции

02h

Устройство (файл) не найдены

03h

Путь не найден

04h

Слишком много открытых файлов

05h

Доступ запрещен

06h

Неправильный идентификатор (дескриптор)

07h

Разрушен блок управления памятью

08h

Недостаточно памяти

09h

Неправильный адрес блока памяти

0Ah

Неправильная среда

0Bh

Неправильный формат

0Ch

Неправильный доступ

0Dh

Неправильные данные

0Eh

Зарезервировано

0Fh

Ошибка при указании диска

10h

Невозможно удалить текущий каталог

11h

Другое устройство

12h

Больше нет файлов

Рассмотренные функции DOS являются универсальными и обеспечивают выполнение минимально необходимых операций ввода/вывода. Однако DOS имеет дополнительный набор функций по управлению конкретными типами устройств ввода/вывода.
  1   2   3   4   5   6   7

Похожие:

Методические указания к лабораторной работе №1 по курсу \"Операционные системы\" Волгоград 2005 удк 681. 31 iconМетодические указания к лабораторной работе №2 по курсу "Операционные системы" Волгоград 2005 удк 681. 31
Подсистема управления процессами ms-dos: Методические указания к лабораторной работе №2 по курсу "Операционные системы" /Cост. Деревенсков...
Методические указания к лабораторной работе №1 по курсу \"Операционные системы\" Волгоград 2005 удк 681. 31 iconМетодические указания к лабораторной работе №3 по курсу "Операционные системы" Волгоград 2005
Архитектура приложения Win32: Методические указания к лабораторной работе №3 по курсу "Операционные системы" /Cост. Деревенсков С....
Методические указания к лабораторной работе №1 по курсу \"Операционные системы\" Волгоград 2005 удк 681. 31 iconМетодические указания к лабораторной работе по курсу
Параметрическая оптимизация радиоэлектронных схем: методические указания к лабораторной работе по курсу Компьютерный анализ электронных...
Методические указания к лабораторной работе №1 по курсу \"Операционные системы\" Волгоград 2005 удк 681. 31 iconМетодические указания к лабораторной работе по курсу
Расчет радиоэлектронных схем методом узловых потенциалов: Методические указания к лабораторной работе по курсу "Основы компьютерного...
Методические указания к лабораторной работе №1 по курсу \"Операционные системы\" Волгоград 2005 удк 681. 31 iconМетодические указания к лабораторной работе по курсу «Информатика»
Методические указания к лабораторной работе по информатике знакомят с назначением и функцией программы оболочки
Методические указания к лабораторной работе №1 по курсу \"Операционные системы\" Волгоград 2005 удк 681. 31 iconМетодические указания к лабораторной работе Рязань 2003 удк 57(021)
Изучение процесса радиоактивного распада: Методические указания к лабораторной работе /Рязан гос радиотехн акад.; Сост.: А. П. Ефремов,...
Методические указания к лабораторной работе №1 по курсу \"Операционные системы\" Волгоград 2005 удк 681. 31 iconМетодические указания к лабораторной работе Рязань 2004 удк 621. 396. 21
Спектральный анализ сигналов: Методические указания к лабораторной работе / В. В. Езерский, А. В. Егоров; Рязан гос радиотехн акад....
Методические указания к лабораторной работе №1 по курсу \"Операционные системы\" Волгоград 2005 удк 681. 31 iconМетодические указания к лабораторной работе Рязань 2006 удк 621. 384. 83
Изучение принципов работы циклоидального масс-спектрометра: Методические указания к лабораторной работе /Рязан гос радиотехн ун т.;...
Методические указания к лабораторной работе №1 по курсу \"Операционные системы\" Волгоград 2005 удк 681. 31 iconИзмерение гидростатического давления с помощью жидкостных и механических приборов Методические указания к лабораторной работе №1 Самара 2007 удк 532. 11.(0765)
Методические указания предназначены для студентов спец. 130501, 130503, 130504, 130602, 130603, 140101, 151001, 151002, 151003, 150204,...
Методические указания к лабораторной работе №1 по курсу \"Операционные системы\" Волгоград 2005 удк 681. 31 iconМетодические указания к лабораторной работе по дисциплине
Операции с таблицами баз данных в среде Delphi: методические указания к лабораторной работе по дисциплине "Информационное обеспечение...
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org