Файловая система Windows - NТ.
ТЕОРЕТИЧЕСКОЕ ОПИСАНИЕ
Файловая система
Все данные, обрабатываемые ЭВМ, состоят из битов, т.е., двоичных цифр 0 и 1. Объединяя отдельные биты в группы (поля), можно задавать битовые комбинации и с их помощью задавать любые элементы данных, обрабатываемых в вычислительных системах.
Группу из 8 -ми бит принято называть байтом. Группа из взаимосвязанных байтов называется полем. Группа взаимосвязанных полей носит название записи.
Файлом называется поименованная совокупность взаимосвязанных записей на внешнем устройстве - томе.
Файловая система является важной компонентой операционной системы. Файловые системы содержат, как правило, следующие средства:
- Методы доступа. Определяют конкретную организацию доступа к данным, хранящимся в файлах.
- Средства управления файлами. Обеспечивают хранение файлов, обращение к ним, коллективное их использование и защиту.
- Средства обеспечения целостности файлов. Призваны гарантировать сохранность информации в файле.
Главная функция файловой системы - это распределение пространства внешней памяти и управление ее работой. В настоящее время наиболее распространенной является древовидная каталогизированная организация файловой системы. Такая организация показана на рис. 1. Одной из особенностей такой организации является то, что имена файлов и директориев (каталогов) должны быть уникальными только в пределах данного директория.
Вся информация, необходимая операционной системе для выполнения различных операций над файлами, содержится в так называемом дескрипторе файла. Эта структура данных, вообще говоря, зависит от конкретной операционной системы, однако типичный дескриптор должен содержать следующую информацию:
- Символическое имя файла;
- Координаты начала размещения файла на томе;
- Тип организации файла;
- Данные для управления доступом;
- Тип файла (данные, загрузочный модуль, исходный текст программы на С++, Pascal и т. п.);
- Характер файла (постоянный, временный, рабочий);
- Дата и время создания;
- Дата и время последней модификации;
- Дата уничтожения.
Как правило, дескрипторы файлов хранятся во внешней памяти. Они передаются в оперативную память только после открытия соответствующего файла. Дескриптором файла управляет файловая система. Пользователь не может непосредственно обращаться к дескриптору файла. Каждый файл наделяется при создании некоторыми свойствами, называемыми атрибутами файла.
Рис 1. Древовидная каталогизированная файловая система.
Асинхронные операции с файлами
Операционная система Windows является многозадачной операционной системой. Одним из полезных следствий многозадачности является возможность совмещения операций ввода/вывода с обработкой данных. Известно, что операции ввода/вывода выполняются значительно медленнее, чем работает процессор. Операции ввода/вывода могут выполняться в синхронном или асинхронном режимах. В первом случае приложение, инициировавшее операцию обмена, дожидается ее окончания и только после этого продолжает работу. Во втором случае приложение, инициировавшее операцию обмена, не дожидаясь ее завершения, может выполнять некоторые действия, не связанные с текущим обменом. Очевидно, что использование асинхронного режима обеспечивает более рациональное использование процессора и увеличивает скорость работы приложений.
ОПИСАНИЕ ЛАБОРАТОРНОЙ РАБОТЫ
Файловая система Windows - NТ.
Операционная система Windows- NТ имеет большие возможности для работы с файлами. Она поддерживает несколько файловых систем, основными из которых являются:
- FAT. Эта файловая система заимствована из операционной системы MS - DOS. Она используется ОС MS - Windows для работы с дискетами и жесткими дисками.
- HPFS. Эта файловая система используется для обеспечения совместимости с операционной системой OS/2.
- NTFS. Эта файловая система является основной для операционной системы Windows - NT.
Файловая система NTFS вобрала в себя все лучшее, что имеется в ранее разработанных файловых системах. Она обладает высокой производительностью, допускает использование длинных имен файлов, имеет высокую надежность и средства разграничения доступа. Кроме того, данная файловая система имеет мощные средства поиска файлов в каталогах и не требует выполнения периодической дефрагментации устройства. В именах файлов и каталогов можно употреблять строчные либо прописные буквы, а также буквы национальных алфавитов. Для совместимости с программами MS - DOS, запущенными под управлением операционной системы Windows - NT, файловая система NTFS создает короткие альтернативные имена для всех файлов и каталогов.
Атрибуты файла в Windows - NT. Атрибутом файла называется свойство, которое файл проявляет в зависимости от его установки. Например, если файл имеет включенным (установленным) атрибут "только чтение", то он не может быть обновлен или уничтожен большинством приложений или системных команд. Каждый файл имеет байт атрибутов, используемый для сохранения настроек. Структура байта атрибутов имеет следующий вид, показанный на рис. 2.
Рис 2. Структура байта атрибутов.
Эти атрибуты переключаются в состояние включен/выключен при использовании программ или создании файла. По умолчанию, при создании файла все атрибуты устанавливаются в состояние "выключен", кроме атрибута "архивный файл" (бит 5). Определить атрибуты файла можно с помощью функции GetFileAttributes. Параметром этой функции является путь к файлу. Установить, или изменить атрибуты файла можно с помощью функции SetFileAttributes. Кроме атрибутов, операционная система хранит и другую информацию о файле: его размер, дата и время его создания, дата и время последней модификации файла и т. п. Всю информацию о файле можно получить с помощью функции GetFileInformationByHandle. Она записывает информацию об открытом файле в специальную структуру данных.
Кроме работы с файлами, операционная система Windows - NT поддерживает функции для работы с каталогами и томами. Определить список дисковых устройств в системе можно с помощью функции GetLogicalDrives, которая возвращает 32 -х битовое значение. Каждый бит соответствует логическому устройству. Так, например, бит 0 соответствует устройству А:, бит 1 - устройству В: и т. д. Если бит установлен в 1, то устройство присутствует в системе. Более мощной является функция GetLogicalDriveStrings, которая возвращает информацию об устройствах системы в виде текстовых строк А:\, В:\, и т. д. Информацию о типе дискового устройства можно получить с помощью функции GetDriveType. Эта функция возвращает значения, характеризующие тип дискового устройства, например: DRIVE_REMOVABLE - накопитель на сменном диске, DRIVE_REMOTE - сетевой диск и т. п. В качестве параметра этой функции передается текстовая строка имени устройства. Функция GetVolumeInformation дает возможность определить параметры дискового устройства, такие, как серийный номер тома, тип файловой системы, а также возможности по управлению файлами на данном томе. Функция SetVolumeLabel дает возможность изменить метку тома.