Файлы и файловая система. Файловые системы: сравнение, секреты и уникальные особенности Принцип работы файловой системы

Материал к обзорной лекции № 33

для студентов специальности

«Программное обеспечение информационных технологий»

доцента кафедры ИВТ, к.т.н. Ливак Е.Н.

СИСТЕМЫ УПРАВЛЕНИЯ ФАЙЛАМИ

Основные понятия, факты

Назначение. Особенности файловыхсистем FAT , VFAT , FAT 32, HPFS , NTFS . Файловые системы ОС UNIX (s5, ufs), ОС Linux Ext2FS.Системные области диска (раздела, тома). Принципы размещения файлов и хранения информации о расположении файлов. Организация каталогов. Ограничение доступа к файлам и каталогам.

Навыки и умения

Использование знаний о структуре файловой системы для защиты и восстановления компьютерной информации (файлов и каталогов). Организация разграничения доступа к файлам.

Файловые системы. Структура файловой системы

Данные на диске хранятся в виде файлов. Файл - это именованная часть диска.

Для управления файлами предназначены системы управления файлами.

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

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

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

С помощью системы управления файлами

· связываются по данным все системные обрабатывающие программы;

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

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

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

Постараемся различать файловую систему и систему управления файлами.

Термин «файловая система» определяет принципы доступа к данным, организованным в файлы.

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

Итак, для работы с файлами, организованными в соответствии с некоторой файловой системой, для каждой ОС должна быть разработана соответствующая система управления файлами. Эта система УФ будет работать только в той ОС, для которой она создана.

Для семейства ОС Windows в основном используются файловые системы: VFAT , FAT 32, NTFS .

Рассмотрим структуру этих файловых систем.

В файловой системе FAT дисковое пространство любого логического диска делится на две области:

· системную область и

· область данных.

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

Системная область состоит из следующих компонентов:

· загрузочного сектора, содержащего загрузочную запись (boot record );

· зарезервированных секторов (их может и не быть);

· таблицыразмещенияфайлов (FAT, File Allocation Table);

· корневогокаталога (Root directory, ROOT).

Эти компоненты расположены на диске друг за другом.

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

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

Разбиение области данных на кластеры вместо использования секторов позволяет:

· уменьшить размер таблицы FAT ;

· уменьшить фрагментацию файлов;

· сокращается длина цепочек файла Þ ускоряется доступ к файлу.

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

В современных файловых системах (FAT 32, HPFS , NTFS ) эта проблема решается за счет ограничения размера кластера (максимум 4 Кбайта)

Картой области данных являетсяТ аблица размещения файлов (File Allocation Table - FAT) Каждый элемент таблицы FAT (12, 16 или 32 бит) соответствует одному кластеру диска и характеризует его состояние: свободен, занят или является сбойным кластером (bad cluster).

· Если кластер распределен какому-либо файлу (т.е., занят), то соответствующий элемент FAT содержит номер следующего кластера файла;

· последний кластер файла отмечается числом в диапазоне FF8h - FFFh (FFF8h - FFFFh);

· если кластер является свободным, он содержит нулевое значение 000h (0000h);

· кластер, непригодный для использования (сбойный), отмечается числом FF7h (FFF7h).

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

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

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

В связи с тем, что FAT используется очень интенсивно при доступе к диску, она обычно загружается в ОП (в буфера ввода/вывода или кэш) и остается там настолько долго, насколько это возможно.

Основной недостаток FAT - медленная работа с файлами. При создании файла работает правило - выделяется первый свободный кластер. Это ведет к фрагментации диска и сложным цепочкам файлов. Отсюда следует замедление работы с файлами.

Для просмотра и редактирования таблицы FAT можно использовать утилиту Disk Editor .

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

Корневой каталог описываетфайлы и другие каталоги. Элементом каталога является дескриптор (описатель) файла.

Дескриптор каждого файла и каталога включает его

· имя

· расширение

· дату создания или последней модификации

· время создания или последней модификации

· атрибуты (архивный, атрибут каталога, атрибут тома, системный, скрытый, только для чтения)

· длину файла (для каталога - 0)

· зарезервированное поле, которое не используется

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

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

Для просмотра и редактирования корневого каталога ROOT можно также использовать утилиту Disk Editor .

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

Файловая система VFAT (виртуальная FAT ) впервые появилась в Windows for Workgroups 3.11 и была предназначена для файлового ввода/вывода в защищенном режиме.

Используется эта файловая система в Windows 95.

Поддерживается она также и в Windows NT 4.

VFAT - это «родная» 32-разрядная файловая система Windows 95. Ее контролирует драйвер VFAT .VXD .

VFAT использует 32-разрядный код для всех файловых операций, может использовать 32-разрядные драйверы защищенного режима.

НО, элементы таблицы размещения файлов остаются 12- или 16-разрядными, поэтому на диске используется та же структура данных (FAT ). Т.е. формат таблицы VFAT такой же , как и формат FAT .

VFAT наряду с именами «8.3» поддерживает длинные имена файлов . (Часто говорят, что VFAT - это FAT с поддержкой длинных имен).

Основной недостаток VFAT - большие потери на кластеризацию при больших размерах логического диска и ограничения на сам размер логического диска.

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

Это новая реализация идеи использования таблицы FAT .

FAT 32 - это полностью самостоятельная 32-разрядная файловая система.

Впервые использовалась в Windows OSR 2 (OEM Service Release 2).

В настоящее время FAT 32 используется в Windows 98 и Windows ME .

Она содержит многочисленные усовершенствования и дополнения по сравнению с предыдущими реализациями FAT .

1. Намного эффективнее расходует дисковое пространство за счет того, что использует кластеры меньшего размера (4 Кб) - подсчитано, что экономится до 15%.

2. Имеет расширенную загрузочную запись, которая позволяет создавать копии критических структур данных Þ повышает устойчивость диска к нарушениям структур диска

3. Может использовать резервную копию FAT вместо стандартной.

4. Может перемещать корневой каталог, другими словами, корневой каталог может находиться в произвольном месте Þ снимает ограничение на размер корневого каталога (512 элементов, т.к. ROOT должен был занимать один кластер).

5. Усовершенствована структура корневого каталога

Появились дополнительные поля, например, время создания, дата создания, дата последнего доступа, контрольная сумма

По-прежнему для длинного имени файла используется несколько дескрипторов.

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

HPFS (High Performance File System ) - вы­сокопроизводительная файловая система.

HPFS впервые появилась в OS/2 1.2 и LAN Manager .

Перечислим основные особенности HPFS.

· Главное отличие - базовые принципы размещения файлов на диске и принципы хранения информации о местоположении файлов. Благодаря этим принципам HPFS имеет высокую производительность и отказоустойчивость, является надежной файловой системой.

· Дисковое пространство в HPFS выделяется не кластерами (как в FAT ), а блоками. В современной реализации размер блока взят равным одному сектору, но в принципе он мог бы быть и иного размера. (По сути дела, блок - это и есть кластер, только кластер всегда равен одному сектору). Размещениефайлов в таких небольших блоках позволяет более эффектив­но использовать пространство диска , так как непроизводительные потери сво­бодного места составляют в среднем всего (полсектора) 256 байт на каждый файл. Вспомним, что чем больше размер кластера, тем больше места на диске расходуется напрас­но.

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

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

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

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

Расширенные атрибуты (extended attributes , EAs ) позволяют хранить дополнительную информацию о файле. Например, каждому файлу может быть сопоставлено его уникаль­ное графическое изображение (значок), описание файла, коммента­рий, сведения о владельце файла и т. д.

C труктура раздела HPFS


В начале раздела с установленной HPFS расположено три управляющих блока:

· загрузочный блок (boot block ),

· дополнительный блок (super block ) и

· запас­ной (резервный) блок (spare block ).

Они занимают 18 секторов.

Все остальное дис­ковое пространство в HPFS разбито на части из смежных секторов - полосы (band - полоса, лента). Каждая полоса занимает на диске 8 Мбайт.

Каждая полоса и имеет свою собственную битовую карту распределе­ния секторов .Битовая карта показывает, какие секторы данной полосы за­няты, а какие - свободны. Каждому сектору полосы данных соответствует один бит в ее битовой карте. Если бит = 1, то сектор занят, если 0 - свободен.

Битовые карты двух полос располагаются на диске рядом, так же располагаются и сами полосы. То есть последовательность полос и карт выглядит как на рис.

Сравним с FAT . Там на весь диск только одна «битовая карта» (таблица FAT ). И для работы с ней приходится перемещать головки чте­ния/записи в среднем через половину диска.

Именно для того, чтобы сократить время позиционирования головок чтения/записи жесткого диска, в HPFS диск разбит на полосы.

Рассмотрим управляющие блоки .

Загрузочный блок (boot block )

Содержит имя тома, его серийный номер, блок парамет­ров BIOS и программу начальной загрузки.

Программа начальной загрузки на­ходит файл OS 2 LDR , считывает его в память и передает управление этой про­грамме загрузки ОС, которая, в свою очередь, загружает с диска в память ядро OS/2 - OS 2 KRNL . И уже OS 2 KRIML с помощью сведений из файла CONFIG . SYS за­гружает в память все остальные необходимые программные модули и блоки дан­ных.

