
- •1Определение операционной системы (ос). Назначение и основные функции ос.
- •Эволюция ос.
- •Классификация операционных систем.
- •Структура ос Windows. Краткий обзор архитектуры Windows.
- •Основные системные файлы Windows 95, nt, 2000.
- •Виртуальная память. Страничная организация памяти.
- •Страничная или сегментно-страничная организация памяти.
- •Алгоритмы замещения страниц виртуальной памяти. Алгоритмы замещения страниц
- •7.1.1 Алгоритм nru (Not Recently Used - не использовавшаяся в последнее время страница)
- •Адресное пространство процесса Win32 в Windows nt(2000). Регионы в адресном пространстве. Передача физической памяти региону. Гранулярность выделения ресурсов.
- •Раздел 4. В него загружаются ядро Windows nt и драйверы устройств. Этот раздел защищен и по чтению, и по записи. Регионы в адресном пространстве.
- •Передача физической памяти региону.
- •Механизм выделения страниц физической памяти.
- •Выделение физической памяти под программный код.
- •Атрибуты защиты страниц памяти в Win32. Изменение атрибутов защиты. Атрибуты защиты страниц.
- •Стек потока под управлением Windows nt (2000).
- •Стек потока под Windows 95, 98.
- •Функции компилятора для контроля стека.
- •Кучи в Windows nt (2000). Структура кучи в Win32. Функции управления кучей Win32. Кучи (Heaps).
- •Особенности кучи в Windows 95, Windows nt.
- •Структура арены.
- •Функции управления кучей Win32.
- •Удаление кучи.
- •Выделение блока памяти в определённой куче.
- •Куча, предоставляемая процессу по умолчанию, и дополнительные кучи. Назначение дополнительных куч Win32.
- •Дополнительные кучи Win32 процесса.
- •Создание дополнительных куч для эффективного управления памятью.
- •Локальный доступ. Создание дополнительных куч для локализации доступа.
- •Файлы, проецируемые в память. Файлы проецируемые в память (фпвп).
- •Проецирование в память exe и dll файлов.
- •Совместное использование статических данных несколькими экземплярами exe и dll модулей.
- •Иерархия функций работы с памятью.
- •Объекты ядра. Процессы, потоки и модули в Win32. Объекты kernel32.Dll.
- •Структура imte.
- •Структура modref.
- •Процессы Win32. Идентификатор процесса и дескриптор процесса. Объект ядра процесс в Win32. Функции для работы с процессами Таблица дескрипторов процесса.
- •Потоки. Состояния потоков. Свойства потоков. Объект ядра поток. Функции для работы с потоками.
- •Основные функции для работы с потоками.
- •Структура оя «поток».
- •Распределение времени между потоками. Классы приоритета. Уровни приоритета. Относительный уровень приоритета потока. Функции для работы с приоритетами потоков.
- •Уровни приоритета.
- •Функции Win32 связанные с планированием.
- •Учет квантов времени в Windows. Управление величиной кванта. Учёт квантов времени.
- •Сценарии планирования процессорного времени. Сценарий планирования.
- •Поток простоя.
- •Динамическое повышение приоритета. Динамическое повышение приоритета потока.
- •Синхронизация процессов и потоков. Объекты синхронизации. Синхронизация потоков без использования объектов синхронизации Синхронизация.
- •Синхронизация потоков без использования объектов синхронизации.
- •Синхронизация потоков.
- •Критические секции (кс). Критические секции.
- •Работа потока с несколькими критическими секциями.
- •Синхронизация потоков с объектами ядра. Ожидание завершения потока или процесса. Ожидание завершения нескольких потоков или процессов. Синхронизация объектов.
- •События со сбросом вручную.
- •События с автоматическим сбросом.
- •Объекты Мutex.
- •Синхронизация потоков с помощью семафоров.
- •Синхронизация потоков с помощью событий. События со сбросом вручную и с автоматическим сбросом.
- •События со сбросом вручную.
- •События с автоматическим сбросом.
- •Динамически подключаемые библиотеки (dll). Явная и неявная загрузка dll.
- •Обработка сообщения в ос Window. Структура threadinfo.
- •Посылка асинхронных сообщений в очередь потока
- •Системная очередь аппаратного ввода сообщений.
- •Работа с окнами в ос Windows. Классы окон. Z-порядок окон. Описание окон в ос Windows. Структуры управления окнами.
- •Существующие форматы исполняемых файлов. Формат pe-файла. Заголовок pe-файла. Основные секции pe-файла. Формат pe-файла.
- •Особенности ре-формата.
- •Заголовок ре-файла.
- •Основные секции исполняемого pe-файла.
- •Секция программного кода, импорт и экспорт в pe-файлах. Ресурсы pe-файла. Базовые поправки pe-файла. Импорт в pe-файлах.
- •Экспорт в pe-файлах
- •Ресурсы ре-файла.
- •Базовые поправки ре-файла.
- •Методы отслеживания изменений файловой системы.
- •Файловая система fat. Структура системной области и области данных в fat.
- •Назначение ntfs. Основные особенности и возможности ntfs. Структура файловой системы ntfs. Понятие тома и файла в ntfs.
- •Особенности ntfs.
- •Возможности ntfs.
- •Структура файловой системы ntfs.
- •Тома в ntfs.
- •Кластеры в ntfs.
- •Основные файлы ntfs, назначение основных файлов ntfs. Главная таблица файлов.
- •Назначение основных файлов ntfs.
- •Генерация имен файлов ms dos в ntfs.
- •Структура главной файловой таблицы (mft). Атрибуты файла ntfs. Заголовок атрибута, значение атрибута. Резидентные и нерезидентные атрибуты. Структура главной файловой таблицы (mft).
- •Структура файловых ссылок.
- •Атрибуты файла ntfs
- •Резидентные атрибуты.
- •Нерезидентные атрибуты.
- •Записи главной файловой таблицы ntfs (mft) для резидентных атрибутов и для нерезидентных атрибутов. Виртуальные и логические номера кластеров.
- •Структура больших файлов и каталогов в ntfs. Индексация файлов в ntfs. Структура каталогов в ntfs
- •Структура больших файлов в ntfs
- •Индексация файлов в ntfs.
- •Битовая карта.
- •Восстанавливаемость ntfs. Протоколирование транзакций. Журнал транзакций. Восстанавливаемость ntfs.
- •Протоколирование транзакций.
- •Журнал транзакций.
- •Записи модификации, записи контрольной точки, таблица транзакций, таблица измененных страниц в журнале транзакций. Записи модификации.
- •Записи контрольной точки.
- •Восстановление данных в ntfs. Проход анализа. Проход повтора. Проход отмены. Восстановление данных в ntfs.
- •Проход анализа.
- •Проход повтора.
- •Проход отмены.
- •Замена плохих секторов в ntfs. Файл плохих кластеров. Переназначение плохих кластеров.
- •Переназначение плохих кластеров.
- •Компрессия данных в фс ntfs.
- •Сжатие разрежённых файлов.
- •Сжатие обычных файлов.
- •Система шифрования данных (efs) в файловой системе ntfs .
- •Загрузка ос Windows 2000.
- •Предварительная загрузка.
- •Загрузка.
- •Загрузка ядра.
- •Инициализация ядра
- •Регистрация
- •Процесс разработки программы на ассемблере.
- •Трансляция программы
- •Компоновка программы
- •Основные регистры процессора Pentium.
- •Ассемблерные команды пересылки данных. Пример программы.
- •Работа с адресами и указателями на ассемблере. Пример программы.
- •Ассемблерные команды для работы со стеком. Пример программы.
- •Ассемблерные команды сложения и вычитания. Пример программы.
- •Ассемблерные команды умножения, деления и изменения знака. Пример программы.
- •Использование в Delphi встроенного ассемблера. Пример программы.
- •Ассемблерные команды линейного и циклического сдвига. Пример программы.
- •Ассемблерные команды условного и безусловного перехода. Состояние флагов. Пример программы.
- •Перечень команд условного перехода для команды cmp
- •Организация циклических программ на ассемблере. Пример программы.
Основные файлы ntfs, назначение основных файлов ntfs. Главная таблица файлов.
В NTFS все данные, хранящиеся на томе, содержатся в файлах. Это относится и к структурам данных, используемым для поиска и выборки файлов, к начальному загрузочному коду и битовой карте, в которой регистрируется состояние пространства всего тома (метаданные NTFS). Хранение всех видов данных в файлах позволяет файловой системе легко находить и поддерживать данные, а каждый файл может быть защищен дескриптором защиты. Кроме того, при появлении плохих секторов на диске, NTFS может переместить файлы метаданных.
Главная таблица файлов (MFT) занимает центральное место в структуре NTFS-тома. MFT реализована как массив записей о файлах. Размер каждой записи фиксирован и равен 1 Кб. Логически MFT содержит по одной строке на каждый файл тома, включая строку для самой MFT. Кроме MFT на каждом томе NTFS имеется набор файлов метаданных с информацией, необходимой для реализации структуры файловой системы. Имена всех файлов метаданных NTFS начинаются со знака доллара ($), хотя эти знаки скрыты.
Метофайл
Назначение основных файлов ntfs.
Так, имя файла MFT –– $Mft. Остальные файлы NTFS-тома являются обычными файлами и каталогами. Обычно каждая запись MFT соответствует отдельному файлу. Но если у файла много атрибутов или он сильно фрагментирован, для него может понадобиться более одной записи. Тогда первая запись MFT, хранящая адреса других записей, называется базовой (base file record).
Вторая запись указывает на файл в середине диска ($MftMirr), который называется зеркальной копией MFT и содержит копию первых нескольких строк MFT. Если по каким-либо причинам считать часть MFT не удастся, для поиска файлов метаданных будет использована именно эта копия MFT.
В процессе работы системы NTFS ведет запись в другой важный файл метаданных - файл журнала с именем $LogFile. NTFS использует его для регистрации всех операций, влияющих на структуру тома NTFS, в том числе для регистрации создания файлов и выполнения любых команд вроде Copy, модифицирующих структуру каталогов. Файл журнала используется и при восстановлении тома NTFS после аварии системы.
Еще один элемент MFT зарезервирован для корневого каталога (также обозначаемого как «\»). Его запись содержит индекс файлов и каталогов, хранящихся в корне структуры каталогов NTFS. Когда NTFS впервые получает запрос на открытие файла, она начинает его поиск с записи корневого каталога. Открыв файл, NTFS сохраняет файловую ссылку MFT для этого файла и поэтому в следующий раз, когда понадобится считать или записать тот же файл, сможет напрямую обратиться к его записи в MFT.
NTFS регистрирует распределение дискового пространства в файле битовой карты (bitmap file) с именем $Bitmap. Атрибут данных для файла битовой карты содержит битовую карту, каждый бит которой представляет кластер тома и сообщает, свободен кластер или выделен.
Файл защиты (security file) с именем $Secure хранит базу данных дескрипторов защиты, действующих в пределах тома. Дескрипторы защиты файлов и каталогов NTFS можно настраивать индивидуально, но для экономии места хранит настройки дескрипторов защиты в общем файле, который позволяет файлам и каталогам с одинаковыми параметрами защиты ссылаться на один и тот же дескриптор защиты. Такая оптимизация даст существенную экономию в большинстве сред, потому что в них целые деревья каталогов имеют одинаковые параметры защиты.
Другой системный файл, загрузочный (boot file), с именем $Boot хранит код начальной загрузки Windows 2000. Для успешного запуска системы код начальной загрузки должен находиться на диске в определенном месте. При форматировании команда format определяет это место в виде файла, создавая для него запись в MFT. При этом NTFS следует своим правилам, согласно которым все данные хранятся на диске в виде файлов. Загрузочный файл, как и файлы метаданных NTFS, может быть защищен индивидуальным дескриптором защиты, в такой модели «на диске есть только файлы» код начальной загрузки может быть изменен путем обычного файлового ввода-вывода, хотя загрузочный файл защищен от редактирования.
NTFS поддерживает файл плохих кластеров (bad-cluster file) с именем $BadClus, в котором регистрируются все сбойные участки дискового тома, и файл тома (volume file) с именем $Volume, который содержит имя тома, версию NTFS, под которую отформатирован том, и бит, устанавливаемый при каком-либо повреждении диска. Если этот бит установлен, диск должен быть восстановлен утилитой Chkdsk.
Файл сопоставления имен с буквами в верхнем регистре (uppercase file) с именем $UpCase включает таблицу трансляции букв между верхним и нижним регистрами. NTFS также поддерживает файл, содержащий таблицу определения атрибутов (attribute definition table), с именем $AttrDef; В нем определяютcя типы атрибутов, поддерживаемые томом, и указывается, являются ли они индексируемыми, следует ли их восстанавливать в ходе операции восстановления системы и т. д.
Некоторые файлы метаданных NTFS хранит в каталоге расширенных метаданных $Extend, в том числе помещая туда файл идентификаторов объектов ($ObjId), файл квот ($Quota), файл журнала регистрации изменений ($UsnJrnl) и файл точек повторного разбора ($Reparse). В этих файлах содержится информация, относящаяся к дополнительным возможностям NTFS. Файл идентификаторов объектов хранит идентификаторы объектов «файл», файл квот – значения квот и информацию о поведении томов, на которых используются квоты, файл точек повторного разбора – список файлов и каталогов, включающих данные точек повторного разбора, а в файле журнала изменений регистрируются изменения файлов и каталогов.