Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


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



Операционные системы

 

Работа ОП с файлами

 

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

· тип файла;

· владелец файла;

· создатель файла;

· пароль для доступа к файлу;

· информация о разрешенных операциях доступа к файлу;

· времена создания, последнего доступа и последнего изменения;

· текущий размер файла;

· признак «только для чтения»;

· признак «скрытый файл»;

· признак «системный файл»;

· признак «архивный файл»;

· признак «временный»;

· признак «блокировки».

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

 

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

 

Принцип размещения файлов, каталогов и системной информации на реальном устройстве описываются физической организацией ФС.

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

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

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

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

· скорость доступа к данным;

· объем адресной информации файла;

· степень фрагментированности дискового пространства;

· максимально возможный размер файла.

Рассмотрим пример организации файловой системы на примере MS-DOS

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

Логические диски DOS организованны единообразно, существует 4 специальные области:

· загрузочная запись (boot sector);

· таблица размещения файлов (file allocation table);

· корневой каталог (root), содержащий характеристики находящихся на диске файлов и каталогов;

· область пользовательских данных, в которых фактически хранятся файлы.

 

Загрузочная запись

 

Самую первую область логического диска занимает ЗЗ, под которую обычно отводиться один сектор, но может быть и больше. Части ЗЗ:

· команда jmp;

· код идентификации поставщика;

· блок параметров BIOS (BPB);

· процедура загрузки (SB).

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

 

Таблица размещения файлов

 

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

Длина элементов FAT составляет 12, 16 или 32 бита и зависит от двух факторов: емкости диска и размера кластера. FAT 32 может использоваться с дисками значительно большей емкости и в ней обеспечивается меньшее отношение размера кластера к размеру раздела.

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

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

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

Запись каталога, соответствующая файлу myfile.txt.

Рис. 12.1.

 

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

Поле элемента каталога:

имя файла (8 байтов). При удалении первый байт имени файла заменяется на e5h (? ), и DOS знает, что элемент можно использовать повторно. Когда элемент каталога еще совсем не использовался, первый байт имени файла содержит 00h. При просмотре каталога DOS останавливается когда встречает 00h в первом байте любого имени файла, но продолжает при встречи e5h.

Расширение имени файла (3 байта).

Атрибуты файла (1 байт), сообщают о виде файла: скрытый, системный, только чтение и т.д.

Далее 10 байт зарезервировано.

Время создания или последней модификации (2 байта). В каталогах отражается только время создания в файлах – также время модификации.

Дата создания или последней модификации (2 байта).

Размер файла (2 байта) – размер в байтах.

Номер начального кластера (4 байта)

ОС семейства Windows

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

Рассмотрим некоторые особенности подробнее.

 

Разрядность

 

Windows 32-разрядная ОС. Модули системных служб ядра 32 разрядные, а высокоуровневые службы все таки используют 16-разрядную кодировку. Доступ файлов под Windows так же осуществляется в 32-разрядных кодах через Virtual FAT.

 

Файл обмена

 

Как и в предыдущих версиях ОС используется файл обмена (swap file).

 

Мультизадачность

 

Это способность одновременного выполнения нескольких процессов. Windows использует два метода выполнения параллельных процессов. 16 разрядов – коллективная мультизадачность, 32 разряда – вытесняющая многозадачность.

 

Подсистема ОС

 

Функции ОС обычно группируются в подсистемы. Наиболее важными подсистемами управления ресурсами является:

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

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

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

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

· Пользовательский интерфейс. Современные Ос поддерживают функции пользовательского интерфейса за терминалами двух типов: алфавитно-цифровым и графическим.

 

Структура ОС

 

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

· Средства аппаратной поддержки ОС: поддержка привилегированного режима, система прерываний, средства поддержки защиты областей памяти.

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

· Базовые механизмы ядра – этот слой выполняет наиболее простые операции ядра, например, перемещение страниц оперативной памяти на жесткий диск и обратно.

· Менеджеры ресурсов. Этот слой состоит из модулей, решающие стратегические задачи по управлению ресурсами. Обычно это менеджеры (диспетчеры) процессов, файловой системы и оперативной памяти.

· Интерфейс системных вызовов. Этот слой взаимодействует с приложениями, образуя прикладной интерфейс ОС.

 

Мобильность ОС

Понятие микроядра

 