Загрузочный блок располагается в секторах с 0 по 15.

Супер Блок (super block )

Содержит

· указатель на список битовых карт (bitmap block list ). В этом списке перечислены все блоки на диске, в которых расположены би­товые карты, используемые для обнаружения свободных секторов;

· указатель на список дефектных блоков (bad block list ). Когда система обнаруживает поврежденный блок, он вносится в этот список и для хранения информации больше не используется;

· указатель на группу каталогов (directory band ),

· указатель на файловый узел (F -node ) корневого каталога,

· дату последней проверки раздела програм­мой CHKDSK ;

· информацию о размере полосы (в текущей реализации HPFS - 8 Мбайт).

Super block размещается в 16 секторе.

Резервный блок (spare block)

Содержит

· указатель на карту аварийного замеще­ния (hotfix map или hotfix -areas );

· указатель на список свободных запасных бло­ков (directory emergency free block list );

· ряд системных флагов и дескрипторов.

Этот блок разме­щается в 17 секторе диска.

Резервный блок обеспечивает высокую отказоустойчивость файловой системы HPFS и позволяет восстанавливать поврежденные данные на диске.

Принцип размещения файлов

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

Для сокращения времени позиционирования головок чтения/записи жесткого диска система HPFS стремится

1)расположить файл в смежных блоках;

2)если такой возможности нет, то разместить экстенты фрагментированного файла как можно ближе друг к другу,

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

Принципы хранения информации о расположении файлов

Каждый файл и каталог диска имеет свой файловый узел F-Node . Это структура, в которой содержится информация о располо­жении файла и о его расширенных атрибутах.

Каждый F-Node занимает один сектор и всегда располагается поблизости от своего файла или каталога (обычно - непосредственно перед файлом или ка­талогом). Объект F-Node содержит

· длину,

· первые 15 символов имени файла,

· специальную служебную информацию,

· статистику по доступу к файлу,

· расши­ренные атрибуты файла,

· список прав доступа (или только часть этого списка, если он очень большой); если расширен­ные атрибуты слишком велики для файлового узла, то в него записывается ука­затель на них.

· ассоциативную информацию о расположении и подчине­нии файла и т. д.

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

Если файл фрагментирован, то размещение его экстентов описывается в файловом узле дополнительными парами 32-битных чисел.

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

Структура и размещение каталогов

Для хранения каталогов используется полоса, находящаяся в центре диска .

Эта полоса называетсяdirectory band .

Если она полностью заполнена, HPFS начинает располагать каталоги файлов в других полосах.

Расположение этой информаци­онной структуры в середине диска значительно сокращает среднее время пози­ционирования головок чтения/записи.

Однако существенно больший (по сравнению с размещением Directory Band в середине логического диска) вклад в производительность HPFS дает использо­вание метода сбалансированных двоичных деревьев для хранения и поиска ин­формации о местонахождении файлов.

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

В HPFS структура каталога представляет собой сбалансированное де­рево с записями, расположенными в алфавитном порядке.

Каждая за­пись, входящая в состав дерева, содержит

· атрибуты файла,

· указатель на соответствующий файловый узел,

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

· длине данных, содержа­щих расширенные атрибуты,

· счетчик обращений к файлу,

· длине имени файла

· само имя,

· и другую информацию.

Файловая система HPFS при поиске файла в каталоге просматривает только не­обходимые ветви двоичного дерева. Такой метод во много раз эффек­тивнее, чем последовательное чтение всех записей в каталоге, что имеет место в системе FAT .

Размер каждого из блоков, в терминах которых выделяются каталоги в текущей реализации HPFS, равен 2 Кбайт. Размер записи, описывающей файл, зависит от размера имени файла. Если имя занимает 13 байтов (для формата 8.3), то блок из 2 Кбайт вмещает до 40 описателей файлов. Блоки связаны друг с другом по­средством списка.

Проблемы

При переименовании файлов может возникнуть так называемая перебаланси­ровка дерева. Создание файла, переименование или стирание может приводить к каскадированию блоков каталогов . Фактически, переименование может потер­петь неудачу из-за недостатка дискового пространства, даже если файл непо­средственно в размерах не увеличился. Во избежание этого «бедствия» HPFS поддерживает небольшой пул свободных блоков, которые могут использовать­ся при «аварии». Эта операция может потребовать выделения дополнительных блоков на заполненном диске. Указатель на этот пул свободных блоков сохраня­ется в SpareBlock ,

Принципы размещения файлов и каталогов на диске в HPFS :

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

· каталоги размещаются в середине дискового пространства;

· каталоги хранятся в виде бинарного сбалансированного дерева с записями, расположенными в алфавитном порядке.

Надежность хранения данных в HPFS

Любая файловая система должна обладать средствами исправления ошибок, возникаю­щих при записи информации на диск. Система HPFS для этого использует меха­низм аварийного замещения ( hotfix ).

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

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

Первый номер указывает на дефектный сек­тор, а второй - на тот сектор среди имеющихся запасных секторов, который был выбран для его замены.

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

Следует заметить, что это преобразование номеров существенно не влияет на производительность системы, так как оно выполняется только при физическом обращении к диску, но не при чтении данных из дискового кэша.

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

Файловая система NTFS (New Technology File System) содержит ряд значительных усовер­шенствований и изменений, существенно отличающих ее от других файловых систем.

Заметим, что за редкими исключениями, с разделами NTFS можно работать напрямую только из Windows NT , хотя и имеются для ряда ОС соответствующие реализа­ции систем управления файлами для чтения файлов из томов NTFS.

Однако полноценных реализаций для работы с NTFS вне системы Windows NT пока нет.

NTFS не поддерживается в широко распространенных ОС Windows 98 и Windows Millennium Edition .

Основные особенности NT FS

· работа на дисках большого объема происходит эффективно (намного эффективнее, чем в FAT );

· имеются средства для ограничения доступа к файлам и катало­гам Þ раз­делы NTFS обеспечивают локальную безопасность как файлов, так и каталогов;

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

· сняты многие ограничения на максимальное количество дисковых секто­ров и/или кластеров;

· имя файла в NTFS, в отличие от файловых систем FAT и HPFS , может содержать любые символы, включая полный набор национальных алфавитов, так как данные представлены в Unicode - 16-битном представлении, которое дает 65535 разных символов. Максимальная длина имени файла в NTFS - 255 символов.

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

Структура тома с файловой системой NTFS

Раздел NTFS называется томом (volume ). Максимально возможные размеры тома (и размеры файла) составляют 16 Эбайт (экзабайт 2**64).

Как и другие системы, NTFS делит дисковое пространство тома на кластеры - блоки данных, адресуемые как единицы данных. NTFS поддержива­ет размеры кластеров от 512 байт до 64 Кбайт; стандартом же считается кластер размером 2 или 4 Кбайт.

Все дисковое пространство в NTFS делится на две неравные части.


Первые 12 % диска отводятся под так называемую MFT-зону - пространство, которое может занимать, увеличиваясь в размере, главный служебный метафайл MFT .

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

Остальные 88 % тома представляют собой обычное пространство для хранения файлов.

MFT (master file table - общая таблица файлов) по сути - это каталог всех остальных файлов диска, в том числе и себя самого. Он предназначен для определения расположения файлов.

MFT состоит из записей фиксированного размера. Размер записи MFT (минимум 1 Кб и максимум 4 Кб) оп­ределяется во время форматирования тома.

Каждая запись соответ­ствует какому-либо файлу.

Первые 16 записей но­сят служебный характер и недоступны операционной системе - они называются метафайлами, причем самый первый метафайл - сам MFT.

Эти первые 16 эле­ментов MFT - единственная часть диска, имеющая строго фиксированное поло­жение. Копия этих же 16 записей хранится в середине тома для надежности.

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

Метафайлы носят служебный характер - каждый из них отвечает за какой-либо аспект работы системы. Метафайлы нахо­дятся в корневом каталоге NTFS-тома. Все они начинаются с символа имени «$», хотя получить какую-либо информацию о них стандартными средствами сложно. В табл. приведены основные метафайлы и их назначение.

Имя метафайла

Назначение метафайла

$MFT

Сам Master File Table

$MFTmirr

Копия первых 16 записей MFT, размещенная посередине тома

$LogFile

Файл поддержки операций журналирования

$Volume

Служебная информация - метка тома, версия файловой системы и т. д.

$AttrDef

Список стандартных атрибутов файлов на томе

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

$Bitmap

Карта свободного места тома

$Boot

Загрузочный сектор (если раздел загрузочный)

$Quota

Файл, в котором записаны права пользователей на использование дискового пространства (этот файл начал работать лишь в Windows 2000 с системой NTFS 5.0)

$Upcase

Файл - таблица соответствия заглавных и прописных букв в именах файлов. В NTFS имена файлов записываются в Unicode (что составляет 65 тысяч различных символов) и искать большие и малые эквиваленты в данном случае - нетривиальная задача

