Операционная система OS2
Рефераты >> Программирование и компьютеры >> Операционная система OS2

Рис. 1. Структура OS/2

На рисунке 2 изображены сетевые средства OS/2 Warp Connect. Они делятся на четыре уровня. Прикладной уровень включает программные интерфейсы приложений операционной системы. Компоненты на уровне файловой системы отвечают за выполнение файловых операций. Транспортный уровень реализует коммуникационные протоколы. Имеется компонента Общая транспортная семантика (Common Transport Semantic), которая позволяет использовать любую файловую систему (а точнее ее редиректор) в сочетании с любым протоколом транспортного уровня.

Рис. 2. Структура сетевых средств OS/2 Warp Connect

Программное обеспечение MAC-уровня включает драйверы сетевых адаптеров и диспетчерский слой в стандарте NDIS 2.01, который позволяет различным сетевым протоколам работать через один адаптерам, и различным адаптерам связываться через общий протокол. Существует модуль преобразования ODI-NDIS, который позволяет использовать модули транспортных протоколов, реализованные в расчете на работу с диспетчерским слоем ODI компании Novell.

Диспетчер инсталлируемой файловой системы (IFS) теоретически позволяет любой прикладной программе работать с любой файловой системой.

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

HPFS - сокращенное название высокопроизводительной файловой системы (high performance file system), совместно разработанной в 1989 году корпорациями IBM и Microsoft.

Эта система была разработана, чтобы преодолеть некоторые недостатки FAT, к числу которых относятся:

· ограничения, налагаемые на размер файлов и дискового пространства;

· ограничение длины имени файла;

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

· непроизводительные затраты памяти, вызванные большими размерами кластеров;

· подверженность потерям данных.

Проблема непроизводительных потерь дискового пространства связана с тем, что место на диске выделяется целыми блоками - кластерами. Кластер - это единица дискового пространства, которыми оперирует файловая система при выделении места для файла. В среднем половина выделяемого кластера для каждого файла будет затрачиваться в пустую. Это может быть одной из причин нерационального использования памяти диска. Например, при емкости диска 510 Мбайт число размещенных на нем файлов может составить около 1,5 тысяч. В этом случае FAT приведет к потере 6 Мбайт пространства, обусловленной только размером выделяемого блока. Для очень распространенных сейчас дисков емкостью 850 Мбайт ситуация может оказаться еще более критической. На таком диске может разместиться около 2 тысяч файлов, что повлечет за собой потерю 20 Мбайт. Для сетевых дисков емкостью в несколько гигабайт потери достигают астрономических цифр. Чем больше размер раздела жесткого диска, тем больше объем минимальной неделимой области памяти, выделяемой файлу, тем больше потери.

Эти потери можно существенно сократить внедрением более эффективных файловых систем. Простой переход на HPFS, работающую в среде OS/2, позволяет вновь вернуться к первоначальному размеру выделяемого блока - 512 байт, причем для любых размеров диска. Размер вероятного выигрыша для диска емкостью 512 Мбайт, содержащего 8 000 файлов, составит около 30 Мбайт. Этот выигрыш связан с тем, что на каждом файле в среднем теряется не 4096 байт (половина размера кластера в FAT для диска данной емкости), а всего 256 байт.

В OS/2 положение осложняется применяемым методом хранения расширенных атрибутов (extended attributes). В разделе FAT файл, содержащий единственный символ, занял бы целый кластер для размещения собственно файла и еще один кластер для расширенных атрибутов.

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

Переход на HPFS позволит сэкономить дисковое пространство. HPFS распределяет пространство, основываясь на физических 512-байтовых секторах, а не на кластерах, независимо от размера раздела. Система HPFS позволяет уменьшить и непроизводительные потери, так как в ней предусмотрено хранение до 300 байт расширенных атрибутов в F-узле файла, без захвата для этого дополнительного сектора.

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

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

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

Сектор 17 носит название SpareBlock (запасной блок). Он содержит указатель на список секторов, которые можно использовать для "горячего" исправления ошибок, счетчик доступных секторов для "горячего" исправления ошибок, указатель на резерв свободных блоков, применяемых для управления деревьями каталогов, и информацию о языковых наборах символов. Система HPFS использует информацию о языковых наборах, чтобы дать возможность пересылать файлы, составленные на разных языках, даже в том случае, когда имена файлов содержат уникальные для какого-либо языка символы. SpareBlock также содержит так называемый "грязный" флаг. Этот новый флаг сообщает операционной системе о том, было ли завершение предыдущего сеанса работы нормальным, либо произошло в результате сбоя электропитания, либо файлы не были закрыты должным образом по какой-то другой причине. Если этот флаг обнаружен во время начальной загрузки, то операционная система автоматически запускает утилиту CHKDSK, пытаясь обнаружить и исправить все ошибки, внесенные в файловую систему из-за неправильного выключения системы.


Страница: