Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

БАЗОВЫЙ ВВОД-ВЫВОД

Базовый уровень в обеих системах обеспечивает обмен с файлом, интерпретируемым как одномерный массив батов с прямым последовательным доступом.

Для каждого файла система ведет указатель чтения /записи. При чтении (записи) n байтов указатель продвигается вперед по файлу на n байтов и устанавливается в позицию очередного читаемого (записываемого) символа.

В начале работы с файлом его создают или открывают. Файлы открытые данной программой, имеют внутреннюю (в пределах данного процесса) нумерацию, начиная с 0. Системный вызов, открывающий файл, возвращает номер открытого файла, который используется при чтении и записи. После того как файл открыт, к нему могут применятся функции чтения или записи. При чтении из файла последовательно читаются очередные байты и возвращается число прочитанных байтов. Оно может оказаться меньше требуемого числа, если до конца файла осталось меньше байтов, чем требуется, или если устройство не передает такого числа байтов.

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

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

Процесс может управлять открытым файлом, получая и задавая значения его аттрибутов, а также блокируя участки файла от доступа к ним других процессов (в MS-DOS возможна только блокировка файла целиком).

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

Особенность каталога состоит в том, что запись в него может делать только система - программа может только читать элементы каталога. MS-DOS, в отличае от UNIX, позволяет искать в каталогах файлы по маске