В соответствующей записи MFT хранится вся информация о файле:

· имя файла,

· размер;

· атрибуты файла;

· положение на диске отдельных фрагментов и т. д.

Если для информации не хватает одной записи MFT, то используется несколько записей, причем не обязательно идущих подряд.

Если файл имеет не очень большой размер, то данные файла хранятся прямо в MFT, в оставшемся от основных данных месте в пределах одной записи MFT.

Файл в томе с NTFS идентифицируется так называемой файловой ссылкой (File Reference ), которая представляется как 64-разрядное число.

· номера файла, который соответствует номеру записи в MFT,

· и номера последовательности. Этот номер увеличивается всякий раз, когда данный номер в MFT используется повторно, что позволяет файловой системе NTFS выполнять внутренние проверки целостности.

Каждый файл в NTFS представлен с помощью потоков (streams ), то есть у него нет как таковых «просто данных», а есть потоки.

Один из потоков - это и есть данные файла.

Большинство атрибутов файла - это тоже потоки.

Таким об­разом, получается, что базовая сущность у файла только одна - номер в MFT, а все остальное, включая и его потоки, - опционально.

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

Стандартные атрибуты для файлов и каталогов в томе NTFS имеют фиксиро­ванные имена и коды типа.

Каталог в NTFS представляет собой специальный файл, хранящий ссылки на другие файлы и каталоги.

Файл каталога разделен на блоки, каждый из которых содержит

· имя файла,

· базовые атрибуты и

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

Внутренняя структура каталога представляет собой бинарное дерево, как в HPFS.

Количество файлов в корневом и некорневом каталогах не ограни­чено.

Файловая система NTFS поддерживает объектную модель безопасности NT : NTFS рассматривает каталоги и файлы как разнотипные объекты и ведет отдельные (хотя и перекры­вающиеся) списки прав доступа для каждого типа.

NTFS обеспечивает безопасность на уровне файлов; это означает, что права доступа к томам, каталогам и файлам могут зависеть от учетной записи пользователя и тех групп, к которым он принадлежит. Каждый раз, когда пользователь обращается к объекту файловой системы, его права доступа проверяются по списку разреше­ний данного объекта. Если пользователь обладает достаточным уровнем прав, его запрос удовлетворяется; в противном случае запрос отклоняется. Эта модель безопасности применяется как при локальной регистрации пользователей на компьютерах с NT , так и при удаленных сетевых запросах.

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

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

Основной недостаток файловой системы NTFS - служебные данные занимают много места (например, каждый элемент каталога занимает 2 Кбайт) - для малых раз­делов служебные данные могут занимать до 25% объема носителя.

Þ система NTFS не может использоваться для форматирования флоппи-дисков. Не стоит пользоваться ею для форматирования разделов объемом менее 100 Мбайт.

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

В мире UNIX существует несколько разных видов файловых систем со своей структурой внешней памяти. Наиболее известны традиционная файловая система UNIX System V (s5) и файловая система семейства UNIX BSD (ufs).

Рассмотрим s 5.

Файл в системе UNIX представляет собой множество символов с произвольным доступом.

Файл имеет такую структуру, которую налагает на него пользователь.

Файловая система Unix, это иерархическая, многопользовательская файловая система.

Файловая система имеет древовидную структуру. Вершинами (промежуточными узлами) дерева являются каталоги со ссылками на другие каталоги или файлы. Листья дерева соответствуют файлам или пустым каталогам.

Замечание. На самом деле файловая система Unix не является древообразной. Дело в том, что в системе имеется возможность нарушения иерархии в виде дерева, так как имеется возможность ассоциировать несколько имен с одним и тем же содержимым файла .

Структура диска

Диск разделен на блоки. Размер блока данных определяется при форматировании файловой системы командой mkfs и может быть установлен 512, 1024, 2048, 4096 или 8192 байтов.

Считаем по 512 байт (размер сектора).

Дисковое пространство делится на следующие области (см. рис.):

· загрузочный блок;

· управляющий суперблок;

· массив i -узлов;

· область для хранения содержимого (данных) файлов;

· совокупность свободных блоков (связанных в список);

Блокначальной загрузки

Суперблок

i - узел

. . .

i - узел

Замечание. Для файловой системы UFS - все это для группы цилиндров повторяется (кроме Boot -блока) + выделена специальная область для описания группы цилиндров

Блок начальной загрузки

Блок размещен в блоке №0. (Вспомним, что размещение этого блока в нулевом блоке системного устройства определяется аппаратурой, так как аппаратной загрузчик всегда обращается к нулевому блоку системного устройства. Это последний компонент файловой системы, который зависит от аппаратуры.)

Boot -блок содержит программу раскрутки, которая служит для первоначального запуска ОС UNIX . В файловых системах s 5 реально используется boot -блок только корневой файловой системы. В дополнительных файловых системах эта область присутствует, но не используется.

Суперблок

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

В частности суперблок содержит следующую информацию

· количество i -узлов (индексных дескрипторов);

· размер раздела???;

· список свободных блоков;

· список свободных i -узлов;

· и другое.

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

Элементами списка являются массивы из 50 элементов(если блок = 512 байт, то элемент = 16 бит):

· в элементах массива №№1-48 записаны номера свободных блоков пространства блоков файлов с 2 до 49.

· в №0 элементе содержится указатель на продолжение списка, а

· в последнем элементе (№49) содержится указатель на свободный элемент в массиве.

Если какому-то процессу для расширения файла требуется свободный блок, то система по указателю (на свободный элемент) выбирает элемент массива, и блок с №, хранящимся в данном элементе, предоставляется файлу. Если происходит сокращение файла, то высвободившиеся номера добавляются в массив свободных блоков и корректируется указатель на свободный элемент.

Так как размер массива - 50 элементов, то возможны две критические ситуации:

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

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

Список свободных i -узлов . Это буфер, состоящий из 100 элементов. В нем находится информация о 100 номерах i -узлов, которые свободны в данный момент.

Суперблок всегда находится в ОЗУ

Þ все операции (освобождение и занятие блоков и i -узлов происходят в ОЗУ Þ минимизация обменов с диском.

Но! Если содержимое суперблока не будет записано на диск и выключено питание, то возникнут проблемы (несоответствие реального состояния файловой системы и содержимого суперблока). Но это уже требование к надежности аппаратуры системы.

Замечание . В файловых системах UFS для повышения устойчивости поддерживается несколько копий суперблока (по одной копии на группу цилиндров)

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

Это массив описаний файлов, называемых i -узлами (i - node ) .(64-х байтные?)

Каждый индексный описатель (i -узел) файла содержит:

· Тип файла (файл/каталог/специальный файл/fifo/socket)

· Атрибуты (права доступа) - 10

· Идентификатор владельца файла

· Идентификатор группы-владельца файла

· Время создания файла

· Время модификации файла

· Время последнего доступа к файлу

· Длина файла

· Количество ссылок к данному i -узлу из различных каталогов

· Адреса блоков файла

! Обратите внимание . Здесь нет имени файла

Рассмотрим подробнее как организована адресация блоков , в которых размещен файл. Итак, в поле с адресами находятся номера первых 10 блоков файла.

Если файл превышает десять блоков, то начинает работать следующий механизм: 11-й элемент поля содержит номер блока, в котором размещены 128(256) ссылок на блоки данного файла. В том случае, если файл еще больше - то используется 12й элемент поля- он содержит номер блока, в котором содержится 128(256) номеров блоков, где каждый блок содержит 128(256) номеров блоков файловой системы. А если файл еще больше, то используется 13 элемент - где глубина вложенности списка увеличена еще на единицу.

Таким образом мы можем получить файл размером (10+128+128 2 +128 3)*512.

Это можно представить в следующем виде:

Адрес 1-го блока файла

Адрес 2-го блока файла

Адрес 10-го блока файла

Адрес блока косвенной адресации (блока с 256 адресами блоков)

Адрес блока 2-й косвенной адресации (блока с 256 адресами блоков с адресами)

Адрес блока 3-й косвенной адресации (блока с адресами блоков с адресами блоков с адресами)

Защита файла

Теперь обратим внимание на идентификаторы владельца и группы и биты защиты.

В ОС Unix используется трехуровневая иерархия пользователей :

Первый уровень - все пользователи.

Второй уровень - группы пользователей. (Все пользователи подразделены на группы.

Третий уровень - конкретный пользователь (Группы состоят из реальных пользователей). В связи с этой трехуровневой организацией пользователей каждый файл обладает тремя атрибутами:

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

2) Защита доступа к файлу. Доступ к каждому файлу ограничивается по трем категориям:

· права владельца (что может делать владелец с этим файлом, в общем случае - не обязательно все, что угодно);

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

· все остальные пользователи системы;

По этим трем категориям регламентируются три действия: чтение из файла, запись в файл и исполнение файла (в мнемонике системы R,W,X, соответственно). В каждом файле по этим трем категориям определено - какой пользователь может читать, какой писать, а кто может запускать его в качестве процесса.

Организация каталогов

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

Элемент каталога состоит из двух полей:

1)номер i -узла (порядковый номер в массиве i -узлов)и

