Главная |
Переферийные устройства 2001 г. - Подсистемы ввода-вывода |
|
| Главная Страница 1 Страница 2 Страница 3 Страница 4 Страница 5 Страница 6 Посетите: Скачать учебник |
||
|---|---|---|
Подсистемы ввода/выводаФайловые устройстваЦель любой программы – обработка данных, т.е. надо грамотно построить структуры данных и написать алгоритмы их обработки. Структуры данных, которыми оперирует язык: - Array[] A - String B - Struct C Можем прочитать откуда-то эти структуры: read( #канала, A, B, C ) Отсюда исходят следующие действия: read( #канала, Address, Len ) О длинах структур данных и куда их помещать знает только компилятор, следовательно, он и вычисляет Address и Len. Файл может быть последовательного или произвольного доступа. В файле последовательного доступа есть так называемая текущая позиция. Чтобы выполнить операции доступа к файлу, нужна начальная инициализация: #канала = open( имя_файла, тип_доступа ) При открытии файла происходит следующее: - контролируются права доступа для данного пользователя с данным типом доступа - формируется структура FCB (File Control Block) - файловый процессор заполняет ее поля. RMS (Record Management System) По-русски – Система Управления Записями (СУЗ). Она имеет FCB и буфера ввода/вывода, через которые и происходит реальный обмен данными. RMS рассматривает любой файл как набор кластеров. Каждый кластер на уровне файла называется VBN (Virtual Block Number).
При закрытии файла ( close ) все буфера сбрасываются на диск. По команде Flush |
||