Хелпикс

Главная

Контакты

Случайная статья





Виртуальная память. Подкачка страниц.



 

1. Реестр. Логическая и физическая организация.

Реестр - это иерархическая (древовидная) база данных, в которой хранятся настройки самой операционной системы, оборудования, на котором она выполняется, и программ, в ней установленных. Физически файлы реестра хранятся в папке %SystemRoot%\System32\Config и папке пользовательских профилей (Ntuser.dat). Без реестра Windows NT была бы просто набором программ, неспособных выполнить даже простейшие функции ОС. Все - даже мельчайшие детали конфигурационных данных – все упаковано в реестре.

В реестре Windows NT имеются пять автономно существующих корневых разделов. Каждый корневой раздел начинается с символов HKEY_ (аббревиатура от слов "hive key"). Буква Н также говорит о том, что имя раздела представляет собой дескриптор для связи программы с реестром.

Каждый корневой раздел охватывает важную часть реестра, имеющую специфическое функциональное значение, отделен от другого и обычно хранится в виде файла в папке %systemroot%\system32\config. Файлы корневых разделов не имеют расширений или типов, что упрощает их поиск.

2. Реестр. Основные разделы и их назначение.

 

3. Реестр. Типы данных.

Также существуют и другие типы параметров. Вот некоторые из них:

REG_DWORD_LITTLE_ENDIAN, 

REG_DWORD_BIG_ENDIAN,

REG_LINK,

REG_NONE,

REG_QWORD,

REG_QWORD_LITTLE_ENDIAN,

REG_RESOURSE_LIST,

REG_FULL_RESOURSE_DESCRIPTOR,

REG_REOURSE_REQUIREMENTS_LIST.

Следует отметить, что эти типы доступны только при использовании

непосредственно Win32 API.

 

4 Реестр. Средства для внесения изменений в реестр.

 

Основным средством для просмотра и редактирования записей реестра служит специализированная утилита "Редактор реестра". Для ее запуска наберите в запуске программы (Пуск->Выполнить) команду regedit. Откроется окно программы, в которой слева отображается дерево реестра, похожее по виду на отображение структуры диска в Проводнике, а справа выводятся ключи, содержащиеся в выбранном (активном) разделе. С помощью редактора можно редактировать значения, импортировать или экспортировать реестр, осуществлять поиск. Интерфейс и меню программы до боли знакомо любому пользователю Windows, и я думаю, что останавливаться на нем подробно не стоит, т.к. его освоение не составит никакого труда.

В Редакторе реестра имеется возможность записать всю древовидную структуру

реестра в текстовый файл (с расширением .reg), например, чтобы потом ее изучить или

сравнить с другой. Для этого служит команда "Экспорт файла реестра" из меню "Реестр".

Записывается в файл весь реестр целиком или лишь выделенный раздел, для чего следует

отметить специальный пункт в окне экспорта реестра.

Воспользуйтесь этой функцией, если хотите сравнить два реестра, сохранить на

всякий случай в отдельном месте сделанные настройки или просто исследовать реестр в

целом.

При редактировании имейте в виду, что команды "Отменить" в Редакторе реестра

нет. Так что удаление раздела или параметра будет необратимым.

Кроме штатных программ для редактирования реестра могут быть использованы reg-

и inf-файлы.

5 Структура inf-файла.

 

Инсталляционный inf-файл поделен на секции, каждая из которых начинается с идентификатора (имени секции), заключенного в квадратные скобки. Часть секций является обязательной, присутствие других секций зависит от назначения драйвера.

Порядок следования секций в файле не играет роли.

Корректно составленный inf-файл начинается с секции [Version], которая является заголовком и меткой для всего драйверного inf-файла. Допустимые и необходимые записи внутри секции [Version] перечисляются в таблице 12.1.

Signature - Обязательная запись. Одно из указанных ниже значений "$Windows NT" — для ОС ряда Windows NT, "$Windows 95" — для ОС Windows 9x/Me, "$Chicago$" — для всех версий ОС, поддерживающих WDM драйвера

Class -Имя класса для целого семейства драйверов. Некоторые имена, например, Net, Display или Unknown зарезервированы (предопределены). В секции [Version] должна быть либо директива Class, соответствующая типу устройства, обслуживаемого устанавливаемым драйвером, либо ClassGuid, либо обе сразу.

