Основные системные таблицы ввода-вывода

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

состав устройств ввода-вывода и методы их подключения;

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

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

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

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

данные о текущем процессе, который работает с данным устройством;

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

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

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

1-ая таблица (либо перечень) содержит информацию обо всех устройствах ввода-вывода, присоединенных к вычислительной системе – таблица оборудования (equipment table), а каждый элемент этой таблицы именуется UCB (Unit Основные системные таблицы ввода-вывода Control Block — блок управления устройством ввода-вывода). Каждый элемент UCB таблицы оборудования, обычно, содержит последующую информацию об устройстве:

тип устройства, его определенная модель, символическое имя и свойства устройства;

метод подключения устройства (через какой интерфейс, к какому разъему, какие порты и линия запроса прерывания употребляются и т. д.);

номер и Основные системные таблицы ввода-вывода адресок канала (и подканала), если такие употребляются для управления устройством;

информация о драйвере, который должен управлять этим устройством, адреса секции пуска и секции продолжения драйвера;

информация о том, употребляется либо нет буферизация при обмене данными с устройством, «имя» (либо просто адресок) буфера, если таковой выделяется из системной области памяти Основные системные таблицы ввода-вывода;

установка тайм-аута и ячейки для счетчика тайм-аута;

состояние устройства;

поле указателя для связи задач, ожидающих устройство;

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

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

Метод подключения устройства, его определенная модель и соответственный ей драйвер содержатся в первой таблице оборудования. Но для того чтоб связать некое виртуальное устройство, использованное программером, с системной таблицей, отображающей информацию о Основные системные таблицы ввода-вывода том, какое непосредственно устройство и каким образом подключено к компу, требуется 2-ая системная таблица – таблиц виртуальных логических устройств (Device Reference Table, DRT). Предназначение этой 2-ой таблицы — установление связи меж виртуальными (логическими) устройствами и реальными устройствами, описанными средством первой таблицы (таблицы оборудования). Другими словами, 2-ая таблица позволяет Основные системные таблицы ввода-вывода супервизору перенаправить запрос на ввод-вывод из приложения в те программные модули и структуры данных, которые (либо адреса которых) хранятся в соответственном элементе первой таблицы. В почти всех многопользовательских системах таких таблиц несколько: одна общая и по одной на каждого юзера, что позволяет строить нужные связи меж логическими устройствами Основные системные таблицы ввода-вывода (символьными именами устройств) и реальными физическими устройствами, которые имеются в системе.

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

Связи меж описанными таблицами изображены на рис. 3.

Рис. 3.

Запрос на операцию ввода-вывода от выполняющейся Основные системные таблицы ввода-вывода программки поступает на супервизор задач (шаг 1) (рис. 4).

Рис. 4

Этот запрос представляет собой воззвание к операционной системе и показывает на определенную функцию API. Вызов сопровождается некими параметрами, уточняющими требуемую операцию. Модуль операционной системы, принимающий от задач запросы на те либо другие деяния, нередко именуют супервизором задач. Супервизор задач инспектирует Основные системные таблицы ввода-вывода системный вызов на соответствие принятым спецификациям и в случае ошибки возвращает задачке соответственное сообщение (шаг 1-1). Если же запрос корректен, то он перенаправляется в супервизор ввода-вывода (шаг 2). Последний по логическому (виртуальному) имени при помощи таблицы DRT находит соответственный элемент UCB в таблице оборудования. Если устройство уже занято, то описатель задачки, запрос которой Основные системные таблицы ввода-вывода обрабатывается супервизором ввода-вывода, помещается в перечень задач, ожидающих это устройство. Если же устройство свободно, то супервизор ввода-вывода определяет из UCB тип устройства и по мере надобности запускает препроцессор, позволяющий получить последовательность управляющих кодов и данных, которую сумеет верно осознать и отработать устройство (шаг 3). Когда Основные системные таблицы ввода-вывода «программа» управления операцией ввода-вывода будет готова, супервизор ввода-вывода передает управление соответственному драйверу на секцию пуска (шаг 4), Драйвер инициализирует операцию управления, обнуляет счетчик тайм-аута и возвращает управление супервизору (диспетчеру задач) с тем, чтоб он поставил на микропроцессор готовую к выполнению задачку (шаг 5). Система работает своим чередом, но когда устройство ввода Основные системные таблицы ввода-вывода-вывода отработает посланную ему команду, оно выставляет сигнал запроса на прерывание, по которому через таблицу прерываний управление передается на секцию продолжения (шаг 6). Получив новейшую команду, устройство вновь начинает ее обрабатывать, а управление микропроцессором снова передается диспетчеру задач, и микропроцессор продолжает делать полезную работу. Таким макаром, выходит Основные системные таблицы ввода-вывода параллельная обработка задач, на фоне которой микропроцессор производит управление операциями ввода-вывода.

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