2)имя файла:

Каждый каталог содержит два специальных имени: ‘.’ - сам каталог; ‘..’ - родительский каталог.

(Для корневого каталога родитель ссылается на него же самого.)

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

Файлы существуют независимо от элементов каталогов, а связи в каталогах указывают действительно на физические файлы. Файл «исчезает» когда удаляется последняя связь, указывающая на него.

Итак, чтобы получить доступ к файлу по имени, операционная система

1. находит это имя в каталоге, содержащем файл,

2. получает номер i -узла файла,

3. по номеру находит i- узел в области i-узлов,

4. из i-узла получает адреса блоков, в которых расположены данные файла,

5. по адресам блоков считывает блоки из области данных.

Структура дискового раздела в EXT 2 FS

Все пространство раздела делится на блоки. Блок может иметь размер от 1, 2 или 4 килобайта. Блок является адресуемой единицей дискового пространства.

Блоки, в свою область объединяются в группы блоков. Группы блоков в файловой системе и блоки внутри группы нумеруются последовательно, начиная с 1. Первый блок на диске имеет номер 1 и принадлежит группе с номером 1. Общее число блоков на диске (в разделе диска) является делителем объема диска, выраженного в секторах. А число групп блоков не обязано делить число блоков, потому что последняя группа блоков может быть не полной. Начало каждой группы блоков имеет адрес, который может быть получен как ((номер группы - 1)* (число блоков в группе)).

Каждая группа блоков имеет одинаковое строение. Ее структура представлена в таблице.

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

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

Вслед за суперблоком расположено описание группы блоков (Group Descriptors). Это описание содержит:

Адрес блока, содержащего битовую карту блоков (block bitmap) данной группы;

Адрес блока, содержащего битовую карту индексных дескрипторов (inode bitmap) данной группы;

Адрес блока, содержащего таблицу индексных дескрипторов (inode table) данной группы;

Счетчик числа свободных блоков в данной группе;

Число свободных индексных дескрипторов в данной группе;

Число индексных дескрипторов в данной группе, которые являются каталогами

и другие данные.

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

Файловая система Ext 2 характеризуется:

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

Внутреннее представление файлов

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

Индексные дескрипторы файлов

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

Индексный дескриптор файла содержит следующую информацию:

- Тип и права доступа к данному файлу.

Идентификатор владельца файла (Owner Uid).

Размер файла в байтах.

Время последнего обращения к файлу (Access time).

Время создания файла.

Время последней модификации файла.

Время удаления файла.

Идентификатор группы (GID).

Счетчик числа связей (Links count ).

Число блоков, занимаемых файлом.

Флагифайла (File flags)

Зарезервировано для ОС

Указатели на блоки, в которых записаны данные файла (пример прямой и косвенной адресации на рис.1)

Версия файла (для NFS)

ACL файла

ACL каталога

Адресфрагмента (Fragment address)

Номерфрагмента (Fragment number)

Размер фрагмента (Fragment size )

Каталоги

Каталоги являются файлами.

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

Когда какой-либо пpоцесс использует путь к файлу, ядpо ищет в каталогах соответствующий номеp индексного дескpиптоpа. После того, как имя файла было пpеобpазовано в номеp индексного дескpиптоpа, этот дескpиптоp помещается в память и затем используется в последующих запpосах.

Дополнительные возможности EXT2 FS

В дополнение к стандаpтным возможностям Unix, EXT2fs пpедоставляет некотоpые дополнительные возможности, обычно не поддеpживаемые файловыми системами Unix.

Файловые атpибуты позволяют изменять pеакцию ядpа пpи pаботе с набоpами файлов. Можно установить атpибуты на файл или каталог. Во втоpом случае, файлы, создаваемые в этом каталоге, наследуют эти атpибуты.

Во вpемя монтиpования системы могут быть установлены некотоpые особенности, связанные с файловыми атpибутами. Опция mount позволяет администpатоpу выбpать особенности создания файлов. В файловой системе с особенностями BSD, файлы создаются с тем же идентификатоpом гpуппы, как и у pодительского каталога. Особенности System V несколько сложнее. Если у каталога бит setgid установен, то создаваемые файлы наседуют идентификатоp гpуппы этого каталога, а подкаталоги наследуют идентификатоp гpуппы и бит setgid. В пpотивном случае, файлы и каталоги создаются с основным идентификатоpом гpуппы вызывающего пpоцесса.

В системе EXT2fs может использоваться синхpонная модификация данных, подобная системе BSD. Опция mount позволяет администpатоpу указывать чтобы все данные (индексные дескpиптоpы, блоки битов, косвенные блоки и блоки каталогов) записывались на диск синхpонно пpи их модификации. Это может быть использовано для достижения высокой потности записи инфоpмации, но также пpиводит к ухудшению пpоизводительности. В действительности, эта функция обычно не используется, так как кpоме ухудшения пpоизводительности, это может пpивести к потеpе данных пользователей, котоpые не помечаются пpи пpовеpке файловой системы.

EXT2fs позволяет пpи создании файловой системы выбpать pазмеp логического блока. Он может быть pазмеpом 1024, 2048 или 4096 байт. Использование блоков большого объема пpиводит к ускоpению опеpаций ввода/вывода (так как уменьшается количество запpосов к диску), и, следовательно, к меньшему пеpемещению головок. С дpугой стоpоны, использование блоков большого объема пpиводит к потеpе дискового пpостpанства. Обычно последний блок файла используется не полностью для хpанения инфоpмации, поэтому с увеличением объема блока, повышается объем теpяемого дискового пpостpанства.

EXT2fs позволяет использовать ускоpенные символические ссылки. Пpи пpименении таких ссылок, блоки данных файловой системы не используются. Имя файла назначения хpанится не в блоке данных, а в самом индексном дескpиптоpе. Такая стpуктуpа позволяет сохpанить дисковое пpостpанство и ускоpить обpаботку символических ссылок. Конечно, пpостpанство, заpезеpвиpованное под дескpиптоp, огpаничено, поэтому не каждая ссылка может быть пpедставлена как ускоpенная. Максимальная длина имени файла в ускоpенной ссылке pавна 60 символам. В ближайшем будующем планиpуется pасшиpить эту схему для файлов небольшого объема.

EXT2fs следит за состоянием файловой системы. Ядpо использует отдельное поле в супеpблоке для индикации состояния файловой системы. Если файловая система смонтиpована в pежиме read/write, то ее состояние устанавливается как "Not Clean". Если же она демонтиpована или смонтиpована заново в pежиме read-only, то ее состояние устанавливается в "Clean". Во вpемя загpузки системы и пpовеpке состояния файловой системы, эта инфоpмация используется для опpеделения необходимости пpовеpки файловой системы. Ядpо также помещает в это поле некотоpые ошибки. Пpи опpеделении ядpом несоответствия, файловая система помечается как "Erroneous". Пpогpамма пpовеpки файловой системы тестиpует эту инфоpмацию для пpовеpки системы, даже если ее состояние является в действительности "Clean".

Длительное игноpиpование тестиpования файловой системы иногда может пpивести к некотоpым тpудностям, поэтому EXT2fs включает в себя два метода для pегуляpной пpовеpки системы. В супеpблоке содеpжится счетчик монтиpования системы. Этот счетчик увеличивается каждый pаз, когда система монтиpуется в pежиме read/write. Если его значение достигает максимального (оно также хpанится в супеpблоке), то пpогpамма тестиpования файловой системы запускает ее пpовеpку, даже если ее состояние является "Clean". Последнее вpемя пpовеpки и максимальный интеpвал между пpовеpками также хpанится в супеpблоке. Когда же достигается максимальный интеpвал между пpовеpками, то состояние файловой системы игноpиpуется и запускается ее пpовеpка.

Оптимизация пpоизводительности

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

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

Система EXT2fs также содеpжит большое количество оптимизаций pазмещения инфоpмации. Гpуппы блоков используются для объединения соответствующих индексных дескpиптоpов и блоков данных. Ядpо всегда пытается pазместить блоки данных одного файла в одной гpуппе, так же как и его дескpиптоp. Это пpедназначено для уменьшения пеpемещения головок пpивода пpи считывании дескpиптоpа и соответствующих ему блоков данных.

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

ВВЕДЕНИЕ

В настоящее время наиболее распространенными являются персональные компьютеры (ПК) на базе процессора Pentium. На большинстве этих ПК устанавливается операционная система (ОС) Windows 95 или Windows 98 (Windows 9x или просто Windows). Windows является фактически стандартом для 32-разрядных персональных компьютеров. К настоящему времени разработано уже несколько версий системы.

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

Отличительными чертами современных операционных систем, в том числе Windows 9x, являются:

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

Многозадачность – способность обеспечивать выполнение нескольких программ «одновременно»;

Использование всех возможностей, предоставляемых современными микропроцессорами;

Устойчивость в работе и защищенность.

Windows 9x является преемницей и результатом слияния двух систем Windows 3.1x и MS-DOS. Разработчикам пришлось принять ряд компромиссов для обеспечения ее совместимости с названными системами:

