Реферат: Организация файловых систем в OS/2

МИНИСТЕРСТВО ОБРАЗОВАНИЯ УКРАИНЫ

ОДЕССКАЯ ГОСУДАРСТВЕННАЯ

АКАДЕМИЯ ХОЛОДА

 

кУРСОВАЯ РАБОТА ПО ДИСЦИПЛИНЕ “тЕОРИЯОПЕРАЦИОННЫХ СИСТЕМ”

 

“ОРГАНИЗАЦИЯ ФАЙЛОВЫХ СИСТЕМ ОПЕРАЦИОННОЙ СИСТЕМЫos/2”

Выполнил студент 323Агруппы Адамян Аваг.

Принял преподаватель КалмыковаЕкатерина Анатольевна.

ОДЕССА

1997

<span Times New Roman";mso-bidi-font-family: «Times New Roman»;text-transform:uppercase;mso-ansi-language:RU;mso-fareast-language: RU;mso-bidi-language:AR-SA">

Содержание:

 

Резюме

3

FAT

3

HPFS структура тома

4

Файлы и Fnodes

5

Каталоги

5

Расширенные атрибуты

7

Значение имени

7

Инсталлируемые файловые системы

8

Проблемы эффективности

8

Отказоустойчивость

9

Прикладные программы и HPFS

10

Дополнение: Структура системы файлов FAT

11

Дополнение: Структура блока управления файлом

11

Дополнение: B Tree и B+Tree

12

Дополнение: Расширенный блок управления файлами

12

Резюме

13

Список использованной литературы

14

<span Times New Roman";mso-bidi-font-family:«Times New Roman»; mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language:AR-SA">

Резюме

 

         ВысокоэффективнаяФайловая Система (HPFS) для OS/2 решает все проблемы FAT. HPFS работает пометоду устройства блока произвольного доступа, и также содержит модульпрограммного обеспечения, который транслирует файловые запросы из прикладныхпрограмм к драйверам устройств. HPFS также является инсталлируемой файловойсистемой, которая делает возможным обращение к нескольким несовместимымструктурам тома системы OS/2 одновременно. Превосходная производительностьдостигается благодаря использованию продвинутых структур данных,интеллектуального кэширования, предварительного чтения и отложенной записи.Дисковое пространство используется более экономно благодаря использованиюразбиения на секторы. HPFS также включает значительно улучшенную отказоустойчивость.При необходимости программы используют расширенные атрибуты и длинные именафайлов.

         ВысокоэффективнаяФайловая Система (далее HPFS), которая впервые появилась в OS/2 systemVersion1. 2, была разработана Gordon Letwin, главным архитектором операционной системыOS/2.

 

ФайловаяСистема FAT

 

         Такназываемая файловая система FAT использовалась во всех версиях МСДОС и в первыхдвух выпусках OS/2 (версии 1.0 и 1.1), имеет двойное наследие. Каждыйлогический том имеет собственный FAT, который выполняет две важные функции:содержит информацию распределения для каждого файла в томе в форме спискасвязей модулей распределения (кластеров) и указывает, какие модулираспределения свободны.

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

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

         ОграниченияFAT на наименование файлов и каталогов унаследованы из CP/M. Когда Patersonсоздавал 86DOS, одной из его первых целей было облегчить импорт из CP/M в егоновую операционную систему. А следовательно принятые в CP/M ограничения наимена файлов и расширений перенеслись в 86DOS.

         Втечение нескольких лет Microsoft и IBM сделали попытку продлить жизнь файловойсистемы FAT благодаря снятию ограничений на размеры тома, улучшению cтратегийраспределения, кэширования имен пути, и перемещению таблиц и буферов врасширенную память. Но они могут расцениваться только как временные меры,потому что файловая система просто не подходила к большим устройствампроизвольного доступа.

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

HPFSСтруктура Тома

         HPFS-томаиспользуют размер сектора 512 байтов и имеют максимальный размер 2199Gb.  HPFS том имеет очень небольшое количествофиксированных структур. Секторы 015 тома (BootBlock, имя тома, 32 бита ID,дисковая программа начальной загрузки). Начальная загрузка относительно сложна(в стандартах МСДОС) и может использовать HPFS в ограниченном режиме

         Сектора16 и 17 известны как SuperBlock и SpareBlock соответственно. SuperBlockизменяется только при помощи утилит. Он содержит указатели свободногопространства, список плохих блоков, полосу блока каталога, и корневуюдиректорию. Он также содержит дату, соответствующую последней проверке ивосстановлению утилитой CHKDSK/F. SpareBlock содержит различные флажки иуказатели которые будут обсуждаться позже; Он изменяется, хотя нечасто, приработе системы.

         Остатокдиска разделен на 8MB полосы. Каждая полоса имеет собственный список свободногопространства, где биты представляют каждый сектор. Бит 0 если секториспользован 1 если сектор доступен. Списки размещаются в начале или хвостесписка.

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