Секции [CopyFiles] имеют уникальные для INF файла названия, ссылки на них исходят из директив CopyFiles секций [DDInstall]. Соответственно, конкретные имена этих секций определяет сам разработчик inf-файла.

Каждая запись внутри секции [CopyFiles] имеет вид

destination-filename[, source-filename][, temp-filename][, flag]

где destination-filename является целевым (то есть новым, конечным) именем файла после копирования. Предполагается, что и исходный файл имеет такое же имя. В том случае, если исходный файл все-таки называется иначе, необходимо указать source-filename. Требование указывать temp-filename все еще требуется для Windows 98/Me, и это поле вводит промежуточное имя для нового файла до момента первой перезагрузки системы. В Windows 2000/XP/2003 это значение игнорируется.

Раздел [String].
Идентифицирует локализованные строки в INF-фаиле

В Windows 98 была возможность установки драйвера по нажатию правой кнопки мышки в программе Проводник на inf-файле с последующим выборе в открывшемся меню пункта "Установить". В Windows 2000/XP/2003 для такой установки необходимо наличие в inf-файле секций [DefaultInstall32.Xxx] и [DefaultInstall32.Xxx.Services], где "Ххх" обозначает суффиксы декорирования имен nt, ntx86, ntia64.

Использование таких секций и усеченная установка из программы Проводник (то есть без вовлечения Мастера Установки) зачастую дают неприемлемые результаты, поэтому рекомендуется при установке драйверов использовать обычный способ установки через Мастера Установки новых устройств.

Возможности inf-файлов для установки программ

7 Виртуальная память. Подкачка страниц.

Виртуа́льная па́мять— технология управления памятью, разработанная для многозадачных операционных систем. При использовании данной технологии для каждой программы используются независимые схемы адресации памяти, отображающиеся тем или иным способом на физические адреса в памяти ЭВМ. Позволяет увеличить эффективность использования памяти несколькими одновременно работающими программами, организовав множество независимых адресных пространств , и обеспечить защиту памяти между различными приложениями. Также позволяет программисту использовать больше памяти, чем установлено в компьютере, за счет откачки неиспользуемых страниц на вторичное хранилище .

При использовании виртуальной памяти упрощается программирование, так как программисту больше не нужно учитывать ограниченность памяти, или согласовывать использование памяти с другими приложениями. Для программы выглядит доступным и непрерывным все допустимое адресное пространство, вне зависимости от наличия в ЭВМ соответствующего объема ОЗУ.

Применение механизма виртуальной памяти позволяет:

· упростить адресацию памяти клиентским программным обеспечением;

· рационально управлять оперативной памятью компьютера (хранить в ней только активно используемые области памяти);

· изолировать процессы друг от друга (процесс полагает, что монопольно владеет всей памятью).

В большинстве современных операционных систем виртуальная память организуется с помощью страничной адресации. Оперативная память делится на страницы: области памяти фиксированной длины (например, 4096 байт), которые являются минимальной единицей выделяемой памяти (то есть даже запрос на 1 байт от приложения приведёт к выделению ему страницы памяти). Процесс обращается к памяти с помощью адреса виртуальной памяти, который содержит в себе номер страницы и смещение внутри страницы. Процессор преобразует номер виртуальной страницы в адрес соответствующей ей физической страницы при помощи буфера ассоциативной трансляции. Если ему не удалось это сделать, то требуется обращение к таблице страниц (так называемый Page Walk), что может сделать либо сам процессор, либо операционная система (в зависимости от архитектуры). Если страница выгружена из оперативной памяти, то операционная система подкачивает страницу с жёсткого диска (свопинг). При запросе на выделение памяти операционная система может «сбросить» на жёсткий диск страницы, к которым давно не было обращений. Критические данные (например, код запущенных и работающих программ, код и память ядра системы) обычно находятся в оперативной памяти (исключения существуют, однако они не касаются тех частей, которые отвечают за обработку аппаратных прерываний, работу с таблицей страниц и использование файла подкачки).

8. Секции, проекции и проецируемые файлы.

Объект-секция может быть большим и занимать много страниц. Для экономии своего виртуального адресного пространства процесс может отобразить только нужную ему часть секции; эта отображенная часть называется проекцией (view) секции. Проекция служит окном в совместно используемую область памяти, и разные процессы могут отображать разные проекции секции или даже несколько проекций .



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.