1
Файловая сиcтема Windows
Файловая система характеризуется многоуровневой 32-разрядной архитектурой, поддерживающей несколько файловых систем. В файловой системе предусмотрено 32 слоя, из которых в настоящее время используются 12. Остальные зарезервированы для дальнейших нужд. Особенностями новой файловой системы являются поддержка длинных имен файлов и динамическое кэширование при операциях файлового и сетевого ввода/вывода.
Архитектура файловой системы представлена на рис. Состоит из следующих компонентов:
I - Диспетчер настраиваемой файловой системы IFSM (Installable File System Manager). Отвечает за распределение доступа к компонентам файловой системы, обеспечивает интерфейс с приложениями. Наивысший слой файловой системы.
II – Драйверный уровень файловой системы. Контролирует доступ к дискам на базе FAT, файловую систему CD-ROM и поддерживает переадресацию сетевых устройств.
III– Подсистема блочного ввода/вывода. Отвечает за взаимодействие
сфизическми дисковыми устройствами.
I |
Диспетчер настраиваемой файловой системы (IFSM) |
|
|
32-разрядная |
|
32-разрядная |
|
|
|
|
|
Компоненты |
|||||
|
FAT (Virtual |
|
файловая |
|
|
Сетевой |
|
|
файловой |
|||||
II |
||||||||||||||
FAT - VFAT) |
|
система CD- |
|
|
редиректор |
|
|
системы от |
||||||
|
|
|
|
ROM (VCDFS) |
|
|
|
|
|
сторонних |
||||
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
разработчиков |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
Подсистема блочного ввода/вывода |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
Диспетчер ввода/вывода (IOS) |
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Другие слои |
|
|
|
||||||
III |
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SCSI-слой |
|
|
|
|||
|
|
Порт-драйвер |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
Минипорт-драйвер |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2
Драйверы файловой системы
Являются компонентами нулевого кольца кода операционной системы. В Windows 9x включена поддержка следующих файловых систем:
•32-разрядный драйвер FAT (VFAT);
•32-разрядный драйвер файловой системы CD-ROM (CDFS);
•32-разрядный сетевой редиректор для подключения к серверам сетей Microsoft и Novell.
Файловая система VFAT
Ее работу поддерживает 32-разрядный виртуальный драйвер vfat.vxd. Взаимодействует с подсистемой блочного ввода/вывода и обеспечивает доступ к дисковым устройствам, обеспечивает совместимость с аналогичными драйверами реального режима.
Преимущества:
•освобождение стандартной памяти (smartdrive реального режима заменен 32-разрядным компонентом);
•поддержка динамического кэширования;
•многозадачность при дисковых операциях.
32-разрядная VFAT работает с 32-разрядным драйвером защищенного режима – vcache.vxd. Он используется вместо 16-разрядного smartdrive реального режима. Драйвер vcache отличается более эффективным алгоритмом кэширования, отвечает за управление кэшем для файловых систем CD-ROM и сетевых редиректоров. Также объем кэша может динамически изменяться в зависимости от объема свободной памяти в системе.
Файловая система CD-ROM (CDFS)
Обладает улучшенными характеристиками по сравнению с драйвером реального режима mscdex.exe. Размер кэша в CDFS регулируется автоматически и не требует конфигурирования и выделения постоянной памяти.
Преимущества:
•не использует стандартную память (заменяет драйвер реального режима mscdex);
•многозадачность при обращении к CD-ROM;
•поддерживает динамическое кэширование.
3
Подсистема блочного ввода/вывода
Диспетчер ввода/вывода. Отвечает за обслуживание файловой системы и драйверов, за поддержку очередности запросов к файлам и маршрутизацию запросов соответствующим драйверам. Выполняет все операции по управлению файловой системой защищенного режима и драйверами блочных устройств. Получает запросы от файловых систем VFAT и CDFS и загружает соответствующие драйверы, обеспечивающие доступ к локальным дискам и дисковым устройствам, включая SCSI и IDE. Мэппер реального режима обеспечивает совместимость с драйверами реального режима устройств MS DOS.
Порт-драйвер. Драйверы, обеспечивающие связь с конкретным дисковым устройством, например, контроллером жесткого диска. Отвечает за связь с IDE или EIDE-контролеррами и с контроллерами дисководов для гибких дисков. Содержатся в файлах с типом *.pdr, которые находятся в основном каталоге Windows в подкаталоге System\Iosubsys.
SCSI-слой. Используется для связи с устройствами SCSI. Обеспечивает высокоуровневые функции.
Минипорт-драйвер. Используется для обработки запросов на аппаратно-зависимые операции ввода/вывода с устройствами SCSI. Содержатся в файлах с типом *.mpd, которые находятся в основном каталоге Windows в подкаталоге System\Iosubsys.
Другие слои. Представляют собой слои увязки с компонентами реального режима, обеспечивающими совместимость с драйверами DOS.
Длинные имена файлов
Максимальная длина имени файла может составлять 255 символов, включая пробелы. В именах могут использоваться пробелы, символы кириллицы и другие, запрещенные в DOS символы:
\ : . * ? " < >
Суммарная длина маршрута и имени файла не должна превышать 260 символов (имя диска- 2 символа + имя корневого каталога \ – 1 символ + имя файла – как минимум 1 символ + разделительная точка –1символ = 5+255=260).
При создании файла ему присваивается 2 имени – длинное и короткое (по правилам DOS – в формате 8.3). Короткое имя формируется по следующим правилам:
1)из длинного имени удаляются пробелы и запрещенные в DOS символы. Для 8-буквенного имени используются первые 6 оставшихся символов, к которым добавляется знак ~ и порядковый номер файла (среди файлов с одинаковыми начальными символами).
хххххх~№
2)для 3-х букв типа используются первые три символа после последней точки в длинном имени.
|
4 |
|
Например: |
|
|
Длинное имя |
|
Короткое имя |
Microsoft Windows 95.bmp |
|
Micros~1.bmp |
Microsoft Office.tmp |
|
Micros~2.tmp |
Курсовая работа Иванова И.И..doc |
|
Курсов~.doc |
Примечание. В сеансе MS-DOS можно пользоваться длинными именами, если заключать их в кавычки. Например, команда перехода в папку Мои документы
cd "Мои документы"
Универсальная кодировка Unicode отводит каждому символу 2 байта. Windows использует эту кодировку для хранения длинных имен файлов, т.о. длинное имя может потребовать до 500 байт (255 символов при максимальной длине). В DOS в системе FAT информация о файле (имя, размер, дата и время создания) хранится в элементе каталога объемом 32 байта. В Windows информация о файле (короткое имя, размер, дата и время создания) хранится в обычном элементе каталога. Длинное имя и дата последнего обращения хранятся в элементах каталога, смежных с основным и помеченных особым образом. Т.о. один файл занимает 2 элемента каталога и более (21 в случае максимальной длины: 1 – обычный (DOS), другие – для длинного имени).
Особенности:
1)увеличивается размер каталога, время доступа, вероятность фрагментирования;
2)корневой каталог дискеты содержит 224 элемента. Т.о. в корневом каталоге дискеты может находится около 10 файлов с именем максимальной длины. Если все элементы заполнены, то выдается сообщение о нехватке памяти, нехватке свободного места на диске (даже если на диске есть свободное место). Поэтому необходимо раскладывать файлы по папкам и не хранить их в корневом каталоге (кроме служебных).
5
Видеосистема Windows
Основана на архитектуре минидрайверов. Основной код дисплейных драйверов включен в систему в виде аппаратно-независимого модуля поддержки изображения растровой графики dibeng.dll. DIBсистема содержит большую часть функций для приема команд от gdi.
Мини драйвер пишется разработчиком оборудования (видеоадаптера) и содержит аппаратно-независимый код, необходимый для ретрансляции вызовов.
Структура видеоподсистемы Windows
Windows-приложения DOS-приложения
|
GDI |
|
|
|
Видеограббер |
|
|
DOS-приложение в |
||||
|
|
|
|
|
Vgafall.3gr |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
окне |
||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dibeng.dll |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Мини-драйвер |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
vdd |
|
|
видеоадаптер |
||||
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Vflatd.vxd |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
Мини-vdd |
|
||
|
|
|
|
|
Полноэкранный |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
DOS-режим |
|
|
|
|
Vdd – виртуальный мини драйвер, виртуализует память, порты, режимы дисплея, графический и символьный режимы.
Мини-vdd – обеспечивает одновременную работу нескольких ВМ
DOS.
Vflatd.vxd – поддерживает кадровый буфер до 1 Мбайта для видеодрайверов Windows.
Реестр Windows
Реестр – сложный объект, который представляет собой новый метод конфигурирования. Это – централизованное хранилище системных параметров, древообразная иерархическая база данных.
Для хранения информации реестра Windows использует 2 скрытых файла:
system.dat – хранит данные, относящиеся к настройкам ПК; user.dat – хранит настройки пользователя.
6
Файлы располагаются в главном каталоге Windows. При каждом запуске системы создаются их резервные копии в файлах system.da0 и user.da0, соответственно.
В реестре находятся программные и аппаратные параметры и другие данные о ПК. Реестр имеет иерархическую организацию и содержит описания, что и где искать. Для просмотра и редактирования реестра используется специальный "редактор реестра" Regedit. Он отображает два файла как единый целостный реестр. При запуске редактора открывается окно, аналогичное окну Проводника.
Вправой части окна отображается дерево основных папок – разделов; в левой – параметры выбранного элемента дерева.
Реестр использует два типа записей: разделы и параметры.
Разделы – заголовки, сообщающие, что содержится в данной части реестра. Самый верхний раздел содержит информацию общего характера. Каждый подраздел содержит более конкретные сведения. Разделы отображаются в левой части окна редактора.
Параметры – содержатся в разделах. Это текст, который заполняет заголовки, предоставляемые разделами. Содержат информацию об установках посредством значений. Существует три типа значений: двоичные и двойные слова – используются приложениями, их формат непонятен – и строковые – используются приложениями и оборудованием, имеют понятный формат.
Вразделе Мой компьютер (см. рис) содержатся шесть основных разделов, которые называются категориями. Среди них есть две основные, физически существующие, категории:
1)HKEY_LOCAL_MACHINE – содержит информацию об аппаратной части ПК, о драйверах и конфигурации. Составляет содержание файла system.dat
2)HKEY_USERS – содержит статический список пользователей этого файла реестра. Составляет содержание файла user.dat
7
Другие разделы дублируют информацию, содержащуюся в основных
иуказывают на их отдельные ветви.
3)HKEY_CLASSES_ROOT – содержит информацию по работе с технологией взаимодействия между приложениями OLE, межпрограммным связям, ассоциациям файлов с приложениями, установленными в системе, данные о ярлыках и настройках рабочего стола.
4)HKEY_CURRENT_USER – содержит набор изменяемых параметров, информацию о настройках текущего пользователя (конфигурацию рабочего стола, меню Пуск, др. используемых настройках).
5)HKEY_CURRENT_CONFIG – содержит информацию о текущей конфигурации устройств (дисплея и принтера).
6)HKEY_DYN_DATA – содержит вторичную информацию об устройствах (повтор LOCAL_MACHINE) и текущих системных параметрах. Формируется динамически и не хранится ни в одном файле.