Управление файловой системой в MS-DOS

Автор: Пользователь скрыл имя, 19 Октября 2011 в 16:00, контрольная работа

Описание работы

ЧТО ТАКОЕ MS-DOS?
основные понятия,стандартные названия устройств;
Файловая система;
Работа с файлами;
Литература

Работа содержит 1 файл

Что такое MS.doc

— 110.00 Кб (Скачать)

ЧТО ТАКОЕ MS-DOS?

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

    Три основные функции операционной системы:

    1. Обмен  данными между компьютером и  различными периферийными устройствами (терминалами, принтерами, гибкими  дисками, жесткими дисками и  т.д.). Такой обмен данными называется "ввод/вывод данных".

    2. Обеспечение  системы организации и хранения  файлов.

    3. Загрузка  программ в память и обеспечение  их выполнения.

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

     Основные  понятия

  • операционная  система (DOS) - совокупность программ, управляющих работой ПК;
 
  • файл - набор взаимосвязанных данных, имеющих общее имя, находящихся на дискете или винчестере и доступных для обработки на компьютере;
 
  • драйвер – программа, управляющая внешними устройствами;

Пример:

    kbr.sys - драйвер клавиатуры

  • каталог (директория) - группа файлов, объединенных по какому-либо признаку.

    Вся информация, хранящаяся в ПК, размещается в файлах. Для обращения к файлу используется имя файла.

    ИМЯ ФАЙЛА: имя, тип

  • имя - может содержать латинские буквы, цифры и знаки подчеркивания, не более 8 символов;
 
  • тип - может содержать  латинские буквы, цифры и знаки  подчеркивания, не более 3 символов. Тип  или расширение могут отсутствовать.

Пример:

docum1.txt lex.bat baza

     Для удобного обращения к файлам используются каталоги. В каталоге могут размещаться файлы и другие каталоги. Таким образом, каталоги образуют дерево.

Имена каталогов могут быть такими же, как и имена файлов, а также:

  • . - текущий каталог;
  • .. - родительский каталог;
  • \ - корневой каталог.

Имена каталогов завершаются  символом \ (обратная косая).

     Для обращения к файлу, расположенному не в текущем каталоге, используется полное (маршрутное) имя файла. Пример:

c:\bux\ve.prg

c:\lex\lex.exe

d:\users\fox\fhg.fox

Стандартные названия устройств

     Назначая  нестандартное устройство, нужно грамотно указать его название. Каждое устройство (например, принтер) имеет стандартное системное имя, относящееся именно к этому устройству. Имя резервируется даже для фиктивного устройства, которое используется при тестировании системы. 

    Стандартное имя Периферийное устройство
    AUX Первый асинхронный  коммуникационный порт
    СОМ1,СОМ2,СОМ3,СОМ4 Асинхронные коммуникационные порты
    CON Клавиатура и экран (CONsole)
    LPT1,LPT2,LPT3 Первый, второй и третий параллельные принтеры
    NUL Фиктивное устройство (для тестирования)
    PRN Первый параллельный принтер
 
 
 
 
 
 
 
 
 
 

ФАЙЛОВАЯ  СИСТЕМА 

     Файловая  система является одной из важнейших  систем MS-DOS. Она используется как  во время загрузки операционной системы, так и в процессе ее работы. Сама операционная система записана на системном диске в виде файлов (io.sys, msdos.sys, command.com, драйверы, внешние команды и т. д.). Все прикладные программы и вообще все программы, а также данные для них хранятся на дисках в виде файлов, поэтому можно сказать, что файловая система - ключевая система MS-DOS.

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

     Файловая  система работает с дисками через  драйверы. Драйверы, в свою очередь, пользуются сервисом BIOS.

     На  уровне BIOS выполняются элементарные операции с диском, такие как чтение/запись секторов, форматирование и т. п. Этот низкий уровень доступен и прикладной программе, но обычно она пользуется функциями прерывания MS-DOS, выполняющими все необходимые действия по обслуживанию каталогов и таблицы размещения файлов (File Allocation Table - FAT). Программы защиты от несанкционированного доступа или копирования вынуждены обращаться к средствам более низкого уровня, вызывая прерывания BIOS, или даже работать с контроллером диска через порты ввода/вывода.

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

РАБОТА  С ФАЙЛАМИ 

     Для создания файла предназначена функция  3Ch прерывания INT 21h. С помощью этой функции может быть создан файл, как в текущем, так и в любом другом каталоге. Если файл с указанным именем уже существует, он обрезается до нулевой длины.   Дополнительно функция 3Ch выполняет операцию открытия только что созданного файла, возвращая программе файловый индекс. При создании файла программа может указать требуемые атрибуты, которые будут использованы другими функциями для определения возможности предоставления доступа к файлу.

Приведем формат вызова функции создания файла:

На  входе: AH = 3Ch
  CX = Атрибуты создаваемого файла:  
00h - обычный файл; 
01h - только читаемый файл; 
02h - скрытый файл; 
04h - системный файл.
  DS:DX = Адрес строки, содержащей путь создаваемого файла
На  выходе: AX = Код ошибки, если был установлен в 1 флаг переноса CF;  
Файловый индекс, если флаг переноса сброшен в 0.

