Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Адресное пространство процесса



В предыдущем разделе мы говорили о страничной и сегментной адресации. Как же эти две адресации уживаются в Windows? Оказывается, все очень просто. В сегментные регистры загружаются селекторы, базовые адреса которых равны нулю, а размер сегмента составляет 4 гигабайта. После этого о существовании сегментов и селекторов можно забыть, хотя для микропроцессора этот механизм по-прежнему работает. Основным же механизмом формирования адреса становятся страничные преобразования. Такая модель памяти и называется плоской (FLAT). Логическая адресация в такой модели определяется всего одним 32-битным смещением. Наши программы пишутся в плоской модели памяти. При этом вся область памяти, адресуемая 32-битным адресом, находится в нашем распоряжении. Только адрес этот является логическим адресом, который, в свою очередь, подвергается страничному преобразованию, а вот в какую физическую ячейку памяти он попадает, ответить уже весьма затруднительно.

На рис.3. представлено логическое адресное пространство процесса. Особо обратите внимание на разделенные (совместно используемые) области памяти (области 2,4,5). Что это значит? А значит это только одно: эти области памяти проецируются на одно и тоже физическое пространство.

Рассмотрим назначение областей по порядку.

- Область 1. Эта область заблокирована. Она предназначена для выявления нулевых указателей. Особенно это относится к языку Си, где функция malloc может возвращать нулевой указатель (т.е. NULL). Попытка записать по этому адресу приведет к соответствующему сообщению об ошибке операционной системы.

- Область 2. Эта область пространства использовалась в операционных системах серии Windows 9х. В операционных системах семейства Windows NT она входит в область 3. Для DOS и 16-битных приложений здесь отводится свое адресное пространство.

Следующая область адресного пространства (область 3), между 4 Мбайт и 2 Гбайт (в Windows 2000 и выше область начинается с 1 Мбайт), является адресным пространством процесса. Процесс занимает эту область пространства под код, данные, а также специфичные для него динамические библиотеки. Это неразделяемая область. Есть, однако, исключения. Можно определить отдельные разделяемые секции. Это значит, что некоторые страницы из этого логического пространства будут отображаться в одну физическую область у разных процессов.

Область 4. Закрытый раздел, используемый для внутренней реализации операционной системы.

Область 5 содержит в себе файлы, отображаемые в память, системные динамические библиотеки, а также динамическую память для 16-битных приложений. Для операционной системы Windows 2000 и выше эта область входит в следующую шестую область.

Область 6. Последняя часть адресного пространства отведена под системные компоненты. Удивительно, но в Windows 9х эта область не защищена от доступа обычных программ. В операционных системах семейства NT эта область недоступна исполняемым процессам.

[kgl].

Основная литература: [4] – 31-54, 551 - 559 c.

Контрольные вопросы:

1. Структура программы под Windows

2. В каком случае происходит выход из цикла обработки сообщений?

3. Виды дескрипторных таблиц

4. Какую информацию включает адресное пространство процесса?

[gl] Управление процессами

2.1 Управление процессами [:]

Процесс содержит собственное независимое виртуальное адресное пространство с кодом и данными, защищенными от других процессов. Каждый процесс, в свою оче­редь, включает в себя один или более независимо выполняющихся потоков. Процесс может создавать внутри себя новые потоки и новые независимые процессы, а также управлять сообщением и синхронизацией объектов.

Создавая процессы и управляя ими, приложения могут одновременно выполнять задачи по обработке файлов, производить вычисления и взаимодействовать с другими системами в сети. Возможно даже использование нескольких процессоров для уско­рения обработки.





Дата публикования: 2015-11-01; Прочитано: 1229 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...