Синхронный и асинхронный ввод-вывод

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

Простым вариантом асинхронного вывода является так именуемый буферизо­ванный вывод данных на наружное устройство, при котором данные из приложения передаются не конкретно на устройство ввода-вывода, а в особый системный буфер — область памяти, отведенную для временного размещения передаваемых Основные системные таблицы ввода-вывода данных. В данном случае логически операция вывода для приложения считается выполненной сразу, и задачка может не ждать окончания реального процесса передачи данных на устройство. Реальным выводом данных из системного буфера занимается супервизор ввода-вывода. Естественно, что выделение буфера из системной области памяти берет на себя особый системный процесс по указанию Основные системные таблицы ввода-вывода супервизора ввода-вывода. Итак, для рассмотренного варианта вывод будет асинхронным, если, во-1-х, в запросе на ввод-вывод обозначено на необходимость буферизации данных, а во-2-х, устройство ввода-вывода допускает такие асинхронные операции, и это отмечено в UCB. Можно организовать и асинхронный ввод данных. Но для этого нужно Основные системные таблицы ввода-вывода не только лишь выделять область памяти для временного хранения считываемых с устройства данных и связывать выделенный буфер с задачей, заказавшей операцию, да и сам запрос на операцию ввода-вывода разбивать на две части (на два запроса). В первом запросе указывается операция на считывание данных, подобно тому как Основные системные таблицы ввода-вывода это делается при синхронном вводе-выводе, но тип (код) запроса употребляется другой, и в запросе указывается еще, по последней мере, один дополнительный параметр — имя (код) системного объекта, которое получает задачка в ответ на запрос и которое идентифицирует выделенный буфер. Получив имя буфера (будем так условно именовать этот системный объект Основные системные таблицы ввода-вывода, хотя в разных операционных системах употребляются и другие определения, к примеру «класс»), задачка продолжает свою работу. Тут очень принципиально выделить, что в итоге запроса на асинхронный ввод данных задачка не переводится супервизором ввода-вывода в состояние ожидания окончания операции ввода-вывода, а остается в состоянии выполнения либо в состоянии готовности Основные системные таблицы ввода-вывода к выполнению. Через некое время, выполнив нужный код, который был определен программером, задачка выдает 2-ой запрос на окончание операции ввода-вывода. В этом втором запросе к тому же устройству, который, естественно, имеет другой код (либо имя запроса), задачка показывает имя системного объекта (буфера для асинхронного ввода данных) и в случае Основные системные таблицы ввода-вывода удачного окончания операции считывания данных здесь же получает их из системного буфера. Если же данные еще не успели до конца переписаться с наружного устройства в системный буфер, супервизор ввода-вывода переводит задачку в состояние ожидания окончания операции ввода-вывода, и дальше все припоминает обыденный синхронный ввод данных.

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

