- •5. Хранение файлов и каталогов.
- •7. Защита целостности данных.
- •8. Дополнительные возможности ntfs.
- •7. Сравнение структуры логического диска fat (fat32) и тома ntfs.
- •10. Архитектура памяти ms Windows 2000. Менеджер вп. Виртуальное ап. Средства защиты памяти. Страничное преобразование. Реализация свопинга в ms Windows 2000-2003.
- •11. Архитектура памяти ms Windows 2000-2003. Организация «статической» виртуальной памяти. Блоки адресов. Состояния блоков адресов. Функции Win32 api.
- •12. Архитектура памяти в ms Windows 200-2003. Организация «динамической» виртуальной памяти. Назначение и преимущество по сравнению с кучами ansi c. Функции Win32 api.
- •13. Архитектура памяти в ms Windows 2000-2003. Проецируемые файлы, назначение и использование. Функции Win32 api.
- •14. Архитектура памяти в ms Windows 2000-2003. Использование локальной памяти потока. Функции Win32 api.
- •15. Архитектура памяти в ms Windows 2000-2003. Адресация расширенного адресного пространства. 64-разрядные операционные системы ms Windows.
- •16. Объекты управления центральным процессором и объединения ресурсов в ms Windows 2000-2003. Атрибуты процессов и потоков. Классы приоритетов.
- •16.1, 16.2 Управление центральным процессором и объединение ресурсов.
- •16.6 Классы приоритетов.
- •17. Общие принципы диспетчеризация (планирование загрузки) в ms Windows 2000-2003. Классы приоритетов. Относительные приоритеты. Динамическое изменение приоритетов.
- •17.1 Общие принципы диспетчеризация (планирование загрузки) в ms Windows 2000-2003.
- •17.4 Динамическое изменение приоритетов.
- •18. Граф состояний потоков в ms Windows 2000-2003. Поток простоя. Принципы адаптивного планирования.
- •18.1 Граф состояний потоков в ms Windows 2000.
- •18.2 Поток простоя.
- •18.3 Принципы адаптивного планирования.
- •19. Граф состояний потоков в ms Windows 2000-2003. Особенности планирования в многопроцессорных системах. Особенности планирования в ос ms Windows Vista и Server 2008.
- •19.2 Особенности планирования в многопроцессорных системах.
- •19.3 Особенности планирования в ос ms Windows Vista и Server 2008.
- •20. Планирование загрузки процессорного времени в ms windows 2000-2003. Функции win 32 api создания и завершение процессов и потоков, управление потоками
- •21. Атомарные операции и lockless программирование. Реализация многопоточности с
- •21.1 Атомарные операции и lockless программирование.
- •21.2 Реализация многопоточности с использованием технологии OpenMp
- •21.3 Реализация блокировок и синхронизация потоков в OpenMp
- •22. Критические секции и состязания. Семафоры, Мьютексы. Задача о читателях и писателях. Задача о философах. Взаимная блокировка (тупики).
- •23. Синхронизация потоков с использованием объектов ядра ms Windows 2000-2003. Основные принципы синхронизации. События. Семафоры. Функции win 32 api.
- •24. Синхронизация потоков с использованием объектов ядра ms Windows 2000-2003. Основные принципы синхронизации. Таймеры ожидания. Мьютексы. Функции win 32 api.
- •25. Межпроцессорное взаимодействие. Передача информации в ms Windows 2000-2003. Анонимные каналы. Почтовые ящики. Функции win 32 api.
- •26. Межпроцессорное взаимодействие. Передача информации в ms Windows 2000-2003. Именованные каналы. Почтовые ящики. Функции win 32 api.
7. Защита целостности данных.
Система восстановления NTFS гарантирует корректность файловой системы, а не ваших данных.
NTFS является восстанавливаемой ФС и поддерживает следующие технологии защиты целостности данных:
Тома с аппаратной или программной поддержкой RAID 0, RAID 4, RAID 5 и пр.
Горячая фиксация – позволяет файловой системе при возникновении ошибки из-за плохого кластера записать информацию в другой кластер и отметить сбойный в качестве плохого.
Механизм транзакций – каждая операция ввода-вывода, которая изменяет файл на разделе NTFS, рассматривается файловой системой как транзакция и может выполняться только как неделимый блок.
Восстанавливаемость файловой системы в NTFS обеспечивается при помощи техники обработки транзакций, называемой протоколированием (logging). В процессе протоколирования, прежде чем выполнить над содержимым диска какую-либо подоперацию транзакции, изменяющей важные структуры файловой системы, NTFS записывает ее в файл журнала транзакций. При восстановлении после сбоя системы NTFS просматривает журнал и повторяет все подтвержденные транзакции. После повтора всех подтвержденных транзакций NTFS отыскивает в журнале такие, которые не были подтверждены к моменту сбоя, и откатывает (отменяет) каждую запротоколированную подоперацию.
Примеры транзакций:
создание файла
удаление файла
расширение файла
урезание файла
установка файловой информации
переименование файла
изменение прав доступа к файлу
В состав средств протоколирования NTFS входят следующие компоненты:
журнал транзакций (log file) – это системный файл, создаваемый командой format;
сервис журнала операций (log file service, LFS) – набор системных процедур, которые NTFS использует для доступа к журналу транзакций, например, для открытия файла журнала, помещения в журнал записей, считывания записей журнала в прямом и в обратном порядке, сброса записей журнала и т.д. NTFS никогда не выполняет чтение-запись транзакций в журнал напрямую.
диспетчер кэша (cache manager) – это системный компонент Windows, поддерживающий кэширование для NTFS и драйверов других файловых систем (FAT32).
Файл журнала состоит из двух частей:
область рестарта (restart area) – в этой области NTFS хранит информацию о том, откуда начинать чтение области протоколирования при восстановлении после сбоя системы. Для повышения отказоустойчивости LFS создает копию области рестарта.
область протоколирования (logging area) – в которой находятся записи транзакций, обеспечивающие NTFS восстановление после сбоя. LFS создает иллюзию бесконечности журнала транзакций путем ее циклического повторного использования с использованием механизма разреженных файлов.
Для идентификации записей, помещенный журнал, LFS использует номера логической последовательности (logical sequence number, LSN).
В файле журнала различают 3 вида записей:
записи модификации (большинство записей в журнале транзакций – записи модификации);
Структура записи модификации:
Информация для повтора (redo info)
как вновь применить к тóму одну подоперацию полностью запротоколированной транзакции, если сбой системы произошел до того, как транзакция была переписана из кэша на диск.
Информация для отмены (undo info)
как устранить изменения, вызванные одной подоперацией транзакции, которая в момент сбоя была запротоколирована лишь частично. Каждая запись отмены содержит LSN предыдущей записи модификации этой же транзакции
записи подтверждения транзакции;
после протоколирования транзакции NTFS выполняет ее подоперации непосредственно над томом – в кэше. По окончании обновления кэша NTFS помещает в журнал еще одну запись – подтверждение транзакции (committing a transaction). После того как транзакция подтверждена, NTFS гарантирует, что все вызванные ею модификации будут отражены на томе, даже если после подтверждения произойдет сбой системы.
записи контрольной точки.
Периодически (5 сек.) NTFS помещает в журнал транзакций записи контрольной точки: запись контрольной точки помогает NTFS определить, какая обработка необходима для восстановления тома, если сбой произошел “сразу” после помещения этой записи в журнал. LSN контрольной точки записывается в область рестарта.
Контрольная точка содержит две таблицы восстановления:
Таблица транзакций (transaction table) предназначена для отслеживания транзакций, которые были начаты, но еще не подтверждены. Их надо удалить в процессе восстановления.
В таблицу измененных страниц (dirty page table) записывается информация о том, какие изменения структуры файловой системы еще не записанные на диск. Эти данные в процессе восстановления должны быть сброшены на диск.
При восстановлении тома NTFS загружает журнал транзакций в оперативную память и выполняет три прохода:
анализ;
повтор транзакций;
сканирование журнала транзакций в прямом направлении, начиная с LSN самой старой записи, которая была обнаружена на проходе анализа;
поиск записей "обновление страницы", содержащие модификации тома, которые были запротоколированы до сбоя системы, но не сброшены из кэша на диск;
повторение найденных обновлений в кэш.
отмена транзакций.
откат всех транзакций, не подтвержденных к моменту сбоя системы, с протоколированием в журнале транзакций;
поскольку отмена транзакций изменяет структуру ФС на томе, NTFS должна протоколировать операцию отмены в журнале транзакций;
сброс на диск изменений кэша;
запись пустой области рестарта
Потом NTFS начинает проход отмены (undo pass), откатывая все транзакции, не подтвержденные к моменту сбоя системы. В таблице транзакций NTFS для каждой незавершенной транзакции хранится LSN записи модификации, которая была помещена в журнал последней. Каждая запись модификации содержит информацию двух видов: как повторить подоперацию и как отменить ее.
Поскольку отмена транзакций изменяет структуру ФС на томе, NTFS должна протоколировать операцию отмены в журнале транзакций. В конце концов, во время восстановления может снова произойти сбой питания, и NTFS придется выполнить повтор операций отмены! Когда проход отмены завершен, целостность тома восстановлена. В этот момент NTFS сбрасывает на диск изменения кэша, чтобы гарантировать правильность содержимого тома. Далее NTFS записывает пустую область рестарта.
NTFS осуществляет доступ к кэшированным файлам, отображая последние в виртуальную память выполняя чтение и запись. Диспетчер кэша оптимизирует дисковый ввод-вывод при помощи средства отложенной записи (lazy writer) - набора системных потоков управления, вызывающих диспетчер виртуальной памяти для сброса содержимого кэша на диск в фоновом режиме (асинхронная запись на диск). В связи с применением механизма отложенной записи данные записанные в кэш-память могут быть потеряны с случае сбоя электропитания.