Если код ОС может быть сравнительно легко перенесен с процессора одного типа на другой, то такую ОС называют переносимой или мобильной. Для необходимости мобильности необходимо:

· Большая часть языка должна быть написана на языке, трансляторы которого имеются на всех машинах. В настоящее время большинство ОС написано на языке С.

· Объем машинно-зависимых частей кода должен быть минимизирован.

· Аппаратно-зависимый код должен быть надежно изолирован в нескольких модулях, а не распределен по все системе.

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

Микроядерная архитектура, по сравнению с классической, имеет преимущества: высокая степень мобильности, расширяемость, надежность, хорошо подходит для определенных вычислений. Но это сказывается на производительности. Она падает.

 

Многозадачность

 

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

· пропускная способность – количество задач, выполняемых системой в единицу времени;

· удобство работы пользователя;

· реактивность системы – способность системы выдерживать заранее заданные интервалы времени между запуском программы и получением результата.

 

Операционные системы

 

Работа ОП с файлами

 

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

· тип файла;

· владелец файла;

· создатель файла;

· пароль для доступа к файлу;

· информация о разрешенных операциях доступа к файлу;

· времена создания, последнего доступа и последнего изменения;

· текущий размер файла;

· признак «только для чтения»;

· признак «скрытый файл»;

· признак «системный файл»;

· признак «архивный файл»;

· признак «временный»;

· признак «блокировки».

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

 

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

 

Принцип размещения файлов, каталогов и системной информации на реальном устройстве описываются физической организацией ФС.

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

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

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

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

· скорость доступа к данным;

· объем адресной информации файла;

· степень фрагментированности дискового пространства;

· максимально возможный размер файла.

Рассмотрим пример организации файловой системы на примере MS-DOS

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

Логические диски DOS организованны единообразно, существует 4 специальные области:

· загрузочная запись (boot sector);

· таблица размещения файлов (file allocation table);

· корневой каталог (root), содержащий характеристики находящихся на диске файлов и каталогов;

· область пользовательских данных, в которых фактически хранятся файлы.

 

Загрузочная запись

 

Самую первую область логического диска занимает ЗЗ, под которую обычно отводиться один сектор, но может быть и больше. Части ЗЗ:

· команда jmp;

· код идентификации поставщика;

· блок параметров BIOS (BPB);

· процедура загрузки (SB).

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

 

Таблица размещения файлов

 

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

Длина элементов FAT составляет 12, 16 или 32 бита и зависит от двух факторов: емкости диска и размера кластера. FAT 32 может использоваться с дисками значительно большей емкости и в ней обеспечивается меньшее отношение размера кластера к размеру раздела.

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

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

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

Запись каталога, соответствующая файлу myfile.txt.

Рис. 12.1.

 

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

Поле элемента каталога:

имя файла (8 байтов). При удалении первый байт имени файла заменяется на e5h (? ), и DOS знает, что элемент можно использовать повторно. Когда элемент каталога еще совсем не использовался, первый байт имени файла содержит 00h. При просмотре каталога DOS останавливается когда встречает 00h в первом байте любого имени файла, но продолжает при встречи e5h.

Расширение имени файла (3 байта).

Атрибуты файла (1 байт), сообщают о виде файла: скрытый, системный, только чтение и т.д.

Далее 10 байт зарезервировано.

Время создания или последней модификации (2 байта). В каталогах отражается только время создания в файлах – также время модификации.

Дата создания или последней модификации (2 байта).

Размер файла (2 байта) – размер в байтах.

Номер начального кластера (4 байта)

ОС семейства Windows

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

Рассмотрим некоторые особенности подробнее.

 

Разрядность

 

Windows 32-разрядная ОС. Модули системных служб ядра 32 разрядные, а высокоуровневые службы все таки используют 16-разрядную кодировку. Доступ файлов под Windows так же осуществляется в 32-разрядных кодах через Virtual FAT.

 

Файл обмена

 

Как и в предыдущих версиях ОС используется файл обмена (swap file).

 

Мультизадачность

 

Это способность одновременного выполнения нескольких процессов. Windows использует два метода выполнения параллельных процессов. 16 разрядов – коллективная мультизадачность, 32 разряда – вытесняющая многозадачность.

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-03; Просмотров: 3580; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.067 с.)
Главная | Случайная страница | Обратная связь