Аппаратуру ввода-вывода можно рассматривать как совокупа аппаратных микропроцессоров Основные системные таблицы ввода-вывода, которые способны работать параллельно друг дружке, также параллельно центральному микропроцессору (микропроцессорам). На таких «процессорах» производятся так именуемые наружные процессы. К примеру, для печатающего устройства (наружное устройство вывода данных) наружный процесс может представлять собой совокупа операций, обеспечивающих перевод печатающей головки, продвижение бумаги на одну позицию, смену цвета чернил либо печать каких Основные системные таблицы ввода-вывода-либо знаков. Наружные процессы, используя аппаратуру ввода-вывода, ведут взаимодействие как меж собой, так и с обыкновенными «программными» процессами, выполняющимися на центральном микропроцессоре. Принципиальным при всем этом является событие, что скорости выполнения наружных процессов будут значительно (иногда на порядок либо больше) отличаться от скорости выполнения обыденных (внутренних) процессов. Для собственной Основные системные таблицы ввода-вывода обычной работы наружные и внутренние процессы непременно должны синхронизироваться. Для сглаживания эффекта значимого несоответствия скоростей меж внутренними и наружными процессами употребляют упомянутую выше буферизацию. Таким макаром, можно гласить о системе параллельных взаимодействующих процессов.

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

Лекция 7. Машинно-независимые характеристики ОС. Управление файлами.

1. Общий механизм работы ОС с файлами.

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

3. Файловые системы VFAT и FAT32.

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

5. Главные Основные системные таблицы ввода-вывода отличия FAT и NTFS.

6. Разделы диска. Дисковые утилиты.

1. Общий механизм работы ОС с файлами

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

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

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

в-3-х, благодаря использованию той либо другой системы управления файлами юзерам предоставляются последующие способности:

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

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

· обмен данными меж файлами, меж устройствами, меж файлом и устройством (и напротив);

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

· защита файлов от несанкционированного доступа.

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

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

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

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

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

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

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

Подразумевается, что чтение записей осуществляется программкой юзера поочередно с начала файла и до его конца. Логически файл состоит из записей длинноватой 1024 б; на физическом уровне, но, файл образован 8192 – байтовыми блоками, любой из которых содержит 8 логических записей.

Этот вид объединения записей в блоки обычно осуществляется определенными типами Основные системные таблицы ввода-вывода запоминающих устройств в целях экономии времени обработки и места памяти.

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

На позиции Б 1-ый блок прочитан. Он находится в буфере В1 и содержит логические записи с номерами от 1 до 8. Сейчас система управление файлами может передать требуемую запись программке юзера, зачем указатель Р устанавливается на первую запись. Для чтения Основные системные таблицы ввода-вывода в буфер В2 второго блока файла система управления файлами выдает 2-ой физический запрос на ввод – вывод.

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

Те же деяния повторяются и для других логических записей первого блока.

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

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

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

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

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

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

В файловой системе FAT логическое дисковое место хоть какого логического диска делится на две Основные системные таблицы ввода-вывода области: системную область и область данных.

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

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

загрузочной записи (boot record);

зарезервированных секторов (reserved sector);

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

корневого каталога (root derectory).

Таблица размещения файлов является очень принципиальной информационной структурой. Можно сказать, что она представляет собой карту (образ) области данных, в какой описывается состояние каждого участка области данных. Область Основные системные таблицы ввода-вывода данных разбивают на так именуемые кластеры. Кластер представляет собой один либо несколько смежных секторов в логическом дисковом адресном пространстве (поточнее – исключительно в области данных). В таблице FAT кластеры, принадлежащие одному файлу (некорневому каталогу), связываются в цепочки. Для указания номера кластера в системе управления файлами FAT -16 употребляется 16-битовое слово, как Основные системные таблицы ввода-вывода следует, можно иметь до 216 = 65536 кластеров (с номерами от 0 до 65535).

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

Емкость раздела, Мб Количество секторов в кластере Размер кластеров, Кб
16-127
128-255
256-511
512-1023
1024-2047

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

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

Но очень большой размер кластера ведет к неэффективному использованию области данных, в особенности в случае огромного количества малеханьких файлов; в среднем на каждый файл пропадает около половины кластера. Из таблицы следует, что при размере кластера в 32 сектора (объем раздела – от 512 Мбайт до 1023 Мбайт), другими словами Основные системные таблицы ввода-вывода 16 Кбайт, средняя вели чина утрат на файл составит 8 Кбайт, и при числе файлов в несколько тыщ утраты могут составлять более 100 Мбайт. Потому в современных файловых системах (к ним, сначала, следует отнести HPFS, NTFS, FAT32 и некие другие, поддерживаемые ОС семейства Unix) размеры кластеров ограничиваются (обычно - от 512 б до 4 Кбайт).

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

