БОЛЬШЕ чем 4 ГБ!

Тема в разделе "WASM.WIN32", создана пользователем MuZiKaNT, 22 авг 2004.

  1. MuZiKaNT

    MuZiKaNT New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    15
    Адрес:
    от Верблюда
    "...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 ГБ?
     
  2. MuZiKaNT

    MuZiKaNT New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    15
    Адрес:
    от Верблюда
    Возможно не совсем полный вопрос.. Что если у меня памяти будет больше чем четыре ГБ, я не смогу получить доступ к верхним адресам?
     
  3. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    Сможешь.

    4 гб это виртуальное адресное пространство, и оно проэцируется на физическую память.

    Если MS не наложили ограничения при проэкции(о чём я не слышал), то всё будет нормально.
     
  4. PavPS

    PavPS New Member

    Публикаций:
    0
    Регистрация:
    24 фев 2004
    Сообщения:
    109
    Адрес:
    Russia
    >> "я подобной темы на форуме не нашел"



    Жалллььь : http://www.wasm.ru/publist.php?list=24



    там гениальные вещи. учат не путать иметь 4-х гигабайтовое адpесное пpостpанство и иметь 4-х гигабайтовое виртуальное адpесное пpостpанство.
     
  5. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    MuZiKaNT





    Расширение Интел Xeon CPUs - Physical Address Extensions (PAE) может использовать 36-bit адресную шину.

    Вкратце : ты можешь отображать виртуальные 4 Гига на любые из 64 Гиг. Серверные Винды это поддерживают - ключ так и называется /PAE. Понадобиться и "мать", поддерживающая PAE - в обычные компы ее не ставт. Но в современных условиях - это уже "ненужные ходули". 64-битные процессоры адресуют гораздо больше - есть уже 64-битный ХП и Linux-ы.
     
  6. MuZiKaNT

    MuZiKaNT New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    15
    Адрес:
    от Верблюда
    PavPS

    Я не буду с спорить о качестве моих знаний так как сам сомневаюсь в них :)



    - это кстати не в форуме, и я там был, а адресное пространство с виртуальным адресным пространством стараюсь не путать..

    ... но плохо получается...



    valterg

    Возможно я задал некорректный вопрос. В 64 битных системах скорее всего уже своя политика разделения адресного виртуального пространства, я про 32 битные системы..



    Надеюсь ,что ничего очень смешного не скажу...

    "...В Win32® API используется плоская 32-разрядная модель памяти. Каждому процессу выделяется «личное» (private) изолированное адресное пространство, размер которого составляет 4Gb. Это пространство разбивается на регионы, немного отличные для Windows’95 и Windows NT. В общем для той и другой системы можно сказать, что нижние 2Gb этого пространства отведены процессу для свободного использования, а верхние 2Gb зарезервированы для использования операционной системой...."



    Здесь говорится о старой версии NT, но в 32 битной XP подобная фигня.

    Вот и вопрос, сможет ли процесс получить доступ к адресу лежащему выше своих "зарезервированых двух гигабайт"?
     
  7. PavPS

    PavPS New Member

    Публикаций:
    0
    Регистрация:
    24 фев 2004
    Сообщения:
    109
    Адрес:
    Russia
    MuZiKaNT



    >> "сможет ли процесс получить доступ к адресу лежащему выше своих "зарезервированых двух гигабайт"?"



    А почему нет Пиши драйвер. При вызове DeviceIoControl и некоторых других вызовах к драйверу (чтение/запись) всё осуществляется в контексте вызавающего процесса, а драйвер, в таком случае, может писать в любое место в этом адресном пр-ве (и выше 2-х и ниже) (если у страницЫ аттрибут write есть, а нет - поправь сам)
     
  8. sensy

    sensy New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2004
    Сообщения:
    29
    MuZiKaNT

    Да. Рихтер, Глава 13: Управление памятью.



    И если я правильно понял механизм AWE, то и это тоже. Но не уверен, давно читал.