24530

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

Доклад

Информатика, кибернетика и программирование

Логическая организация файла. Пользователи дают файлам символьные имена при этом учитываются ограничения ОС на используемые символы и на длину имени. Например в файловой системе NTFS имя файла может содержать до 255 символов не считая завершающего нулевого символа. Чтобы приложения могли обращаться к файлам в соответствии с принятыми ранее соглашениями файловая система должна уметь предоставлять эквивалентные короткие имена псевдонимы файлам имеющим длинные имена.

Русский

2013-08-09

108.27 KB

3 чел.

Вопрос 35. Что такое файловая система? Имена и типы файлов. Древовидная и сетевая иерархия каталогов.           Логическая организация файла.

§7.1 Логическая организация файловой системы.

Имена файлов.

Пользователи дают файлам символьные имена, при этом учитываются ограничения ОС на используемые символы и на длину имени. В старых ОС эти границы были весьма узкими, например, в популярной файловой системе FAT длина имени ограничивается схемой 8.3 (8 символов – собственно имя, 3 символа – расширение имени).

Пользователю гораздо удобнее работать с длинными именами, поскольку они позволяют дать файлу мнемоническое название, по которому легко вспомнить, что содержит этот файл. Длинные символьные имена файлов поддерживаются современными файловыми системами, например, VFAT (усовершенствованный вариант FAT) и NTFS (ОС Windows). Например, в файловой системе NTFS имя файла может содержать до 255 символов, не считая завершающего нулевого символа.

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

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

§7.1.2.Типы файлов.

Файлы бывают разных типов: обычные файлы, специальные файлы, файлы-каталоги.

Обычные файлы в свою очередь подразделяются на текстовые и двоичные. Текстовые файлы состоят из строк символов, представленных в ASCII-коде. Это могут быть документы, исходные тексты программ и т.п. Текстовые файлы можно прочитать на экране и распечатать на принтере. Двоичные файлы не используют ASCII-коды, они часто имеют сложную внутреннюю структуру, например, объектный код программы или архивный файл. Все операционные системы должны уметь распознавать хотя бы один тип файлов – их собственные исполняемые файлы.

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

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

В разных файловых системах могут использоваться различные признаки, например: информация о разрешенном доступе, признак "только для чтения", признак "скрытый файл", признак "системный файл", признак "архивный файл", признак "временный" (удалить после завершения процесса) и др.

Каталоги могут непосредственно содержать значения характеристик файлов, как это сделано в файловой системе MS-DOS, или ссылаться на таблицы, содержащие эти характеристики, как это реализовано в ОС UNIX (рис. 7.1). Каталоги могут образовывать иерархическую структуру за счет того, что каталог более низкого уровня может входить в каталог более высокого уровня (рис. 7.2).

Иерархия каталогов может быть деревом или сетью. Каталоги образуют дерево, если файлу разрешено входить только в один каталог, и сеть – если файл может входить сразу в несколько каталогов. В MS-DOS каталоги образуют древовидную структуру, а в UNIX – сетевую. Как и любой другой файл, каталог имеет символьное имя и однозначно идентифицируется составным именем, содержащим цепочку символьных имен всех каталогов, через которые проходит путь от корня до данного каталога.

Рис. 7.1. Структура каталогов: а – структура записи каталога

MS-DOS (32 байта); б – структура записи каталога ОС UNIX

              Рис. 7.2. Иерархические структуры файловой системы:

а – одноуровневая; б – иерархическая (дерево); в – иерархическая (сеть)

§7.1.3.Логическая организация файла.

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

На рис. 7.3 показаны несколько схем логической организации файла. Записи могут быть фиксированной длины или переменной длины. Записи могут быть расположены в файле последовательно (последовательная организация) или в более сложном порядке, с использованием так называемых индексных таблиц, позволяющих обеспечить быстрый доступ к отдельной логической записи (индексно-последовательная организация). Для идентификации записи может быть использовано специальное поле записи, называемое ключом. В файловых системах ОС UNIX и MS-DOS файл имеет простейшую логическую структуру – последовательность однобайтовых записей.