Файлы иFnodes

         Каждыйкаталог или файл в HPFS-томе закрепляется за фундаментальным объектом файловойсистемы, называемым Fnode (произносится «eff node»). Каждый Fnodeзанимает одиночный сектор и содержит управляющую информацию, хронологиюдоступа, расширенные атрибуты и списки управления доступом, длину и первые 15символов имени, и структуру распределения. Fnode всегда находится рядом скаталогом или файлом, который он представляет.

         Структурараспределения в Fnode может принимать несколько форм, в зависимости от размеракаталога или файлов. HPFS просматривает файл как совокупность одного или болеесекторов. Из прикладной программы это не видно; файл появляется как непрерывныйпоток байтов.

Каталоги

         Каталоги,подобно файлам, регистрируются в Fnodes. Для корневой директории Fnodesнаходится в SuperBlock. Fnodes для некорневых каталогов определяются черезвходы подкаталога.

         Каталогимогут увеличиваться до любого размера и состоят из блоков каталога 2 КБ,которые распределяются как четыре последовательных сектора на диске. Файловаясистема делает попытку распределить блоки каталога в полосе каталога, котораяразмещается около “центра” диска. Если полоса каталога полна, блоки каталога распределяютсятам, где есть свободное место.

         Каждыйблок каталога 2 КБ состоит из большого количества входов каталога. Входкаталога содержит несколько полей, включая штампы времени и даты, Fnodeуказатель, длина имени каталога или файла, имя непосредственно, и указатель.Каждый вход начинается словом, которое содержит длину.

         Числоблоков каталога и входов различно при различной длине имени. Если средняя длинаимени файла 13 символов, средний блок каталога будет содержать приблизительно40 входов. Блоки каталога входов сортируются в двоичном лексическом порядке пополям имени в алфавитном порядке для алфавита США. Последний блок каталогавхода — запись, которая отмечает конец блока.

         Когдакаталог получает слишком большой файл, который нужно сохранить в одном блоке,он увеличивает размер добавлением блоков 2 КБ, которые организуются как B-Tree<span Times New Roman"; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:RU;mso-fareast-language: RU;mso-bidi-language:AR-SA">[1]. Припоиске файловая система извлекает указатель B-Tree из входа. Если это неуказатель, то поиск неудачен; иначе файловая система следует за указателем вследующий каталог и продолжает поиск.

         Небольшаяарифметика дает внушительную статистику. При использование 40 входов на блок,блоки каталога дерева с двумя уровнями могут содержать 1640 входов, каталога идерева с тремя уровнями могут содержать на удивление 65640 входов. Другимисловами, некоторый файл может быть найден в типичном каталоге из 65640 файловмаксимум за три обращения. Это намного лучше файловой системы FAT, где в самомплохом случае более чем 4000 секторов нужно прочитать для нахождения файла.

         Структуракаталога B-Tree имеет интересные импликации. Создание файла, переименование илистирание может приводить к каскадированию блоков каталогов. Фактически,переименование может терпеть неудачу из-за недостатка дискового пространства,даже если файл непосредственно в размерах не увеличился. Во избежание этого“бедствия”, HPFS поддерживает маленький пул свободных блоков, которые могутиспользоваться при “аварии”;

         Указательна этот пул свободных блоков сохраняется в SpareBlock.

РасширенныеАтрибуты

         АтрибутыФайла — информация о файле. FAT поддерживает только небольшое количествопростых атрибутов (доступный только для чтения, системный, скрытый, архив)которые фактически сохраняются как флажки бита на входе каталога файла; этиатрибуты не доступны, если файл открыт.

         HPFSподдерживает те же самые атрибуты, что и файловая система FAT по историческимпричинам, но он также поддерживает и новую форму fileassociated, то естьинформацию, называемую Расширенными Атрибутами (EAs). Каждый EA концептуальноподобен переменной окружения.