Windows 9x начинает функционирование в реальном режиме, и лишь затем переходит в защищенный режим;

В основе Windows 9x лежит обновленная MS-DOS;

В Windows 9x имеется достаточное количество 16 – разрядных компонентов (модулей и драйверов устройств).

В основе ОС Windows 9x лежит объектно-ориентированный подход. Объектами являются документы, приложения, папки, файлы, ярлыки, диски и т. д. Открытие объекта –одно из основных понятий в системе. Выполняемые при этом действия зависят от разновидности объекта:

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

- открытие приложения - запуск его в работу;

- открытие папки состоит в отображении на экране ее содержимого, что позволяет осуществить любые действия с находящимися в ней объектами;

- открытие устройства ввода – вывода позволяет попасть в среду диспетчера, обеспечивающего управление этим устройством;

- открытие ярлыка во многих случаях равносильно открытию того объекта, для которого он создан.

При обработке документа можно использовать как процедурный, так и объектно-ориентированный подход. В первом случае необходимо знать, каким приложением следует обрабатывать документ. В другом случае при двойном щелчке на документе или созданном для него ярлыке запускается проассоциированное с ним приложение. Если Windows «не знает», какое приложение должно обрабатывать данный документ, предложит связать документ с определенным приложением.


КОМПОНЕНТЫ ФАЙЛОВОЙ СИСТЕМЫ

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

Файл - это поименованная совокупность однородной информации на внешнем носителе (например, на магнитном диске).

В имени файла (ОС Windows 9x) могут использоваться почти все печатаемые символы, но имеется ряд ограничений:

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

Имя файла не может начинаться с точки и ею заканчиваться;

В имени файла нельзя применять следующие символы: /, \, :, ?, ’’, <, >, |, так как они зарезервированы для других целей;

Длина имени файла не должна превышать (в общем случае) 255 символов.

Такие имена называются длинными. Например, Лабораторная работа №1 по дисциплине операционные системы.

Для каждого файла Windows 9x автоматически генерирует короткое имя, которое формируется, исходя из требований ОС MS-DOS, и используется для обеспечения совместимости операционных систем. Оно содержит не более 8 символов. Кроме символов, запрещенных в длинных именах, не допускается использовать символы;, +, [, ], =, «точка», «запятая», «пробел». Короткое имя начинается, как и длинное, далее следует символ ~ и порядковый номер (всего не более 8 символов). При этом запрещенные символы опускаются, строчные буквы перекодируются в прописные. Например, PRIMER~1 может соответствовать длинному имени файла, начинающемуся буквами Primer. Если есть еще такой файл, то его короткое имя будет PRIMER~2.

Запрещенными являются имена, зарезервированные для устройств ввода-вывода: PRN (принтер), CON (консоль, т.е. клавиатура и монитор), NUL (фиктивное устройство), LPT1 –LPT3 (первый – третий параллельный порт), COM1 – COM3 (первый – третий последовательный порт). Символами латинского алфавита A:, B:, C:, D: и т.д. именуются внешние запоминающие устройства.

Если в имени файла присутствует хоть одна точка, то считается, что оно снабжено расширением, в соответствии с характером хранимой информации. Расширением имени файла является последовательность символов, находящаяся после последней заданной в имени точки. Точка рассматривается как разделитель имени и расширения. Задание расширения осуществляет либо сам пользователь, либо программа, порождающая файл. Лучше использовать стандартные 1 – 3х символьные расширения, так как становится понятным тип файла, например:

ВАТ для командных файлов;

DOC для файлов, содержащих различные документы в формате редактора Microsoft Word;

PAS для программ, написанных на языке PASCAL; -

PCX для файлов с иллюстрацией в формате растрового графического редактора Publishers Paintbrush;

ВАК для файлов с предыдущей версией документа (резервные файлы);

ЕХЕ для файлов, с готовой к выполнению программой

СОМ для файлов, с готовой к выполнению программой только в среде MS-DOS.

В настоящее время для программ, готовых к выполнению под управлением операционной системы, используют термин приложение (application), например, Windows - приложение

Пример файла: COMMAND.COM, COMMAND - имя файла, СОМ – расширение.

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

Атрибуты файла;

Дата и время его создания;

Дата и время модификации файла;

Дата последнего доступа к файлу (по чтению или записи);

Длина, или размер файла (в байтах).

Атрибуты файла определяют способы его использования и права доступа к нему. В Windows 9x атрибуты играют скорее информационную роль, чем защитную, как в среде MS-DOS. Файлу может быть приписана любая комбинация из перечисленных ниже атрибутов:

Read-Only [R] (Только чтение) - устанавливает защиту файла от записи, файл не может быть удален, перемещен или изменен без специальных мер;

Archive [A] (Архивный) - устанавливает для файла архивный статус, устанавливается автоматически при создании или модификации файла, снимается средствами архивирования или резервирования;

Hidden [H] (Скрытый) – скрытые файлы, если не предпринять специальных мер, в папках не показываются.

System [S] (Системный) – атрибут, которым снабжаются системные файлы.

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

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

*.ТХТ - все файлы типа ТХТ;

А?.* - все файлы, имена которых начинаются с буквы А и состоят из одной или двух букв.

1.2. Папки (каталоги)

По мере роста задач число файлов на диске сильно возрастает и, даже при умело подобранных именах файлов, становится сложно следить за порядком на диске и ориентироваться в файлах. Группа файлов на одном носителе, объединяемых по какому-либо критерию, может храниться в папке (folders). В MS-DOS использовалось понятие каталог или директорий (directory). Аналогия между папками и каталогами не является полной. Каждый каталог можно считать папкой, но не каждой папке соответствует каталог на диске, а если и соответствует, то он может находиться в совершенно ином месте файловой структуры. Если в папке (каталоге) хранится имя файла, то говорят, что этот файл находится в данном каталоге. Каждая папка в Windows 9x имеет пиктограмму и имя также как и файл (но, как правило, без расширения).

(Любая) папка может быть зарегистрирована в другой папке. Поэтому файловая структура на дисках является иерархической многоуровневой или древовидной, в корне которой находится главная папка , или корневой каталог (ROOT DIRECTORY) На каждом диске имеется одна такая папка, которая обозначается символом " \ ". Корневой каталог создается при форматировании диска и не может быть ни переименован, ни удален. Следует заметить, что на гибких магнитных дисках папки создавать не принято.

Если одна папка непосредственно содержится в другой, то первая называется дочерней (подкаталог), а вторая – родительской (надкаталог) по отношению к первой папке. В MS-DOS для обозначения родительского каталога используется символ "..".

MS-DOS поддерживает концепцию текущего накопителя и текущих каталогов . Первоначально текущим является накопитель, с которого производилась загрузка системы, и соответственно каталог. Каталог, с которым в настоящий момент работает пользователь, называется текущим. Точно также определяется текущий накопитель. Текущий каталог текущего диска называется рабочим. Windows также поддерживает эту концепцию, но несколько иначе.Например, смена рабочей папки в приложениях происходит неявно – при открытии и сохранении документов.

Пример фрагмента файловой структуры на диске приведен на рис. 1.


Рис. 1

На рис.1 каталог Documents зарегистрирован в каталоге My folder, поэтому говорят, что Documents - подкаталог My folder, а My folder - надкаталог, или родительский каталог, для Documents.

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

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

[диск:][полный_маршрут\]имя.тип.

В квадратных кавычках обозначаются необязательные параметры.

Если в полном имени используются символы, недопустимые для коротких имен (в среде MS-DOS), спецификацию необходимо заключать в кавычки.

Пример полного имени файла: A:\PROGRAM\PASCAL\LAB.PAS.

Например, к файлу DEMO.EXE, находящемуся в подкаталоге PROGRAM, можно обращаться:

DEMO.EXE, если текущим является каталог PROGRAM;

PROGRAM\DEMO.EXE, если текущий каталог корневой;

-..\demo.exe, если текущий каталог PASCAL.

1.3. Ярлыки

Средствами Windows 9x обеспечивается на дисках создание еще одного компонента файловой системы – ярлыков. Ярлык (shortcut) представляет собой файл, содержащий указатель (ссылку) на некоторый объект в дереве ресурсов – другой файл, папку или периферийное устройство. (Файловые структуры всех доступных дисков, а также некоторые устройства ввода – вывода объединяются в дерево ресурсов .) Одному объекту может соответствовать несколько ярлыков, находящихся в разных папках. При удалении ярлыка уничтожается только ссылка на объект, который при этом никак не изменяется. При двойном щелчке на ярлыке документа будет неявно запущено приложение, которое связано с этим документом, а сам документ загружен в него для обработки. Чаще всего ярлыки размещают на рабочем столе, чтобы облегчить доступ к постоянно используемым объектам. Именуется ярлык по тем же правилам, что и файл, но ему приписывается стандартное расширение LNK (от LiNK –связь). Пиктограмма ярлыка совпадает с пиктограммой объекта, для которого ярлык создан, но имеет загнутую стрелку в левом нижнем углу.

