Спонсор: Microsoft
Санкт-Петербургский государственный университет
Опубликован: 13.11.2010 | Доступ: свободный | Студентов: 6726 / 1527 | Оценка: 4.64 / 4.23 | Длительность: 45:08:00
ISBN: 978-5-9963-0495-0
Лекция 19:

Системы файлов

Типы файлов – имена и расширения

В таблица 19.1 приведены некоторые наиболее употребительные типы файлов и соответствующие им расширения имен.

Таблица 19.1. Типы файлов – имена и расширения
тип файла расширение имени функциональность
исполняемый код (загрузочный модуль) exe, com, bin или отсутствует готовая к выполнению программа в бинарном машинном коде
обьектный модуль obj, о откомпилированная программа в бинарном коде, но не слинкованная
исходный код на языке программирования с, сс, Java, pas, asm, а исходный код на различных языках (Си, Паскаль и др.)
командный файл bat, sh файл с командами для командного интерпретатора
текст txt, doc текстовые данные, документы
документ для текстового процессора wp, tex, rtf, doc документ в формате какого-либо текстового процессора
библиотека lib, a, so, dll, mpeg, mov, rm библиотеки модулей для программирования
файл для печати или визуализации arc, zip, tar ASCII или бинарный файл в формате для печати или визуализации
архив arc, zip, tar несколько файлов, сгруппированных в один файл, для архивации или хранения
мультимедиа mpeg, mov, rm бинарный файл, содержащий аудио- или видео информацию

Смысл их ясен из приведенной таблицы. Следует заметить, что унифицированных расширений имен, принятых в различных ОС, очень мало – по-видимому, только .txt (текст) и расширения для исходных кодов на языках программирования, например, .c – Си, .p или . pas – Паскаль и др. Объектные модули называются по-разному (в Windows.obj, в UNIX - .o ), библиотеки – тоже: статически линкуемые в Windows - .lib, в UNIX - .a ; динамически линкуемые в Windows - .dll, в UNIX – .so.Интересно отметить, что для исполняемого кода в Windows есть стандартное расширение - .exe,а в UNIX – нет, зато есть весьма экзотическое полное стандартное имя: a.out (assembler output).Унифицированы расширения имен для различных текстовых процессоров: . doc - Microsoft Word, .pdf – Adobe Acrobat и др.

Методы доступа к файлам

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

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

По-видимому, последовательный доступ используется чаще: именно так происходит ввод данных, вывод результатов на печать или на экран.

Типичные операции последовательного доступа:

read next

write next

reset – установка на начало файла для чтения

rewrite – установка на начало файла для записи.

Типичные операции прямого доступа:

read n

write n

position to n позиционирование на запись с номером n

read next

write next

rewrite n, где n - относительный номер блока (записи).

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

Файл последовательного доступа.

увеличить изображение
Рис. 19.1. Файл последовательного доступа.

При необходимости можно смоделировать операции последовательного доступа для файла с прямым доступом. Способ моделирования показан в таблица 19.2.

Таблица 19.2. Моделирование последовательного доступа для файла с прямым доступом
последовательный доступ реализация для файла с прямым доступом
reset cp=0;
read next read cp; cp=cp+1;
write next write cp; cp=cp+1;

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

Для ускорения доступа к файлу большого объема может использоваться индексный файл, содержащий ссылки на записи основного ( относительного ) файла. рис. 19.2 изображен пример основного файла, содержащего упорядоченные по фамилиям анкетные данные людей. Индексный файл для данного основного файла содержит ссылки на первые логические записи анкет с заданной фамилией, например, Smith.

Индексный файл и основной файл.

увеличить изображение
Рис. 19.2. Индексный файл и основной файл.

Гульжан Мурсакимова
Гульжан Мурсакимова
Василий Четвертаков
Василий Четвертаков