Значениеимени

         ВOS/2 1.2 каждый каталог или файл может иметь максимум 64 КБ присоединенных EAs.Это ограничение снимается в более поздних версиях OS/2.

         Методхранения для EAs может изменяться. Если одиночный EA становится слишком большим,он может помещаться снаружи Fnode.

         ЯдроAPI функции DosQFileInfo и DosSetFileInfo расширено новыми информационнымиуровнями, которые позволяют прикладным программам управлять расширеннымиатрибутами файлов. Новые функции DosQPathInfo и DosSetPathInfo используются длячтения или записи EAs, связанных с произвольными именами пути.

         ПоддержкаEAs является существенным компонентом в объектно — ориентированных файловыхсистемах. Информация о почти любом типе может сохраняться в EAs. Так как HPFSразвивается, средства для управления EAs становятся еще более сложным.

         Можнопредположить, например, что в будущем версии API могут расширяться функциямиEA, которые являются аналогичным DosFindFirst и DosFindNext и EA — данные могутбыть организованы в B-Tree.

ИнсталлируемыеФайловые Системы

         Поддержкадля инсталлируемой файловой системы является очень ценной особенностью OS/2.Она дает возможность обращаться к многочисленным несовместимым томам структурFAT, HPFS, CD ROM, и UNIX. Система OS/2 упрощает жизнь и открывает путьбыстрому развитию файловых систем и новшеств. Инсталлируемые файловые системы,однако, релевантны по отношению к HPFS, поскольку они используют HPFSфакультативно. Файловая система FAT вложена в ядро OS/2 и будет оставаться тамкак файловая система совместимости в течение некоторого времени.

         Драйверинсталлируемой файловой системы (FSD) аналогичен драйверам устройств. FSDпостоянно находится на диск как структурный файл, который является подобнымбиблиотеке динамических компоновок (DLL). Обычно этот файл имеет системноерасширение, и загружается во время инициализации системы из файла CONFIG. SYS.

         КогдаFSD установлен и инициализирован, ядро передает ему логические запросы наоткрытие, чтение, запись, поиск, закрытие, и так далее. FSD транслирует этиуправляющие запросы в запросы на сектор чтения или записи.

Проблемыэффективности

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

         Взаключение, поддержка операционной системы OS/2 для многозадачного режимаделает возможным для HPFS “ленивые записи” (иногда называемый отсроченнымизаписями или запись позади) для улучшения эффективности.

Отказоустойчивость

         Первичныймеханизм для коррекции ошибок записи называется hotfix. Если обнаружена ошибка,файловая система берет свободный блок вне резервного пула hotfix, записываетданные в этот блок, и модифицирует карту hotfix. (Карта hotfix представляетсобой двойные слова, содержащие номер плохого сектора связанный с номеромзамены. Указатель на hotfix находится в SpareBlock). Выдается предупредительноесообщение, и пользователь знает, что все хорошо не с дисковым устройством.

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

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

         HPFSзащищает себя от пользователей, слишком любящих Красный_Переключатель иподдерживает флажок Dirty FS, помечающий в SpareBlock каждый HPFS том. Флажокочищается только когда все файлы тома закрылись и все буферизованные в кэшеданные были записаны.

         Втечение загрузки OS/2, файловая система осматривает DirtyFS и, если флажокустановлен, не будет позволять дальнейший доступ к тому до тех пор, пока CHKDSKне закончит работу. Если флажок DirtyFS установлен на томе начальной загрузки,система не будет загружена; пользователь должен загружать OS/2 в режиме сдискеты и выполнить CHKDSK для проверки и возможно ремонта тома начальнойзагрузки.

         Припотере SuperBlock или корневой директории, HPFS имеет возможность успешновосстановить их. Каждый тип, определяющий файл, включая объект Fnodes, секторыраспределения, и каталоги блоков компонуются так, что и хозяин и дочерниезаписи и содержит уникальную сигнатуру с 32 битами. Fnodes также содержатначальную часть имени каталога или файлов. Следовательно, CHKDSK можетвосстановить весь том методом просмотр диска для Fnodes, секторовраспределения, и блоки каталога, использовав их для восстановления файлов,каталогов и freespace — списков.

ПрикладныеПрограммы и HPFS

         Новыефункции API, DosCopy помогают прикладным программам создавать копии, посуществу дублируя существующий файл вместе с EAs. EAs может также управлятьсяявно с DosQFileInfo, DosSetFileInfo, DosQPathInfo, и DosSetPathInfo.

         Другиеизменения в API не будут воздействовать на среднюю прикладную программу.Функции DosQFileInfo, DosFindFirst, и DosFindNext.

         DosQFsInfoиспользуется для получения метки тома или дисковых характеристик точно какпрежде, и использование DosSetFsInfo для меток тома не изменяется. Имеются aнемногие полностью новые функции API типа DosFsCtl (аналогичный DosDev IOCtl ноиспользуемый для связи между прикладной программой и FSD), и DosQFsAttach(определяет, какой FSD имеет том); они предназначаются главным образом дляиспользования дисковыми сервисными программами.