Из этого рисунка видно, что файл с именованием myfile.txt располагается начиная с восьмого кластера. Всего файл myfile.txt занимает 12 кластеров. Цепочка кластеров для нашего примера может быть записана последующим образом: 8, 9, 0А, 0В, 15, 16, 17, 19, 1А, 1В, 1С, 1D Основные системные таблицы ввода-вывода. Кластер с номером 18 помечен особым кодом F7 как нехороший (bad), он не может быть применен для размещения данных. При форматировании обычно проверяется поверхность магнитного диска, и те секторы, при контрольном чтении с которых происходили ошибки, помечаются в FAT как нехорошие. Кластер 1D помечен кодом FF как конечный (последний Основные системные таблицы ввода-вывода в цепочке) кластер, принадлежащий данному файлу. Свободные (незанятые) кластеры помечаются кодом 00; при выделении нового кластера для записи файла берется 1-ый свободный кластер. Так как файлы на диске меняются – удаляются, передвигаются, растут либо уменьшаются, – то упомянутое правило выделения первого свободного кластера для новейшей порции данных приводит к фрагментации файлов, другими словами Основные системные таблицы ввода-вывода данные 1-го файла могут размещаться не в смежных кластерах, а, иногда, в очень удаленных друг от друга, образуя сложные цепочки. Естественно, что это приводит к существенному замедлению работы с файлами.

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

В связи с чрезвычайной значимостью FAT она обычно хранится в 2-ух схожих экземплярах, 2-ой из которых конкретно следует за первым. Обновляются копии FAT сразу. Употребляется же только 1-ый экземпляр. Если он по любым причинам окажется разрушенным, то Основные системные таблицы ввода-вывода произойдет воззвание ко второму экземпляру. Так, к примеру, утилита проверки и восстановления файловой структуры scandisk.exe при обнаружении несоответствия первичной и запасной копии FAT предлагает вернуть главную таблицу, используя данные из копии.

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

Размер поля данных, б Содержания поля
Название файла либо каталога
Атрибуты файла
Запасное поле
Время сотворения
Дата сотворения
Дата последнего доступа
Зарезервировано
Время последней модификации
Дата Основные системные таблицы ввода-вывода последней модификации
Номер исходного кластера в FAT
Размер файла

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

3. Файловые системы VFAT и FAT32.

Одной из важных черт начальной ГАТ было внедрение названий файлов формата «8.3», в каком 8 знаков отводится на указание названии файла Основные системные таблицы ввода-вывода и 3 знака - для расширения имени. К стандартной FAT (имеется в виду сначала реализация FAT16) добавились еще две разновидности, применяемые в обширно всераспространенных операционных системах Windows (непосредственно – в Windows 95 и Windows NT): VFAT (виртуальная FAT) и FAT32, применяемая в одной из редакций ОС Windows 95 и Windows 98. Сейчас эта Основные системные таблицы ввода-вывода файловая система (FAT2) поддерживается и такими ОС, как Windows Millennium Edition, и всеми ОС семейства Windows 2000. Имеются реализации систем управления файлами для FAT32, Windows NT и ОС Linux.

Файловая система VFAT в первый раз появилась в Windows for Workgroup 3.11 и была создана для выполнения файлового ввода/вывода в защищенном Основные системные таблицы ввода-вывода режиме. С выходом Windows 95 в VFAT добавилась поддержка длинноватых названий файлов. Все же VFAT сохраняет сопоставимость с начальным вариантом FAT; это значит, что вместе с длинноватыми именами в ней поддерживаются имена формата «8.3», также существует особый механизм для преобразования имен «8.3» в длинноватые имена, и напротив. Конкретно файловая система VFAT поддерживается начальными версиями Основные системные таблицы ввода-вывода Windows 95, Windows NT 4.0. При работе с VFAT очень принципиально использовать файловые утилиты, поддерживающие VFAT вообщем и длинноватые имена а именно. Дело в том, что более ранешние файловые утилиты DOS просто видоизменят то, что кажется им начальной структурой FAT. Это может привести к потере либо порче длинноватых имен из таблицы Основные системные таблицы ввода-вывода FAT, поддерживаемой VFAT (либо FAT32). Как следует, для томов VFAT нужно воспользоваться файловыми утилитами, которые понимают и сохраняют файловую структуру VFAT.