При выполнении этой функции возможны следующие ошибки:

  • отсутствует какой-либо элемент в пути для создаваемого файла, например, диск или каталог;
  • была сделана попытка создать файл в корневом каталоге, но корневой каталог переполнен;
  • в указанном каталоге уже есть файл с таким именем, и этот файл имеет атрибут "Только читаемый";
  • пользователь, который работает в сети, не имеет прав доступа для выполнения указанной операции.

   Операционная система игнорирует попытки создания с помощью этой функции каталогов или метки диска.

   Для того, чтобы  случайно не уничтожить содержимое файла  с таким же именем, как и создаваемый, программа может использовать функцию  5Bh. Эта функция проверяет заданный путь на предмет наличия указанного файла. Если такой файл уже существует, функция возвращает программе признак ошибки.

Формат вызова функции:

На  входе: AH = 5Bh
  CX = Атрибуты создаваемого файла:  
00h - обычный файл; 
01h - только читаемый файл; 
02h - скрытый файл; 
04h - системный файл.
  DS:DX = Адрес строки, содержащей путь создаваемого файла
На  выходе: AX = Код ошибки, если был установлен в 1 флаг переноса CF;  
Файловый индекс, если флаг переноса сброшен в 0.

Если требуется  временный файл, можно создать его с помощью функции 5Ah:

На  входе: AH = 5Ah
  CX = Атрибуты создаваемого файла:  
00h - обычный файл; 
01h - только читаемый файл; 
02h - скрытый файл; 
04h - системный файл.
  DS:DX = Адрес буфера, в который функция запишет путь созданного временного файла. Размер этого буфера должен быть по крайней мере 13 байтов.
На  выходе: AX = Код ошибки, если был установлен в 1 флаг переноса CF
Файловый индекс, если флаг переноса сброшен в 0.

     Операционная  система не будет автоматически  удалять созданный временный файл после завершения работы программы или перезагрузки. Программа должна сама удалить этот файл.

     Перед тем, как начать работу с файлом, его нужно открыть. Функции, создающие  новые файлы, открывают новые  файлы автоматически. Для того, чтобы открыть существующий файл, можно воспользоваться функцией 3Dh:

На  входе: AH = 3Dh
  AL = Требуемый режим доступа:  
 
Бит 7: флаг наследования  
 
0 - файловый индекс наследуется порожденным процессом  
1 - файловый индекс не наследуется порожденным процессом 
 
Биты 4...6: режим разделения  
 
000 - режим совместимости  
001 - запрещение всех видов доступа  
010 - запрещение записи  
011 - запрещение чтения  
100 - разрешение всех видов доступа  
 
Бит 3:0 - зарезервировано  
 
Биты 0...2: вид доступа  
 
000 - чтение  
001 - запись  
010 - чтение/запись
  DS:DX = Адрес строки, содержащей путь открываемого файла
На  выходе: AX = Код ошибки, если флаг переноса CF был установлен в 1;  
Файловый индекс, если флаг переноса сброшен в 0.

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

     Для использования битов 4...7 (управляющих доступом к файлу другими программами в сети) должна быть запущена программа SHARE.EXE.

     Если  используется бит наследования, то порожденному процессу наследуются запрошенный при открытии файла вид доступа.

     Операционная  система MS-DOS версии 4.0 имеет в своем  составе функцию 6Ch, обладающую расширенными возможностями по созданию и открытию файлов:

На  входе: AH = 6Ch
  AL = 00h
  BX = байт флагов расширенного режима открытия файла
  CX = атрибуты создаваемого файла, используется только при создании файлов
  DX = выполняемая функция, если файл существует или не существует:  
 
Биты 0-3 регистра DX задают действие, если файл существует: 
 
0000h - если файл существует, вернуть признак ошибки 
0001h - если файл существует, открыть его  
0002h - если файл существует, заместить и открыть его 
 
Биты 4-7 регистра DX задают действие, если файл не существует:  
 
0000h - если файл не существует, вернуть признак ошибки 
0001h - если файл не существует, создать и открыть его
  DS:SI = Адрес строки, содержащей путь открываемого файла
На  выходе: AX = Код ошибки, если флаг переноса CF был установлен в 1
Файловый индекс, если флаг переноса сброшен в 0.
  CX = Код выполненных действий: 
0 - файл был открыт  
1 - файл был создан и открыт  
2 - файл был замещен и открыт

Регистр BX на входе задает флаги расширенного режима открытия файла в следующем формате:

Биты Назначение
0...2 Режим доступа при  чтении/записи
3 Зарезервировано, должно быть равно 0
4...6 Режим разделения
7 Флаг наследования
8...12 Зарезервировано, должно быть равно 0
13 0 - Режим обычного использования обработчика критических ошибок INT 24h  
1 - Блокировка обработчика критических ошибок INT 24h. Для того, чтобы узнать причину ошибки, программа должна использовать функцию 59h прерывания INT 21h MS-DOS.
14 Управление буферизацией:  
0 - Использование стандартной для MS-DOS буферизации. 
1 - Отмена буферизации. Использование этого режима замедлит работу с диском, однако вероятность потери информации при аварии в питающей сети уменьшится.

Информация о работе Управление файловой системой в MS-DOS