|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Авг 22, 2004 10:28:05 · Поправил: MuZiKaNT "...Windows запускает каждую Win32 пpогpамму в отдельном виpтуальном пpостpанстве. Это означает, что каждая Win32 пpогpамма будет иметь 4-х гигабайтовое адpесное пpостpанство. Под Win32, мы больше не должны беспокоиться о моделях памяти или сегментах! Тепеpь только одна модель память: Плоская модель памяти. Тепеpь нет больше 64K сегментов. Память тепеpь это большое последовательное 4-х гигабайтовое пpостpанство. Это также означает, что вы не должны "игpать" с сегментными pегистpами. Вы можете использовать любой сегментный pегистp для адpесации к любой точке памяти..." Это отрывок из Iczelion'овсих туториалов, так вот, наверное тупой или уже задвавшийся вопрос (я подобной темы на форуме не нашел), но все же интересно, что будет если физической памяти будет БОЛЬШЕ чем 4 ГБ? |
|
|
Дата: Авг 22, 2004 10:32:54 · Поправил: MuZiKaNT Возможно не совсем полный вопрос.. Что если у меня памяти будет больше чем четыре ГБ, я не смогу получить доступ к верхним адресам? |
|
|
Дата: Авг 22, 2004 11:25:03 Сможешь. 4 гб это виртуальное адресное пространство, и оно проэцируется на физическую память. Если MS не наложили ограничения при проэкции(о чём я не слышал), то всё будет нормально. |
|
|
Дата: Авг 22, 2004 12:33:55 · Поправил: PavPS >> "я подобной темы на форуме не нашел" Жалллььь : http://www.wasm.ru/publist.php?list=24 там гениальные вещи. учат не путать иметь 4-х гигабайтовое адpесное пpостpанство и иметь 4-х гигабайтовое виртуальное адpесное пpостpанство. |
|
|
Дата: Авг 22, 2004 14:28:28 · Поправил: valterg MuZiKaNT что будет если физической памяти будет БОЛЬШЕ чем 4 ГБ? Расширение Интел Xeon CPUs - Physical Address Extensions (PAE) может использовать 36-bit адресную шину. Вкратце : ты можешь отображать виртуальные 4 Гига на любые из 64 Гиг. Серверные Винды это поддерживают - ключ так и называется /PAE. Понадобиться и "мать", поддерживающая PAE - в обычные компы ее не ставт. Но в современных условиях - это уже "ненужные ходули". 64-битные процессоры адресуют гораздо больше - есть уже 64-битный ХП и Linux-ы. |
|
|
Дата: Авг 22, 2004 22:47:59 · Поправил: MuZiKaNT PavPS Я не буду с спорить о качестве моих знаний так как сам сомневаюсь в них :) http://www.wasm.ru/publist.php?list=24 - это кстати не в форуме, и я там был, а адресное пространство с виртуальным адресным пространством стараюсь не путать.. ... но плохо получается... valterg Возможно я задал некорректный вопрос. В 64 битных системах скорее всего уже своя политика разделения адресного виртуального пространства, я про 32 битные системы.. Надеюсь ,что ничего очень смешного не скажу... "...В Win32® API используется плоская 32-разрядная модель памяти. Каждому процессу выделяется «личное» (private) изолированное адресное пространство, размер которого составляет 4Gb. Это пространство разбивается на регионы, немного отличные для Windows’95 и Windows NT. В общем для той и другой системы можно сказать, что нижние 2Gb этого пространства отведены процессу для свободного использования, а верхние 2Gb зарезервированы для использования операционной системой...." Здесь говорится о старой версии NT, но в 32 битной XP подобная фигня. Вот и вопрос, сможет ли процесс получить доступ к адресу лежащему выше своих "зарезервированых двух гигабайт"? |
|
|
Дата: Авг 23, 2004 00:26:59 MuZiKaNT >> "сможет ли процесс получить доступ к адресу лежащему выше своих "зарезервированых двух гигабайт"?" А почему нет Пиши драйвер. При вызове DeviceIoControl и некоторых других вызовах к драйверу (чтение/запись) всё осуществляется в контексте вызавающего процесса, а драйвер, в таком случае, может писать в любое место в этом адресном пр-ве (и выше 2-х и ниже) (если у страницЫ аттрибут write есть, а нет - поправь сам) |
|
|
Дата: Авг 23, 2004 00:28:35 MuZiKaNT Да. Рихтер, Глава 13: Управление памятью. И если я правильно понял механизм AWE, то и это тоже. Но не уверен, давно читал. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.058 |