Если ярлык создается для приложения MS-DOS или командного файла, то вместо ярлыка формируется файл с расширением PIF. Этот файл в среде Windows 95 может рассматриваться как ярлык специального вида, ссылающийся на исполняемый файл для среды MS-DOS.

1.4. Рабочий стол

После загрузки системы Windows 9x на экране монитора показывается Рабочий стол (Desktop), (как считается) самая большая папка. Рабочий стол и сам является объектом системы, но в отличие от объектов, находящихся на нем, он не может быть перенесен или скопирован ни в один из них. На рабочем столе допускаются размещать любые объекты из дерева ресурсов, обычно на нем находятся только стандартные (системные) папки и ярлыки для тех объектов, доступ к которым осуществляется наиболее часто.

Стандартная (системная) папка – это папка, создаваемая и обслуживаемая самой Windows. Приведем некоторые из стандартных папок, размещенных на рабочем столе:

Папка Мой компьютер (My computer) – является образом компьютера и позволяет получить доступ к его ресурсам. Получив доступ к некоторому объекту, можно выполнить с ним требуемые операции или изменить его свойства;

Папка Корзина (Recycle Bin). В эту папку попадают удаляемые файлы и ярлыки, чтобы имелась возможность их при необходимости восстановить. Размер корзины регулируется.

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

Контрольные вопросы:

1. Что такое файл, имя и расширение файла, шаблон?

2. Какие файлы называются исполняемыми?

3. Что такое папка (каталог), подкаталог, корневой и родительский каталог?

4. Какие папки являются стандартными?

5. Дать определение спецификации, или полного имени файла.

6. Что такое ярлык?


КОМАНДЫ MS-DOS

Запуск команд производится из командной строки после получения приглашения к работе или из командного файла. Приглашение выдается, когда ОС готова к работе.

Формат команд MS-DOS:

команда [параметры] .

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

Существуют два типа команд MS-DOS: встроенные (внутренние) и загружаемые (внешние). Встроенные команды - простейшие, наиболее часто употребляемые, являющиеся составной частью командного процессора сommand.com и в каталоге не отображаются. (Например, DIR, COPY, DEL и другие.) К загружаемым командам относятся остальные команды, постоянно хранящиеся в файлах на диске (например, FORMAT).Прежде чем запустить на выполнение эти команды, необходимо убедиться в их наличии на диске. Рассмотрим некоторые команды MS-DOS.

3.1 Для смены текущего дисковода надо набрать имя дисковода, который должен стать текущим, затем символ ":" .

Например,

команда осуществляет переход с диска A: на диск С:.

3.2 Изменение текущего каталога

CD (CHDIR) [дисковод:] путь

Например,

CD PROGRAM - переход в подкаталог PROGRAM;

CD.. - переход в родительский каталог.

3.3 Вывод файла на экран.

TYPE [дисковод:][маршрут\]имя.тип.

Например,

TYPE \PROGRAM\PASCAL\lab.txt ;

TYPE AUTOEXEC.BAT .

2.4 Удаление файла или группы файлов

DEL [дисковод:][маршрут\]имя.тип.

В этой команде допускается использование шаблона.

Например,

DEL*.* - удаление всех файлов текущего каталога.

2.5 Просмотр каталога

DIR [дисковод:][маршрут\][имя.тип] .

Для каждого файла команда сообщает его имя, тип, размер файла в байтах, дату создания и время создания или последнего обновления файла. В конце сообщается о размере свободного пространства. Ключ ""/P "" останавливает ввод содержимого каталога по мере заполнения экрана, для продолжения ввода нажать любую клавишу. При использовании ключа " /W " на экран выводятся только имена файлов (и расширения) по 5 в строку.

2.6 Создание подкаталога

MD (MKDIR) [дисковод:] путь

2.7 Удаление подкаталога

RD (RMDIR) [дисковод:] путь

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

2.8 Переименование файлов

REN[диск:][ маршрут\]старое_имя новое_имя.

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

2.9 Очистка экрана

2.10 Вывод версии операционной системы

При вводе этой команды на экране появляется номер версии операционной системы, который зависит от года создания версии. Знание версии необходимо, так как средства год от года наращиваются и команды и программы, написанные для более поздних версий, не будут работать вообще или выполняться по-другому.

2.11 Установка текущего времени

TIME [чч:mm:cc:дд]

Этой командой устанавливается текущее время при загрузке MS-DOS или в любой другой момент работы на машине. При запуске команды без параметров выдается текущее время и запрашивается новое, нажав на клавишу , можно согласиться с текущим временем.

2.12 Установка текущей даты

DATE [мм:дд:гг]

Команда устанавливает текущую дату аналогично команде TIME по установлению текущего времени.

2.13 Просмотр дерева подкаталогов

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

2.14 Копирование отдельных файлов

Команда COPY позволяет копировать файлы с диска на диск, осуществлять обмен данными между периферийными устройствами и объединять данные в процессе копирования.

COPY [диск:][маршрут\]исф[диск:][ маршрут \][инф] ,

где исф - имя старого файла с расширением, инф - имя нового файла с расширением. Ключ /V позволяет производить копирование с проверкой правильности копирования. В этой команде допускается использование шаблона.

При использовании команды COPY для обмена информацией между периферийными устройствами вместо имен файлов подставляют в команду специальные имена CON, PRN, NIL и др., которые имеют следующие значения:

CON - консоль: клавиатура для ввода данных, видеодисплей для вывода результатов и контроля диалога;

PRN -основной принтер, связанный с вашей системой;

NUL -псевдоустройство (несуществующее) для тестирования программ.

Команда COPY позволяет объединить несколько файлов в один знаком "+". При таком объединении (конкатенации) исходные файлы не меняются, а в новый файл будут записаны текущее время и дата.

1) COPY PASCAL\*.PAS B: ,

происходит копирование всех файлов с типом PAS из подкаталога PASCAL на диск В:

2) COPY FILE.EXT PRN ,

вывод файла FILE.EXT на печать.

3) COPY CON FILE.EXT ,

ввод данных с клавиатуры в файл FILE.EXT, при этом конец файла порождает комбинация клавиш (создание файла в MS-DOS).

4) COPY FILE1.EXT+FILE2.EXT+FILE3.EXT BOOK.EXT ,

объединение нескольких файлов в один BOOK.EXT.

2.15 Защита файлов от записи

ATTRIB [+R ¦ -R] [+A ¦-A] [ диск:][маршрут\]имя_файла.

R - устанавливает защиту файла от записи;

R - отменяет защиту файла от записи;

A - устанавливает для файла архивный статус;

A - отменяет для файла архивный статус;

ATTRIB +R FILE.EXT - нельзя записывать информацию в этот файл;

ATTRIB FILE.EXT -делается запрос о возможности записи данных в FILE.EXT. Ответ операционной системы:

R_A:\FILE.EXT , т.е. файл недоступен для записи.

2.16. Переадресация данных:

> - переадресовать выходные данные. Данные, которые всегда выводятся на экран, перенаправляются на периферийное устройство или дисковый файл. В последнем случае файл при необходимости создаётся. Если файл существует, то старые данные замещаются на новые.

TYPE FILE.TXT > PRN

ECHO Завтра собрание группы > PRN

>> - выходные данные также перенаправляются, но если файл уже существует, то данные добавляются к старым данным.

< - переадресовать входные данные. Данные будут приниматься не с клавиатуры, а с периферийного устройства или из дискового файла.

PROGRAM < FILE.TXT

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

2.17. Организация конвейеров.

Можно выстроить команды или программы в цепочку так, что вывод на экран первой из них будет использован как ввод с клавиатуры для следующей A1|A2|A3.

ECHO Y | DEL *.* >NUL – автоматически ответит Y (Да) на запрос «Вы уверены…» при удалении всех элементов каталога.

Происходит по (конвейеру) | передача данных из одной программы в другую. Гораздо эффективнее использование | (конвейера) с командами фильтрами и переадресации.

2.18.Фильтры FIND, MORE, SORT.

а) Поиск указанных данных в дисковом файле (номер телефона, адрес, любая фраза):

FIND “фраза” [путь\] имя файла,

где /C – счётчик обнаружения, т.е. сколько раз обнаружена фраза, а сами строки не выводятся;

/N – выводится ещё и номер строки (кроме самой строки);

/V – выводятся все строки, не содержащие данную фразу.

FIND “группа” FILE.TXT – выводится строка из файла, содержащая слово “группа”.

DIR | FIND /V “COM” – выводятся на экран все файлы, кроме файлов с расширением COM.

FIND “car” AB.DAT, B.DAT, C.DAT – расходы на автомобиль.

б) Постраничный вывод на экран

MORE < FILE.TXT

TYPE FILE.EXT | MORE

в) Сортировка данных.

SORT (по умолчанию сортировка по 1 символу по алфавиту в порядке возрастания),

где /R - сортировка по убыванию;

/+n – начиная с колонки n, в строке будет происходить сортировка.

ввод информации с клавиатуры, Ù Z – признак конца вводимой информации.

Это желательно записать в файл, т.е. SORT < CON > FILE.TXT.

DIR | SORT – отсортированы элементы каталога по именам файлов (каталогов).

DIR | SORT /+10 > FILE.EXT -