Рис. 7.3. Способы логической организации файлов

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

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

Такая неструктурированная модель файла стала популярной вместе с ОС UNIX, а теперь она широко используется в большинстве современных ОС, в том числе MS-DOS, Windows NT/2000, NetWare. Неструктурированная модель файла позволяет легко организовать разделение файла между несколькими приложениями, причем разные приложения могут по-своему структурировать и интерпретировать данные, содержащиеся в файле.

Другая модель файла – структурированный файл в настоящее время используется редко (применялась в старых ОС OS/360, DEC RSX и VMS). В этом случае поддержание структуры файла поручается файловой системе. Файловая система видит файл как упорядоченную последовательность логических записей. Приложение может обращаться к файловой структуре с запросами на ввод-вывод на уровне записей, например «считать запись 25 из файла FILE.DOC». Файловая структура предоставляет приложению доступ к записи, а вся дальнейшая обработка данных, содержащихся в этой записи, выполняется приложением. Развитием этого подхода стали системы управления базами данных (СУБД).


 

А также другие работы, которые могут Вас заинтересовать

18438. История языка PHP. Установка ПО для работы с PHP 780 KB
  Серверные технологии разработки webсайтов История языка PHP. Установка ПО для работы с PHP. История PHP Язык PHP был разработан как инструмент для решения чисто практических задач. Его создатель Расмус Лердорф хотел знать сколько человек читают его onlineрезюме и написал ...
18439. Конструкции и типы данных PHP 223.5 KB
  Серверные технологии разработки webсайтов Конструкции и типы данных PHP Основной синтаксис Первое что нужно знать относительно синтаксиса PHP – это то как он встраивается в HTMLкод как интерпретатор узнает что это код на языке PHP. В предыдущей лекции мы уже говорили об
18440. Операторы условий и циклов 192 KB
  Серверные технологии разработки webсайтов Операторы условий и циклов Условные операторы Оператор if Это один из самых важных операторов многих языков включая PHP. Он позволяет выполнять фрагменты кода в зависимости от условия. Структуру оператора if можно представит
18441. Функции в PHP 206 KB
  Серверные технологии разработки webсайтов Функции в PHP Функции определяемые пользователем Для чего нужны функции Чтобы ответить на этот вопрос нужно понять что вообще представляют собой функции. В программировании как и в математике функция есть отображение множ...
18442. Работа с массивами в PHP 192.5 KB
  Серверные технологии разработки webсайтов Работа с массивами в PHP Массивы В одной из первых лекций мы рассказывали о том как можно создать массив данных. Напомним что массив можно создать двумя способами: С помощью конструкции array array_name = arraykey1=>value1
18443. Работа со строками в PHP 207 KB
  Серверные технологии разработки webсайтов Работа со строками в PHP Строки Вероятно читатели примерно представляют что такое тип данных строка и как создать переменную такого типа. В одной из первых лекций мы приводили три способа задания строк: с помощью одинарных
18444. Регулярные выражения в PHP 190.5 KB
  Серверные технологии разработки webсайтов Регулярные выражения в PHP Понятие регулярного выражения Регулярное выражение regular expression – это технология которая позволяет задать шаблон и осуществить поиск данных соответствующих этому шаблону в заданном тексте предст
18445. Основы клиент-серверных технологий 185 KB
  Серверные технологии разработки webсайтов Основы клиентсерверных технологий Основы клиентсерверных технологий В самом начале курса мы уже говорили о том что PHP – это скриптовый язык обрабатываемый сервером. Сейчас мы хотим уточнить что же такое сервер какие функ
18446. Работа с файловой системой средствами PHP 188 KB
  Серверные технологии разработки webсайтов Работа с файловой системой средствами PHP Создание файла Функция fopen Вообще говоря в PHP не существует функции предназначенной именно для создания файлов. Большинство функций работают с уже существующими файлами в файловой