Системные механизмы Windows
Ключевые термины
NTFS (NT File System) – основная файловая система Windows NT и Windows 2000, основанная на концепциях тома и логического номера кластера.
Master File Table (MFT) – системный файл в файловой системе NTFS, содержащий записи с информацией о каждом файле.
Mirror set – в файловой системе NTFS две секции одного размера на разных частях диска с идентичным содержимым, используемые для большей надежности хранения данных.
NetBEUI (NetBIOS Extended User Interface) – сетевой протокол по умолчанию для одноранговых сетей Windows 95 и Windows for Workgroups.
Stripe set – набор от двух до 32 дисков в файловой системе NТFS, логически объединенных в единый том, при записи данных в который данные записываются по очереди на каждый диск порциями по 64 Кб.
Windows Internet Name Service (WINS) – собственный механизм разрешения имен (преобразования доменных имен компьютеров в IP-адреса), используемый в системе Windows.
Winsock - API для реализации сокетов для Windows; интерфейс уровня сеанса, обеспечивающий стандартизованный интерфейс сокетов.
Волокно (fiber) – параллельно выполняемый код пользовательского режима, исполнение которого и переключение с одного волокна на другое планируется по алгоритму, определенному пользователем.
Домен (domain) – группа компьютеров, работающих под управлением ОС типа Windows NT Server, которые используют одну и ту же политику безопасности и одну и ту же пользовательскую базу данных.
Кластер – единица выделения дисковой памяти в системе NTFS.
Рабочий набор (working set) – множество всех физических страниц, которыми владеет процесс.
Том (volume) – хранилище файлов в NTFS; может занимать часть логического диска, целый диск или распределяться по нескольким дискам.
Краткие итоги
Основной системой файлов в Windows NT и Windows 2000 является система NTFS. Она основана на следующих концепциях: том – хранилище файлов, которое может занимать часть логического диска, один или несколько логических дисков; stripe set – множество порций информации по 64 KB из одного файла, хранящихся на разных дисках для оптимизации параллельного доступа; Master File Table – таблицы с информацией о каждом файле в томе. Единицей выделения памяти в файле в NTFS является кластер. Каждый файл адресуется по 64-битовой ссылке (file reference). NTFS организована как транзакционная файловая система, с возможностью отмены и повторного выполнения транзакций. Безопасность в NTFS реализована на основе дескрипторов безопасности, которые имеет каждый файл. Утилита FtDisk обеспечивает логическое объединение нескольких SCSI-дисков в один логический том. NTFS использует сжатие с целью экономии памяти.
Сетевые средства Windows обеспечивают поддержку большого числа протоколов – Server Message Block, NetBIOS, NetBEUI, PPTP, NWLink (для взаимодействия с сетями Novell), DLC (для доступа к оборудованию IBM и HP), AppleTalk (для взаимодействия с компьютерами Macontosh). Для передачи сообщений через сеть используются mail-слоты и именованные конвейеры. WinSock API обеспечивает стандартизированный сокетный интерфейс для Windows. Поддерживается механизм удаленного вызова процедуры (RPC). Доступ к удаленным файлам осуществляется с помощью драйвера MUP. Используется концепция сетевого домена. Для разрешения сетевых имен и их преобразования в IP-адреса используется DNS, а также собственный сервис WINS.
Программный интерфейс Windows (API) обеспечивает обработку системных объектов с помощью объектных ссылок. Процессы запускаются функцией CreateProcess, потоки – функцией CreateThread. Механизм планирования в Windows различает процессы реального времени (soft real-time) и интерактивные. Когда диаголовый процесс становится активным (его элемент GUI выбран на экране), его квант времени увеличивается в три раза.
Для синхронизации в ядре используются мьютексы или критические секции.
В Windows поддержан новый вид параллельного выполнения – волокна (fibers), аналогичный потокам, но, в отличие от потоков, явно управляемый пользователем.
Для взаимодействия потоков используется передача сообщений, причем каждый поток имеет собственную входную очередь, что более надежно.
Поддерживается механизм виртуальной памяти. Процессы совместно используют область виртуальной памяти, отображая один и тот же файл в свои адресные пространства.
Для каждого процесса (потока) создается куча и выделяется локальная память потока (thread-local storage).
При управлении физической памятью используется концепция рабочего набора – множества всех физических страниц, которыми владеет процесс. Рабочий набор каждого процесса имеет свой верхний предел. При его достижении ОС, при добавлении каждой новой страницы, исключает одну страницу из рабочего набора (замена в рабочем наборе). Используется политика локальной замены страниц. Вычисляется и контролируется максимальное суммарное значение размера рабочего набора для всей системы. Обрабатываются отказы страниц, например, при загрузке новых DLL. Windows поддерживает системный рабочий набор, используемый для нужд системных процессов ОС. Для обработки страниц используются списки свободных, измененных, резервных, нулевых и плохих (не прошедших тест памяти) страниц. Страницы, исключенные из рабочего набора, помещаются в список резервных или список измененных страниц. По мере обработки отказов страниц, страницы изымаются из списка резервных или свободных страниц и включаются в рабочий набор процесса.
Набор для практики
Вопросы
- Что такое NTFS?
- Что такое том и как он может размещаться на логических дисках?
- Что такое кластер и каков его размер?
- Что такое logical cluster numbers и как они используются в системе?
- Что такое Master File Table?
- Какие возможности обеспечивает транзакционный механизм NTFS?
- Какие объекты используются для управления безопасностью файлов?
- Какие возможности обеспечивает утилита FtDisk?
- Что такое stripe set?
- Что такое stripe set with parity?
- Что такое mirror set?
- Какие протоколы поддерживает сетевой механизм Windows?
- Как организовано разрешение сетевых имен в Windows?
- Что такое WinSock?
- Что такое RPC?
- Что такое именованный конвейер?
- Что такое mail-слот?
- Что такое сетевой домен?
- Что такое redirector?
- Каким образом и с помощью какого драйвера выполняется доступ к удаленному файлу?
- Какие системные функции используются для управления системными объектами?
- Какие функции используются для создания процесса и потока?
- Что такое волокно и каким образом организуется параллельное выполнение с использованием волокон?
- Какие классы процессов выделяются системой планирования Windows?
- Каким образом изменяется квант времени диалогового процесса, если его элемент GUI выбран на экране?
- Какие методы синхронизации используются для объектов ядра?
- Какие функции используются для управления виртуальной памятью?
- Каким образом два процесса могут исполь зовать общую область виртуальной памяти?
- Какие области физической памяти выделяются системой для каждого потока?
- Что такое рабочий набор процесса?
- Что такое системный рабочий набор?
- Каким образом изменяется рабочий набор при достижении верхнего предела его размера?
- Какие списки страниц используются системой?
Упражнения
- Разработайте программу визуализации системных структур, используемых для представления файлов в системе NTFS.
- Используя утилиту PerfMon, изучите и опишите механизм управления рабочими наборами страниц в Windows.
- Организуйте сетевой домен для своей домашней или офисной локальной сети под управлением Windows.
Темы для курсовых работ, рефератов, эссе
- Обзор архитектуры файловой системы NTFS и ее сравнение с другими системами (реферат).
- Обзор сетевой подсистемы Windows и поддерживаемых ею сетевых протоколов (реферат).
- Обзор программного интерфейса Windows для управления объектамси, процессами, памятью (реферат).
- Обзор механизмов управления рабочими наборами страниц в Windows (реферат).
- Разработка программы визуализации системных структур, используемых для представления файлов в системе NTFS (курсовая работа).
- Изучение с помощью утилиты PerfMon и разработка подробного описания механизма управления рабочими наборами страниц в Windows (курсовая работа).