ФАЙЛОВАЯ СИСТЕМА

 

 

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

 

Основные функции файловой системы:

 

-- долговременное и надежное хранение информации;

-- совместное использование информации;

 

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

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

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

 

БНЗ FAT FAT корневой каталог каталоги и файлы

системная область область данных

 

Логическая структура диска

(основа файловой структуры диска)

 

БНЗ –блок начальной загрузки(первый сектор)

FAT –таблица распределения файлового пространства

 

Для каждого файла поддерживается цепочка элементов FAT. Каждый элемент указывает адрес области фиксированной длины, занимаемой файлом на диске. В каталоге, содержащем файл, есть указатель к началу цепочки.

 

Итак, физическая структура диска ( поверхности, дорожки, сектора) подменяются с помощью ОС на логическую структуру в виде дерева каталогов. Дерево каталогов выводится на экран такими утилитами как Windows Commander, Windows Explorer и др. Базовый элемент этой логической структуры – файл.

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

 

Имя расши- атрибут зарезерв дата время №первого размер

файл рение системой кластера файла

 

формат элемента каталога (дескриптор файла)

 

атрибуты файла определяют тип файла в зависимости от установки единицы в том или другом бите:

бит 0-read only file

бит 1 – hidden file

бит 2 -system file

бит 3- (метка тома)

бит 4- подкаталог

бит 5 – архивный и т. д.

Важны имя файла и номер первого кластера

Единица измерения пространства на диске – кластер

№ первого кластера, выделенного файлу, заносится в элемент каталога. Остальные №№ кластеров образуют односвязный список. Совокупность связных списков кластеров всех файлов диска образует FAT.

Файловая система – это часть ОС, которая включает в себя:

 

-- совокупность всех файлов на диске( обычные, каталоги, специальные файлы)

-- наборы структур данных для управления файлами(каталоги, дескрипторы файлов, FAT)

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

 

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

 

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

 

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

 

Наша файловая система является иерархической. Граф, описывающий иерархию каталогов, может быть деревом или сетью.

Если файлу разрешается входить только в один каталог, то это –дерево. Один каталог на диске всегда – корневой. Он защищен, и его нельзя уничтожить.

 

Файловая система обеспечивает:

 

- создание и удаление файлов

- переименование и пересылку

- чтение, запись, обновление

- поиск

- перенаправление стандартного ввода-вывода

 

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

 

Интерфейс прикладного программирования (API- Application Programming Interface).Это набор необходимых функций, при помощи которых любое приложение может взаимодействовать с ОС.

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

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

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