Преподаватель
Спонсор: Microsoft
Опубликован: 13.11.2010 | Уровень: для всех | Доступ: свободно
Лекция 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. Индексный файл и основной файл.

Гульжан Мурсакимова
Гульжан Мурсакимова
На каком этапе графического конвейера происходит отсечение невидимых объектов?
Василий Четвертаков
Василий Четвертаков
Почему следует исключить race condition?
Айрат Хисматуллин
Айрат Хисматуллин
Россия
Дмитрий Карпов
Дмитрий Карпов
Россия, Нижний Новгород