<span Times New Roman";mso-bidi-font-family:«Times New Roman»; mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language:AR-SA">

Дополнения

Структура системы файлов FAT<img src="/cache/referats/2087/image001.gif" " v:shapes="_x0000_s1038">

Файл Д

<img src="/cache/referats/2087/image002.gif" v:shapes="_x0000_s1037">

Файл В

<img src="/cache/referats/2087/image003.gif" v:shapes="_x0000_s1036">

Файл Б

<img src="/cache/referats/2087/image004.gif" v:shapes="_x0000_s1032">

Каталог

<img src="/cache/referats/2087/image005.gif" v:shapes="_x0000_s1035">

Файл Г

<img src="/cache/referats/2087/image006.gif" v:shapes="_x0000_s1034">

Каталог

<img src="/cache/referats/2087/image007.gif" v:shapes="_x0000_s1033">

Каталог

<img src="/cache/referats/2087/image008.gif" v:shapes="_x0000_s1031">

Файл А

<img src="/cache/referats/2087/image009.gif" v:shapes="_x0000_s1030"><div v:shape="_x0000_s1028">

Идентификатор

дисковода

<div v:shape="_x0000_s1029">

Корневой каталог

(метка тома)

00Н

01Н

Идентификатор дисковода

01Н

09Н

Имя файла (8 символов)

09Н

0СН

Расширение (3 символа)

0СН

0ЕН

Номер текущего блока

0ЕН

10Н

Размер записи

10Н

14Н

Размер файла

14Н

16Н

Дата создания (обновления)

16Н

18Н

Время создания (обновления)

18Н

20Н

Зарезервировано

20Н

21Н

Номер текущей записи

<div v:shape="_x0000_s1026">

Типичный блок управления файлом

Элементы структуры

<img src="/cache/referats/2087/image010.gif" v:shapes="_x0000_s1042">

Относительный конечный адрес в байтах

<img src="/cache/referats/2087/image011.gif" " v:shapes="_x0000_s1040">

Относительный начальный адрес в байтах

<img src="/cache/referats/2087/image012.gif" " v:shapes="_x0000_s1039">21Н

25Н

Номер относительной записи

BTree и B+Tree

         Многие программисты не знакомы соструктурой данных, известной как двоичное дерево. Двоичные деревья это методикадля логического упорядочивания совокупности элементов данных.

         Впростом двоичном дереве каждый узел содержит некоторые данные, включая значениеключа, которое определяет логическую позицию узла в дереве, и указатели налевые и правые поддеревья узла. Узел который начинает дерево известен каккорень; узлы которые сидят на конце ветви дерева иногда называются уходами.

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

         Поэтомубольшое количество программистов предпочитают в использовании сбалансированныедеревья известные как B-Tree.

00Н

01Н

0FFH

01Н

06Н

Зарезервировано

06Н

07Н

Байт атрибута

07Н

08Н

Идентификатор дисковода

08Н

10Н

Имя файла (8 символов)

10Н

13Н

Расширение (3 символа)

13Н

15Н

Номер текущего блока

15Н

17Н

Размер записи

17Н

1ВН

Размер файла

1BН

1DН

Дата создания (обновления)

1DН

1FН

Время создания (обновления)

1FН

27H

Зарезервировано

27H

28H

Номер текущей записи

28H

2CH

Номер относительной записи

<div v:shape="_x0000_s1027">

Расширенный блок управления файлом

Относительный начальный адрес в байтах

<img src="/cache/referats/2087/image013.gif" v:shapes="_x0000_s1044">

Элементы структуры

<img src="/cache/referats/2087/image014.gif" v:shapes="_x0000_s1043">

Относительный конечный адрес в байтах

<img src="/cache/referats/2087/image015.gif" v:shapes="_x0000_s1041">

Резюме

Резюме.

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

<span Times New Roman";mso-bidi-font-family:«Times New Roman»; mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language:AR-SA">

Списокиспользованной литературы:

1.<span Times New Roman""> 

Microsoft Systems Journal, Sept 1989. Получен из Computer LibraryPeriodicals, Jan 1990, Doc #14753

2.<span Times New Roman""> 

OS/2 Warp, К. Данильченко, BHV Київ, 1995

3.<span Times New Roman""> 

Профессиональная работа в MS-DOS, Р.Данкан, Мир, 1993

<span Times New Roman",«serif»;mso-fareast-font-family: «Times New Roman»;mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language: AR-SA">[1]

О двоичных деревьях B-Treeсмотри в дополнении
еще рефераты
Еще работы по программному обеспечению