список файлов будет упорядочен по расширениям (WINDOWS 9X).

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

Перечислим основные функции файловой системы.

1. Идентификация файлов. Связывание имени файла с выделенным ему пространством внешней памяти.

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

3. Обеспечение надежности и отказоустойчивости. Стоимость информации может во много раз превышать стоимость компьютера.

4. Обеспечение защиты от несанкционированного доступа.

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

6. Обеспечение высокой производительности.

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

37. Простейшая таблица оглавления тома и её элементы

Файловая система включает в себя таблицу содержания и область данных – совокупность блоков на диске, идентифицируемых своими номерами / адресами. Пример простейшей (абстрактной) таблицы содержания, оглавления тома (диска, пакета дисков), которая в разных ОС имеет различные наименования – VTOC – Volume Table of Content(Таблица Содержания Тома), FAT – File Allocation Table (Таблица Размещения Файлов), FDT – File Definition Table (Таблица Определения Файлов) и т. п., приведена на рис. 1.

Рис. 1. Простейшая таблица оглавления тома

Она состоит из трех областей:

· область файлов. Это таблица, имеющая обычно ограниченное (в приведенном примере N =6) число строк N (в MS-DOS, например, N =500, т.е. число файлов не более 500). Количество столбцов M (в примере M= 5)обычно выбирается из тех соображений, чтобы 85 -95%файлом, создаваемых пользователем содержало бы не более М блоков, что зависит как от размера блока и типа пользователя, так и от общего уровня развития информационного и программного обеспечения. Первый столбец таблицы в каждой строке (заглавная запись – Title Record) содержит данные о файле, в данном примере – имя файла;

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

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

· список сбойных блоков. Это таблица, создаваемая при инициа­лизации (разметке) тома (диска), пополняемая программами диагностики (примером которых может служить хорошо изве­стный пользователям NDD - Norton Disk Doctor) и предот­вращающая распределение испорченных областей на магнит­ном носителе под файлы данных.

Перечислим особенности ситуации, зафиксированной на рис.1. в простейшей (искусственной) файловой системе.

File_l занимает 6 блоков, это число больше максимального, по­этому адрес блока № 6 (23) размещен в таблице переполнения;

File_2 занимает 2 блока, что меньше ограничения, поэтому вся информация сосредоточена в области файлов.

Имеются следующие конфликтные ситуации:

· File_3 не содержит ни одного блока (следовательно, файл был удален, но заглавная запись сохранилась);

· File_4 и File_l ссылаются на блок № 3. Это ошибка, посколь­ку каждый блок должен быть закреплен за единственным фай­лом;

· в списке свободных блоков содержатся номера блоков № 12 (помеченный как сбойный) и № 13 (распределенный под File_1).

38. Логическая структура разделов диска на примере IBM- и MS-совместимых файловых систем


Логическими дисками D и E

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

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

Запись расширенного раздела называют SMBR (Secondary Master Boot Record ). Отличие этой записи заключается в том, что она не имеет загрузчика, а таблица разделов состоит из двух записей: основной раздел и расширенный раздел.

39. Файловая система FAT. Структура тома FAT

40. Файловая система NTFS. Структура тома NTFS

41. Реестр ОС Windows

42. Операционные системы семейства Windows NT

43. Некоторые архитектурные модули Windows NT

44. Управление жесткими дисками в Windows NT

45. Проективные операционные системы, их принципы, преимущества, недостатки

46. Процедурные операционные системы, их принципы, преимущества, недостатки

47. История развития и идеология построения ОС Unix

48. Структура ОС Unix

49. Пользовательские интерфейсы Unix

50. Диспетчеризация процессов (задач) в Unix

51. ОС Linux и ее основные преимущества

52. Реализация графического режима в ОС Linux

53. Основные принципы работы в ОС Linux

54. Основные файлы конфигурации ОС Linux

55. Работа с дисковыми накопителями в ОС Linux

56. Приложения для ОС Linux

Общие сведения о файловых системах

Операционная система Windows 8, поддерживает несколько файловых систем: NTFS, FAT и FAT32 . Но работать может только на NTFS , то есть установлена может быть только на раздел жесткого дис­ка, отформатированного в данной файловой системе. Обусловлено это теми особенностями и инструментами безопасности, которые преду­смотрены в NTFS , но отсутствуют в файловых системах Windows предыдущего поколения: FAT16 и FAT32 . Далее мы остановим­ся на всей линейке файловых систем для Windows, чтобы понять, какую роль они играют в работе системы и как они развивались в про­цессе становления Windows плоть до Windows 8.

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

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


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

Файловая система FAT для современных жест­ких дисков просто не подходит (ввиду ее ограниченных возможностей). Что касается FAT32 , то ее еще можно использовать, но уже с натяжкой. Если купить жесткий диск на 1000 ГБ, то вам придется разбивать его как минимум на несколько разделов. А если вы собираетесь заниматься видеомонтажом, то вам будет очень мешать ограничение в 4 Гб как максимально возможный размер файла .

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

Файловая
система
Параметры
Размеры тома Максимальный размер файла
FAT От 1.44 МБ до 4 ГБ 2ГБ
FAT32 Теоретически возможен размер тома от 512 МБ до 2 Тбайт. Сжатие не поддерживается на уровне файловой системы 4ГБ
NTFS Минимальный рекомендуемый размер составляет 1,44 МБ, а максимальный - 2 Тбайт. Поддержка сжатия на уровне файловой системы для файлов, каталогов и томов. Максимальный размер ограничен лишь размером тома (Теоретически - 264 байт минус 1 килобайт. Практически - 244 байт минус 64 килобайта)

Вообще использование FAT32 может быть оправдано лишь в тех случаях, когда у вас на компьютере установлено несколько операционных систем, а какая-либо из них не поддерживает NTFS . Но на сегодняшний день таких практически нет. Разве что вы захотите установить у себя антиквариат типа Windows 98.

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

Файловая система FAT (обычно под ней понимается FAT 16 ) была разработана достаточно давно и предназначалась для работы с небольшими дисковыми и файловыми объемами, простой структурой каталогов. Аббревиатура FAT расшифровывается как File Allocation Table (с англ. таблица размещения файлов). Эта таблица размещается в начале тома, причем хранятся две ее копии (в целях обеспечения большей устойчивости).
 Данная таблица используется операционной системой для поиска файла и определения его физического расположения на жестком диске. В случае повреждения таблицы (и ее копии) чтение файлов операционной системой становится невозможно. Она просто не может определить, где какой файл, где он начинается и где заканчивается. В таких случаях говорят, что файловая система «упала».
 Файловая система FAT изначально разрабатывалась компанией Microsoft для дискет. Только потом они стали ее применять для жестких дисков. Сначала это была FAT12 (для дискет и жестких дисков до 16 МБ), а потом она переросла в FAT16 , которая была введена в эксплуатацию с операционной системой MS-DOS 3.0.

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

Начиная с Windows 95 OSR2, компания Microsoft начинает активно ис­пользовать в своих операционных системах FAT32 - тридцатидвухраз­рядную версию FAT . Что поделать, технический прогресс не стоит на месте и возможностей FAT 16 стало явно недостаточно.
 По сравнению с ней FAT32 стала обеспечивать более оптимальный до­ступ к дискам, более высокую скорость выполнения операций ввода/вывода, а также поддержку больших файловых объемов (объем диска до 2 Тбайт).
 В FAT32 реализовано более эффективное расходование дискового пространства (путем использования более мелких кластеров). Выгода по сравнению с FAT16 составляет порядка 10...15%. То есть при использовании FAT32 на один и тот же диск может быть записано информации на 10... 15% больше, чем при использовании FAT16.
 Кроме того, необходимо отметить, что FAT32 обеспечивает более вы­сокую надежность работы и более высокую скорость запуска программ.
 Обусловлено это двумя существенными нововведениями:
  возможностью перемещения корневого каталога и резервной копии FAT (если основная копия получила повреждения)

Возможностью хранения резервной копии системных данных.

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

 Общие сведения
 Ни одна из версий FAT не обеспечивает хоть сколько-нибудь приемле­мого уровня безопасности. Это, а также необходимость в добавочных файловых механизмах (сжатия, шифрования) привело к необходимости создания принципиально новой файловой системы. И ею стала фай­ловая система NT (NTFS)
NTFS - от англ. New Technology File System - файловая система новой технологии
 Как уже упоминалось, основным ее достоинством является защищен­ность: для файлов и папок NTFS могут быть назначены права доступа (на чтение, на запись и т.д.). Благодаря этому существенно повысилась безопасность данных и устойчивость работы системы.  Назначение прав доступа позволяет запретить/разрешить каким-либо пользователям и программам проделывать какие-либо операции над файлами. Например, не обладая достаточными правами, посторонний пользователь не сможет изменить какой-либо файл. Или, опять же не обладая достаточными правами, вирус не сможет испортить файл.
 Кроме того, NTFS , как было сказано выше, обеспечивает лучшую про­изводительность и возможность работы с большими объемами данных.

