Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Понятие файла

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

Введение

Файл – совокупность логически объединенных данных во внешней памяти.

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

· Понятие файла

· Методы доступа

· Структура директорий

· Монтирование файловых систем

· Общий доступ к файлам

· Защита файлов

· Принципы реализации файловых систем

· Блок управления файлом.

Файл (file) – это смежная область логического адресного пространства. Как правило, файлы хранятся во внешней памяти.

Немного о терминологии.

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

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

В английском языке слово file имеет много других значений: например, подшитый в папку бумажный документ и даже стадо (например, слонов) – в последнем случае, как можно предположить, размер "файла" может быть очень велик. У всех в памяти название легендарного сериала " X files" (в вольном русском переводе – "Секретные материалы").

Фирма IBM в документации по своей системе IBM 360 в 1960-х гг. использовала иной термин – набор данных (data set) – для обозначения этого же понятия, однако он не пережил операционную систему, в которой использовался.

Каждый файл имеет свой тип, определяющий, какая информация хранится в файле.

Основные типы файлов – программа (код) или данные.

Данные подразделяются на числовые, символьные (текстовые) и двоичные ( произвольная информация).

Структура файла

В различных системах приняты различные точки зрения на структуру файлов.

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

В некоторых других системах структура файла была искусственно усложнена.

Однако наиболее простую и унифицированную точку зрения из них предложили авторы системы UNIX: файл – это последовательность слов или байтов.

Казалось бы, это очевидно, но преимущество данного подхода к файлам в том, что базовое представление файла и базовые операции над ним (read, write) не зависят от типа устройства.

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

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

Файлы простой структуры состоят из последовательности записей (records) – элементарных единиц, в терминах которых выполняются операции обмена с файлом. Записи могут быть:

· строками, если это текстовый файл;

· двоичными данными фиксированной длины;

· двоичными данными переменной длины.

Файлы сложной структуры могут быть самого разного вида, например:

· отформатированным документом Microsoft Office (такой файл, кроме собственно текста, содержит управляющие символы переключения шрифтов, цветов и т.д.);

· загрузочным модулем реального или виртуального двоичного кода, например, portable executable (PE) -файлом для платформы.NET; class-файлом для платформы Java; подобные файлы состоят из нескольких секций, содержат внутренние ссылки и таблицы и т.д.

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

Файлы интерпретируются операционной системой или программами их обработки.

Атрибуты файла

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

В заголовке файла хранятся его атрибуты – общие свойства, описывающие содержимое файла,

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

Различаются следующие основные атрибуты файла:

Имя (Name) – название файла в символьной форме, воспринимаемое пользователем.

Тип (Type) – тип хранимой в файле информации. Отдельный атрибут тип необходим для систем, которые поддерживают различные типы файлов. Например, в системе "Эльбрус" значением атрибута тип файла является число, кодирующее тип: 0 – данные, 2 – код, 3 – текст и т.д. Однако более общепринятым подходом является подход, принятый в системах MS DOS, Windows, UNIX: тип файла кодируется расширением имени, например, book.txt – текстовый файл (.txt), содержащий текст книги.

Размещение (Location) – указатель на размещение файла на устройстве.

Размер (Size) – текущий размер файла.

Защита (Protection) – управляющая информация, задающая полномочия чтения, изменения и исполнения файла.

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

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

Информация о файлах хранится в структуре директорий ( или справочников - directories), иногда, например, в системе Windows, называемых также папками (folders) – структурами во внешней памяти, содержащими символьные имена файлов и ссылки на них. Важнейшая концепция директории подробно рассматривается далее в данной лекции.

Операции над файлами

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

· Создание файла (Create). Создается заголовок файла; первоначально его содержимое (память) пусто.

· Запись в файл (Write). Как правило, происходит записями (records) или блоками – более крупными логическими единицами информации, объединяющими несколько записей, с целью оптимизации операций ввода-вывода.

· Чтение из файла (Read). Обычно также выполняется записями или блоками.

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

· Удаление файла (Delete). В зависимости от реализации системы файлов, ошибочное удаление файла может быть фатальным (UNIX) или исправимым (MS DOS).

· Сокращение файла (Truncate).

· Открытие файла (Open) – поиск файла в структуре директорий по его символьному имени (пути) и считывание его заголовка и одного или нескольких смежных блоков в буфера в основной памяти.

· Закрытие файла (Close) – запись содержимого буферов в блоки файла; обновление файла во внешней памяти в соответствии с его текущим состоянием; освобождение всех структур в основной памяти, связанных с файлом.

Для выполнения операций обмена с файлом (read, write), как правило, файл необходимо открыть. Закрытие файла является обязанностью пользовательского процесса; однако, если он по какой-либо причине этого не выполняет, то закрывает все файлы, открытые процессом, операционная система после завершения или прекращения процесса.

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

В таблица 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 и др.

 

<== предыдущая лекция | следующая лекция ==>
Общие принципы управления экономическими системами | 
Поделиться с друзьями:


Дата добавления: 2014-01-15; Просмотров: 1664; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.02 сек.