Файловая система, реализованная в ОР состоит из двух уровней: логических файлов и физических файлов.
Файл – это поименованная область памяти на диске или другом внешнем носителе информации, содержащая произвольные данные. Файл в таком понимании называют физическим.
Операция ввода данных означает заполнение ячеек памяти данными, полученными из файла, а операция вывода – пересылку данных из оперативной памяти в файл. Эти операции осуществляются через область памяти под названием буфер.
Буфером называется область памяти, предназначенная для временного храннения данных во время их передачи от источника информации к приемнику информации.
При записи в файл вся информация сначала направляется в буфер и там накапливается до тех пор, пока весь объем буфера не будет заполнен. Только после этого или после специальной команды сбрасывания буфера происходит передача данных по назначению: на диск, в порт. При чтении из файла считывается столько информации, сколько поместится в буфер.
Определяется физический файл строкой с его названием (именем). Имя файла на диске может иметь адресную часть, оформленную соответственно правилам операционной системы.
Структура физического файла представляет собой простую последовательность байт памяти носителя информации.
Файл – это одна из многих структур данных, которая используется в программировании. Файл в таком понимании называют логическим файлом.
Структура логического файла – это способ восприятия файла в памяти, т.е. это «шаблон», сквозь который мы смотрим на физическую структуру файла.
Файл как логический объект является последовательностью значений определенного типа.
Файл – это структурированный тип данных.
Файлы в ОР классифицируются по двум признакам:
- по логической структуре (типу);
- по методу доступа к элементам файла.
По типуфайлы деляться:
- текстовые;
- бинарные фалы (типизированные и не типизированные).
Текстовый файл это совокупность символьных строк переменной длины.
Типизированный файл – упорядоченная последовательность элементов одного типа.
Нетипизированный файлрассматривается как совокупность компонентов одинакового размера, независимо от их структуры и природы.
Синтаксис объявления файловой переменной зависит от типа файла.
var имя_переменной : file of базовый_тип;
// типизированные файлы
имя_переменной : Text;
// текстовые файлы – TextFile
имя_переменной : File;
// нетипизированные файлы
где базовый_тип – тип компонентов файла.
Файловый тип данных описывают в разделе описания типов так:
type имя_типа = file of базовый_тип; //типизированные файлы
Пример:
type myfile = file of integer;
// типизированный файл – файл целых чисел
list = file of string[20];
// типизированный файл – файл строк
var f1 : Text; // текстовый файл
f2 : myfile;
f3:list;
f4:file; //не типизированный файл
f5 : file of char; //файл символов
Здесь f1 – f5 файловые переменные.
По методу доступафайлы классифицируются:
- последовательного доступа;
- прямого доступа.
Термин доступ означает как чтение из файла, так и запись в файл.
В файлах прямого доступа любой элемент в файле можно найти по его порядковому номеру.
В файлах прямого доступа в любой момент времени программа может обратиться к любому элементу.