Начиная с Windows 2000, используется версия NTFS 5.0 , которая, помимо стандартных, позволяет реализовывать следующие возможности:

Шифрование данных - эта возможность реализуется специальной надстройкой NTFS, которая называется Encrypting File System (EFS) - шифрующая файловая система. Благодаря этому механизму шифрованные данные могут быть прочитаны только на компьютере, на котором произошла шифровка.
Дисковые квоты - стало возможно назначать пользователям определенный (ограниченный) размер на диске, который они могут использовать.
Эффективное хранение разреженных файлов . Встречаются файлы, в которых содержится большое количество последовательных пустых байтов. Файловая система NTFS позволяет оптимизировать их хранение.

Использование журнала изменений - позволяет регистрировать все операции доступа к файлам и томам.

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

 ■ Напоследок необходимо иметь в виду, что если для файла под NTFS были установлены определенные права доступа, а потом вы его скопировали на раздел FAT, то все его права доступа и другие уникальные атрибуты, присущие NTFS, будут утеряны. Так что будьте бдительны.

Устройство NTFS. Главная таблица файлов MFT.
 Как и любая другая файловая система, NTFS делит все полезное место на кластеры - минимальные блоки данных, на которые разбиваются файлы. NTFS поддерживает почти любые размеры кластеров - от 512 байт до 64 Кбайт. Однако общепринятым стандартом считается кластер размером 4 Кбайт. Именно он используется по умолчанию. Принцип существования кластеров можно проиллюстрировать следующим при­мером.
 Если у вас размер кластера составляет 4 Кбайт (что скорее всего), а вам нужно сохранить файл, размером 5 Кбайт, то реально под него будет вы­делено 8 Кбайт, так как в один кластер он не помещается, а под файл дисковое пространство выделяется только кластерами.
 Для каждого NTFS-диска имеется специальный файл - MFT (Master Allocation Table - главная таблица файлов) . В этом файле содержится централизованный каталог всех имеющихся на диске файлов. При создании файла NTFS создает и заполняет в MFT соответствующую запись, в которой содержится информация об атрибутах файла, содержимом файла, имя файла и т.п.

Помимо MFT , имеется еще 15 специальных файлов (вместе с MFT - 16), которые недоступны операционной системе и называются метафайлами . Имена всех метафайлов начинаются с символа $ , но стандартными средствами операционной системы просмотреть их и вообще увидеть не представляется возможным. Далее для примера представлены основные метафайлы:

SMFT - сам MFT.
$MFTmirr - копия первых 16 записей MFT, размещенная посе­редине диска (зеркало).
$LogFile - файл поддержки журналирования.
$Volume - служебная информация: метка тома, версия файловой системы, и т.д.
$AttrDef - список стандартных атрибутов файлов на томе.
$. - корневой каталог.
$Bitmap - карта свободного места тома.
$Boot - загрузочный сектор (если раздел загрузочный).
$Quota - файл, в котором записаны права пользователей на ис­пользование дискового пространства.
$Upcase - файл-таблица соответствия заглавных и прописных букв в именах файлов на текущем томе.
Нужен в основном потому, что в NTFS имена файлов записываются в кодировке Unicode , которую составляют 65 тысяч различных символов, искать большие и малые эквиваленты которых очень нетривиально.
 Что касается принципа организации данных на диске NTFS, то он условно делится на две части. Первые 12% диска отводятся под так называемую MFT-зону - пространство, в которое растет метафайл MFT.
 Запись каких-либо пользовательских данных в эту область невозможна. MFT-зона всегда держится пустой. Это делается для того, чтобы самый главный служебный файл (MFT) не фрагментировался при своем росте. Остальные 88% диска представляют собой обычное пространство для хранения файлов.
  Однако при нехватке дискового пространства MFT-зона может сама уменьшаться (если это возможно), так что никакого дискомфорта вы замечать не будете. При этом новые данные уже будут записываться в бывшую MFT-зону.
В случае последующего высвобождения дискового пространства MFT-зона снова будет увеличиваться, однако в дефрагментированном виде (то есть не единым блоком, а несколькими частями на диске). В этом нет ничего страшного, просто считается, что система более надежна, когда MFT-файл не дефрагментирован. Кроме того, при не дефрагментированном MFT-файле вся файловая система работает быстрее. Соответственно чем более дефрагментированным является MFT-файл, тем медленней работает файловая система.

Что касается размера MFT-файла, то он примерно вычисляется, исходя из 1 МБ на 1000 файлов.

Конвертирование разделов FAT32 в NTFS без потери данных. Утилита convert

Вы можете без особого труда конвертировать существующий FAT32-раздел в NTFS. Для этого в Windows 8, Windows 8.1 предусмотрена утилита командной строки convert

Параметры ее работы показаны на скриншоте

Таким образом, чтобы конвертировать в NTFS диск D:, в командную строку следует ввести следующую команду:

После этого от вас попросят ввести метку тома, если такая есть (метка тома указывается рядом с именем диска в окне Мой компьютер . Она служит для более подробного обозначения дисков и может использоваться, а может не использоваться. Например, это может быть Files Storage (D: ).
 Для конвертации флешки команда выглядит так:

convert e : /fs:ntfs /nosecurity /x

Файловая система позволяет систематизировать программы и данные и организовать упорядоченное управление этими объектами.

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

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

Файловая система – это система управления данными.

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

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

Файловая система (назначение):

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

Файловая структура

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

Используется древовидная структура каталогов – дерево каталогов . Заимствована у Unix. Иерархическая структура – структура системы, части (компоненты) которой связаны отношениями включения или подчинения.

Иерархическая структура изображается ориентированным деревом, в котором вершины соответствуют компонентам, а дуги – связям.

дерево каталогов диска G

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

Деревья используются при описании и проектировании иерархических структур.

Корень – начальная позиция, листья – заключительная позиция.

Разделы

Любой жесткий или магнитооптический диск в процессе форматирования можно разделить на несколько частей и работать с ними как с отдельными (самостоятельными) дисками. Эти части называются разделами или логическими дисками . Разбиение диска на несколько логических дисков может быть необходимо из-за того, что ОС не могут работать с дисками, размер которых превышает определенную величину. Очень удобно хранить данные и пользовательские программы отдельно от системных программ (ОС), ведь ОС может «слететь с компьютера».

Раздел – область диска. Под логическим диском(разделом) в компьютере понимается любой носитель информации, с которым операционная система работает как с единым целым объектом.

Имя диска – обозначение логического диска; запись в корневом каталоге.

Логические диски (разделы) обозначаются латинскими буквами A, B, C, D, E, … (32 буквы от A до Z).

Буквы A, B зарезервированы для обозначения дискет.

С – жесткий диск, обычно с которого производится загрузка ОС.

Остальные буквы – логические диски, компакт-диски и т.д. Максимальное количество логических дисков для ОС Windows – бесконечное.

В таблице разделов указывается расположение начала и конца этого раздела и число секторов в этом разделе (место и размер).

Файловая структура логического диска

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

Элементы файловой структуры:

    стартовый сектор (начальной загрузки, Boot-сектор);

    таблица размещения файлов (FAT – File Allocation Table);

    корневой каталог (Root Directory);

    область данных (оставшееся свободным дисковое пространство).

Boot -сектор

Boot -сектор – первый (начальный) сектор диска. Находится на 0- стороне, 0-дорожке.

Boot-сектор содержит служебную информацию:

    размер кластера диска (кластер – блок, объединяющий в группу несколько секторов для сокращения размера FAT-таблицы);

    местоположение FAT-таблицы (в вoot-секторе находится указатель на то, где расположена FAT-таблица);

    размер FAT-таблицы;

    количество FAT-таблиц (всегда есть как минимум 2 копии таблицы для обеспечения надежности и безопасности, т.к. разрушение FAT ведет к потере информации и трудно восстанавливается);

    адрес начала корневой директории и ее максимальный размер.

В вoot-секторе находится блок начальной загрузки (загрузчик) – загрузочная запись Boot Record.

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

FAT (таблица размещения файлов)

FAT (File Allocation Table) – таблица размещения файлов. В ней определено, какие участки диска относятся к каждому файлу.Область данных диска представлена в ОС как последовательность пронумерованных кластеров.

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

Структура таблицы размещения файлов:

FAT состоит из элементов длиной 16 /32/64 бита. Всего в таблице может быть до 65520 таких элементов, каждый из них (кроме первых двух) соответствует кластеру диска. Кластер является той единицей, в которой распределяется пространство в области данных на диске для файлов и каталогов. Первые два элемента таблицы (с номерами 0 и 1) зарезервированы, а каждый из остальных элементов таблицы описывает состояние кластера диска с тем же номером. Элемент может указывать, что кластер свободен, что кластер дефектный, что кластер принадлежит файлу и является последним кластером в файле. Если кластер принадлежит файлу и не является его последним кластером, то элемент таблицы содержит номер следующего кластера в этом файле.

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

Для разных ОС необходимы разные версии FAT

Windows 95 FAT 16, FAT 32

Windows NT (XP) NTFS

Novell Netware TurboFAT

UNIX NFS,ReiserFS

Логическая структура носителя информации