- •Задачи и интерфейсы Unix-подобных систем.
- •2.Структура ядра ос Linux.
- •3. Процессы в ос Linux. Общие понятия.
- •4. Процессы в ос Linux. Этапы создания процесса.
- •5. Взаимодействие процессов в ос Linux.
- •6. Реализация потоков в ос Linux.
- •7. Планирование в ос Linux.
- •8.Загрузка в ос Linux
- •13.Подкачка в ос Linux.
- •14.Алгоритм замещения страниц в ос Linux.
- •15.Ввод-вывод в ос Linux. Общие понятия.
- •17. Файловые системы в ос Linux. Общие понятия.
- •18. Файловые системы в ос Linux. Файловая система Ext2.
- •19. Файловые системы в ос Linux. Файловая система Ext3.
- •20. Файловые системы в ос Linux. Файловая система nfs.
- •21.Архитектура ос windows nt/2000/xp
- •22. Архитектура ос windows vista
- •23.Структура пользовательского режима. Программный интерфейс Win32 api.
- •24.Реестр ос Windows Vista.
- •25. Реализация объектов в oc windows Vista. Структура объектов.
- •26. Реализация объектов в oc windows Vista. Типы объектов.
- •27. Реализация объектов в oc windows Vista. Пространство имён.
- •Структура пространства имен
- •28. Задания, процессы, потоки, волокна в oc windows Vista.
- •29. Межпроцессное взаимодействие в oc windows Vista.
- •30. Реализация процессов и потоков в oc windows Vista.
- •31. Планирование в oc windows Vista. Условия вызова планировщика.
- •32. Планирование в oc windows Vista. Система приоритетов.
- •33. Планирование в oc windows Vista. Условия изменения приоритетов.
- •34. Технология dll. Структура dll-библиотеки. Наиболее важные dll-библиотеки.
- •35. Технология dll. Преимущества и недостатки dll. Win32 и dll
- •38. Конфигурация виртуального адресного пространства для пользовательского
- •39. Реализация, поддержка, особенности виртуальной памяти в oc windows Vista.
- •40. Реализация управления памятью в oc windows Vista. Обработка страничных
- •41. Алгоритм замещения страниц в oc windows Vista.
- •42. Управление физической памятью в oc windows Vista.
- •44. Файловая система fat. Загрузочный сектор.
- •45. Файловая система fat. Таблица размещения файлов.
- •46. Файловая система ntfs. Структура тома.
- •47. Файловая система ntfs. Структура главной файловой таблицы mft
- •48. Файловая система ntfs. Файловая запись mft для малого и большого файла.
- •49. Файловая система ntfs. Файловая запись mfTдля малого и большого каталога.
- •50. Файловая система ntfs. Файлы метаданных.
39. Реализация, поддержка, особенности виртуальной памяти в oc windows Vista.
Все пользовательские процессы в ОС Vista имеют своё виртуальное адресное пространство. Для 32-битной системы размер виртуального адресного пространства равен 4 гигабайтам. Два, из которых, отводятся для пользовательского режима, остальные два – для режима ядра. Для 64-битных систем виртуальные адреса могут быть как 32-битные (используются для совместимости) так и 64-битные. Также в таких системах 32-битные процессы могут получить 4 гигабайта (виртуальной) памяти.
Общая структура виртуального пространства 32-битной системы
Первые и последние 64 Кбайт виртуального адресного пространства не используются. Это делается для того, чтобы было проще отлавливать системные ошибки. Над 64 Кбайтами начинается область приватных данных и программ пользовательского процесса (данная область простирается до 2 Гбайт и является разной для разных процессов). Верхние 2 Гбайта – виртуальная память ядра. Она используется совместно всеми процессами, кроме таблиц страниц. Каждая виртуальная страница может находиться в одном из трёх состояний:
Недействительная страница (ссылка на такую страницу приводит к страничному прерыванию и нарушению доступа, т.е. такой страницы еще нет, она еще не загружена).
Зафиксированная страница (данное состояние возникает после того как на неё отображаются код или данные).
Зарезервированная страница (эта недействительная страница, но эти страница никогда не будут назначаться диспетчером памяти для других целей. Это используется для предотвращения излишнего роста из стека страниц).
Для поддержки виртуальной памяти используется механизм подкачки. Соответственно место на жестком диске - файл подкачки.
Windows использует следующую стратегию для выделения дискового пространства под страницы: зафиксированным страницам не выделяется место в файле подкачки до того момента когда их необходимо вытеснить в файл подкачки. Для тех страниц, которые никогда не вытесняются, дисковое пространство не выделяется.
Если суммарная виртуальная память меньше чем имеющаяся физическая, то файл подкачки не используется.
Для повышения производительности системы во время подкачки используются следующие механизмы:
страницы, которые подлежат вытеснению, группируются и затем сбрасываются на жёсткий диск большими частями за одну операцию ввода\вывода, при этом в файле подкачки выделяется сплошная часть дисковой памяти (Windows может поддерживать до 16 файлов подкачки, которые распределены по нескольким дискам, они имеют минимальный и максимальный размер); размер страницы чаще всего равен 4 Кбайта, однако в некоторых случаях 4 Мбайта;
40. Реализация управления памятью в oc windows Vista. Обработка страничных
прерываний.
При управлении памятью диспетчер памяти работает с процессами, поскольку процессы являются контейнерами ресурсов.
При создании процесса ему выделяется область ВАП, а также создаётся дескриптор VAD. Данный дескриптор содержит: диапазон отображаемых адресов, секция представления файла резервного хранения (место на жёстком диске) и так далее. При обработке страничных ошибок Windows различает 5 категорий:
страница не зафиксирована;
попытка обращения страницы с нарушением разрешения;
попытка модификации страницы;
необходимость в увеличении стека;
страница зафиксирована, но в данное время не отображена.
«Идея виртуальной памяти»: Изначально программа (процесс) загружаются в ОП не полностью. По мере работы программы (процесса), она подгружает необходимые части. В определенный момент может произойти следующая ситуация: физическая память переполнена и чтобы загрузить следующую необходимую часть программы, необходимо освободить часть памяти (ОП). В этот момент система решает какие из частей программы (процесса) являются менее важными. Их соответственно можно выгрузить на жесткий диск. Основная проблема заключается в том, чтобы определить какие из частей программы (процессов) являются менее важными.
Первая проблема: обмен между оперативной памятью и жестким диском происходит целыми страницами.
Другой проблемой является сам обмен между ОП и жестким диском. Частый обмен приводит к снижению эффективности системы. Медленная работа устройств ввода/вывода.
Основной идеей управления памятью в Windows Vista является концепция рабочего набора. Чтобы свести к минимуму взаимодействие с жестким диском применяется следующая стратегия: в памяти поддерживается определенное количество свободных страниц, которые можно использовать если есть запрос, от какого-либо процесса на подкачку страниц.