В начальной версии Windows 95 основной файловой системой была 32-разрядная VFAT. VFAT может использовать 32-разрядные драйверы защищенного режима либо 16-разрядные драйверы реального режима. При всем этом элементы FAT Основные системные таблицы ввода-вывода остаются 12- либо 16-разрядными, потому на диске употребляется та же структура данных, что и в прошлых реализациях FAT. VFAT обрабатывает все воззвания к жесткому диску и употребляет 32-разрядный код для всех файловых операций с дисковыми томами.

Основными недочетами файловых систем FAT и VFAT являются огромные утраты на кластеризацию Основные системные таблицы ввода-вывода (фрагментацию) при огромных размерах логического диска и ограничения на сам размер логического диска. Это привело к разработке новейшей реализации файловой системы с внедрением той же идеи использования таблицы FAT. Потому в Windows 95 OSR2 на замену системе VFAT пришла файловая система FAT32. FAT32 является стопроцентно самостоятельной 32-разрядной файловой системой и содержит Основные системные таблицы ввода-вывода бессчетные усовершенствования и дополнения по сопоставлению с прошлыми реализациями FAT.

Принципное отличие состоит в том, что FAT32 намного эффективнее расходует дисковое место. Сначала, система FAT32 употребляет кластеры наименьшего размера по сопоставлению с прошлыми версиями, которые ограничивались 65535 кластерами на том (соответственно, с повышением размера диска приходилось наращивать и размер кластеров). В итоге Основные системные таблицы ввода-вывода по сопоставлению с дисками FAT16 экономится существенное дисковое место (в среднем 10-15 %).

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

Windows 95 OSR2 и Windows 98 могут работать и с разделами VFAT, сделанными Windows NT.

Не считая увеличения емкости FAT до величины в Основные системные таблицы ввода-вывода 4 Тбайт, файловая система FAT32 заносит ряд нужных усовершенствований в структуру корневого каталога. Прошлые реализации добивались, чтоб вся информация корневого каталога FAT находилась в одном дисковом кластере. При всем этом корневой каталог мог содержать менее 512 файлов. Необходимость представлять длинноватые имена и обеспечить сопоставимость с прежними версиями FAT привела разработчиков компании Основные системные таблицы ввода-вывода Microsoft к компромиссному решению: для представления длинноватого имени они стали использовать элементы каталога, в том числе и корневого. Разглядим метод представления в VFAT длинноватого названии файла.

В двенадцатом б элемента каталога хранятся атрибуты файла. К атрибутам файла относятся последующие:

атрибут «архивный» (A - archive). Указывает, что файл был открыт программкой таким Основные системные таблицы ввода-вывода макаром, чтоб у нее была возможность поменять содержимое этого файла. ОС устанавливает этот разряд атрибута в состояние ON (включено) при открытии файла. Программки запасного копирования часто устанавливают его в OFF (выключено) при выполнении запасного копирования файла. Если применяется схожая методика, то в последующую создаваемую по порядку запасную копию будут Основные системные таблицы ввода-вывода добавлены только файлы с данным разрядом, установленным в состояние ON;

атрибут каталога (D - directory). Указывает, что данный элемент каталога показывает на подкаталог, а не на файл;

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

атрибут «системный» (S - system). Указывает, что файл является частью операционной системы либо специально отмечен схожим образом прикладной программкой, что время от времени делается в качестве составной части способа защиты от копирования;

атрибут «скрытый» (H – hidden Основные системные таблицы ввода-вывода). Сюда относятся, а именно, файлы с установленным в состояние ON атрибутом «системный» (S), которые не показываются в обыкновенном перечне, выводимом по команде DIR;


osnovnie-publikacii-po-dissertacionnoj-rabote-v-zhurnalah-rekomenduemih-vak-rf.html
osnovnie-puti-i-napravleniya-evolyucii.html
osnovnie-puti-postupleniya-yada-v-organizm.html