Последние темы Поиск
Общие форумы
Специализированные форумы
ПроцессорыРазгон и охлаждениеСистемные платыМодули памятиВидеосистемаTV- и FM-тюнеры, видеовход, видеовыходЦифровое видео: захват, монтаж, обработкаМониторы и другие устройства отображенияЦифровое фотоБеспилотные летательные аппаратыЦифровой звукProAudio: Профессиональное звуковое оборудованиеСтереосистемыДомашний кинотеатр: проигрыватели и источники сигналаДомашний кинотеатр: аудиосистемаДомашний кинотеатр: ТV и проекторыМагнитные и SSD накопителиОптические носители информацииСетевые носители информацииПериферияКорпуса, блоки питания, UPSСети, сетевые технологии, подключение к интернетуСистемное администрирование, безопасностьСерверыНоутбуки, нетбуки и ультрабукиПланшеты и электронные книгиМобильные телефоны, смартфоны, кпк, коммуникаторыМобильные гаджетыОператоры и технологии мобильной связиТелефония, телекоммуникации, офисные АТСБытовая техника
Программы
Игры
Авторские форумы
Прочие форумы
Форумы поддержки портала iXBT.com
Архивы конференции
Архив "О Конференции"Архив "Процессоры"Архив "Разгон и охлаждение"Архив "Системные платы"Архив "Модули памяти"Архив "Видеосистема"Архив "Видеозахват"Архив "Мониторы и другие устройства отображения"Архив "Цифровое изображение"Архив "Цифровой звук"Архив "Периферия"Архив "Корпуса, блоки питания, UPS"Архив "Коммуникации: сети и сетевые технологии"Домашний интернет, модемы (архив)Архив "Системное администрирование, безопасность"Архив "Мобильная связь"Программы Microsoft: Windows, Office, Server, Windows LiveАрхив "OС и системное ПО"Архив "Программы: Интернет"Архив "Программирование"Форум прикладных программистовАрхив "Электронные устройства и компоненты"Архив "Околокомпьютерный Флейм & Общий"Архив "Полемика (Злобный Флейм)"Околоавтомобильный ФлеймФорум ремонтниковВопросы компании IntelФотокамеры SamsungФорум о магазине приложений RuStoreФорум по продукции компании Huawei
Справка и сервисы
Другие проекты iXBT.com
mkol: Доступ к памяти выше 3 Гб на WIN32
mkol
Member
Автор темы
14/263 ответов
19 лет на iXBT, с июня 2005
Чаще пишет в "ДК TV" (13%)
Инфо Ответить
m
mkol Member Автор темы
17 лет назад / 26 марта 2008 01:29
Так как Windows XP SP2 (32 бит) может использовать не более 3 Гб (точный предел зависит от конфигурации компа), то неиспользуемый четвертый гигабайт хотелось бы использовать в качестве виртуального диска, на котором можно было бы сделать временную папку и кеш для браузера.
Может как-нибудь можно программно (или драйверу в режиме ядра) получить доступ к четвертому гигабайту, пусть даже косвенным (более медленным) способом, используя PAE, x64 адресацию, страничный доступ или еще что-нибудь? Cуществует такая программа (RAM Disk) для WinXP SP2?
Хотя на WinXP SP1 можно через PAE иметь доступ к памяти выше 3 Гб, но новые версии программ требуют наличия SP2, в том числе Visual Studio.
fdn
unregistered
Ответить
f
fdn unregistered
17 лет назад / 26 марта 2008 08:29
mkol

Учи матчасть! .

Единственный вариант для 32-битной ОС - это PAE + MemoryRemap + драйвера работающие в режиме PAE + Серверная ОС(или XP c SP < 2). Вероятность что это всё заведётся на обычном компьютере очень маленькая.
Семёныч
Member
42/185 ответов
23 года на iXBT, с февраля 2002
Чаще пишет в "Программирование" (29%)
Инфо Ответить
С
Семёныч Member
17 лет назад / 26 марта 2008 09:52
эмм, по-моему тут совсем другую матчасть надо учить.
Четверый гигабайт отводится по кернел - кернел конечно редко когда столько жрет - но "неиспользуемой" эту чаcть памяти назвать ну никак нельзя.
А так конечно никто не мешает написать драйвер который захватыет из этого гигабайта сколько дадут - и уж дальше уж хоть что (напр. вирутальный диск хоть под "временную папку" хоть под "кеш для браузера")
Но идея стрёмная.
KefirFromPerm
unregistered
Ответить
K
KefirFromPerm unregistered
17 лет назад / 26 марта 2008 10:02
Мне очень интересно получить ссылку в которой говорится, что 4Гб физической памяти не используется... Или используется ядром. Погуглил и нашел ограничение в 4Гб для винхп. Ни о каких 3Гб физической памяти нигде речи не идет.

Не... Если у Вас есть ссылка куда меня послать, сделайте милость, мне интересно в самом деле стало.
Семёныч
Member
43/186 ответов
23 года на iXBT, с февраля 2002
Чаще пишет в "Программирование" (29%)
Инфо Ответить
С
Семёныч Member
17 лет назад / 26 марта 2008 10:55
KefirFromPerm
ты про "virtual address space" vs. "physical memory"? - ну в этом смысле - да - я тоже несколько мутно написал (хотел как по-проще не залезая в дебри )
Биомеханик
Member
27/42783 ответов
24 года на iXBT, с июня 2000
Чаще пишет в "OС и сист. ПО" (39%)
Россия, Ленинград
Инфо Ответить
Биомеханик Member
17 лет назад / 26 марта 2008 12:15
KefirFromPerm
Мне очень интересно получить ссылку в которой говорится, что 4Гб физической памяти не используется...

http://www.ixbt.com/soft/windows-4gb.shtml
sleepwalker
Member
104/252 ответов
22 года на iXBT, с июля 2002
4 фото на iXBT.photo
Чаще пишет в "Игры" (40%)
Россия, Novosibirsk
Инфо Ответить
sleepwalker Member
17 лет назад / 26 марта 2008 12:47
Дж. Рихтер
Впервые увидев адресное пространство своего 32-разрядного процесса, я был удивлен тем, что его полезный объем чуть ли не вдвое меньше. Неужели раздел для кода и данных режима ядра должен занимать столько места? Оказывается — да. Это пространство нужно системе для кода ядра, драйверов устройств, кэш-буферов ввода-вывода, областей памяти, не сбрасываемых в файл подкачки, таблиц, используемых для контроля страниц памяти в процессе и т.д. По сути, Microsoft едва-едва втиснула ядро в эти виртуальные два гигабайта.

Заметьте, что ядро и так с трудом умещается в двухгигабайтовом разделе. Но при использовании ключа /3GB ядру остается всего 1 Гб. Тем самым уменьшается количество потоков, стеков и других ресурсов, которые система могла бы предоставить приложению. Кроме того, система в этом случае способна задействовать максимум 16 Гб оперативной памяти против 64 Гб в нормальных условиях — из-за нехватки виртуального адресного пространства для кода и данных режима ядра, необходимого для управления дополнительной оперативной памятью.
KefirFromPerm
unregistered
Ответить
K
KefirFromPerm unregistered
17 лет назад / 26 марта 2008 13:24
Биомеханик:
KefirFromPerm
Мне очень интересно получить ссылку в которой говорится, что 4Гб физической памяти не используется...

http://www.ixbt.com/soft/windows-4gb.shtml
Спасибо, буду знать...
Игорь Лейко
Member
60/19682 ответов
22 года на iXBT, с мая 2002
7 фото на iXBT.photo
Чаще пишет в "OС и сист. ПО" (23%)
Россия, Москва
Web-страница
Инфо Ответить
И
Игорь Лейко Member
17 лет назад / 26 марта 2008 13:26
sleepwalker
Рихтер говорит об адресном пространстве процесса, а в теме обсуждается физическая память. Так что цитата ни к селу, ни к городу.
coldfire
Member
197/441 ответов
22 года на iXBT, с июля 2002
Чаще пишет в "Программирование" (44%)
Россия
Инфо Ответить
c
coldfire Member
17 лет назад / 26 марта 2008 14:27
тогда уж и постановка вопроса "ни к селу, ни к городу", с чего это Windows XP не может использовать более 3Гб? Может. Но процесс по умолчанию может получить только 2Гб, а если в boot.ini прописать /3G, то 3Гб.
Игорь Лейко
Member
61/19689 ответов
22 года на iXBT, с мая 2002
7 фото на iXBT.photo
Чаще пишет в "OС и сист. ПО" (23%)
Россия, Москва
Web-страница
Инфо Ответить
И
Игорь Лейко Member
17 лет назад / 26 марта 2008 14:39
coldfire
с чего это Windows XP не может использовать более 3Гб?
Вообще-то статью я писал в том числе и для того, чтобы не повторять одно и то же в бессмысленных диалогах с людьми, ранее не сталкивавшимися с этой проблемой и не особо стремящимися самостоятельно разбираться в ней. Впрочем, самостоятельно разобраться действительно не всегда просто.
По существу материала, изложенного в статье, возражения есть? Добро пожаловать в форум с ее обсуждением.

Добавление от 26.03.2008 14:45:

coldfire
Но процесс по умолчанию может получить только 2Гб
Причем независимо от того, стоит ли на машине 2 Гб физической памяти или всего 128 Мб. Не так ли?
coldfire
Member
198/442 ответов
22 года на iXBT, с июля 2002
Чаще пишет в "Программирование" (44%)
Россия
Инфо Ответить
c
coldfire Member
17 лет назад / 26 марта 2008 15:21
Игорь Лейко
вообще-то больше 4Гб физической не используется, а больше 3х то пожалуйста. От 3.3 до 3.7 обычно винда видит при установленных 4Гб, в зависимости от того столько адресного пространства отъедают устройства в/в.

Причем независимо от того, стоит ли на машине 2 Гб физической памяти или всего 128 Мб. Не так ли?
естественно. Если у нас 3.5Гб физической, есть пара процессов получивших 2Гб виртуальной, то практически вся физическая из доступных 3.5 будет использована. Так почему же больше 3Гб физической Windows использовать не может?
Игорь Лейко
Member
62/19698 ответов
22 года на iXBT, с мая 2002
7 фото на iXBT.photo
Чаще пишет в "OС и сист. ПО" (23%)
Россия, Москва
Web-страница
Инфо Ответить
И
Игорь Лейко Member
17 лет назад / 26 марта 2008 15:38
coldfire
От 3.3 до 3.7 обычно винда видит при установленных 4Гб
Я бы сказал, что в последнее время обычно - от 3 до 3,25. Больше бывает редко. На практике тройка первое по порядку целое число, поэтом в противовес четырем нередно говорят о трех.

Если у нас 3.5Гб физической, есть пара процессов получивших 2Гб виртуальной, то практически вся физическая из доступных 3.5 будет использована.
Не обязательно, получение виртуальной памяти может не сопровождаться выделением физической.

Так почему же больше 3Гб физической Windows использовать не может?
Воспринимайте "три" как условную величину, означающую "три или чуть больше".
Для легкости общения, не более, не менее. (с)
А Windows понимайте как "клиентская 32-разрядная версия Windows", поскольку в остальных случаях подобные вопросы, как правило, не возникают.
coldfire
Member
199/443 ответов
22 года на iXBT, с июля 2002
Чаще пишет в "Программирование" (44%)
Россия
Инфо Ответить
c
coldfire Member
17 лет назад / 26 марта 2008 16:32
Игорь Лейко
Воспринимайте "три" как условную величину, означающую "три или чуть больше".
натянуто все таки обычно видится более 3х, прям ровно 3 это скорее особенности конкретной материнской платы, а не Windows XP.

Не обязательно, получение виртуальной памяти может не сопровождаться выделением физической.
да вроде несложно это сделать, программка где будем рандомно записывать в виртуальную память.
Konstantin Mironovich
Expert
2232/16039 ответов
25 лет на iXBT, с ноября 1999
Чаще пишет в "Политика" (35%)
Инфо Ответить
K
Konstantin Mironovich Expert
17 лет назад / 26 марта 2008 23:00
coldfire
естественно. Если у нас 3.5Гб физической, есть пара процессов получивших 2Гб виртуальной, то практически вся физическая из доступных 3.5 будет использована.
есть квоты GetProcessWorkingSetSize
кроме того, следует учитывать размер свопа.
1.процесс никогда не получит N мегов, если в сумме объем физической и свопа меньше этого значения. выскочит предупреждение системы при попытке аллокировать такой объем.
2.32бит процесс никогда не получит больше 3G - дельта, т.к. ОС тоже должна где-то помещаться. да и буфера для 3D много требуют. причем в двойном (или даже в тройном) размере видеопамяти на карте. размер свопа тут определяет совокупное количество памяти для всех запущенных процессов. т.е. чем больше своп, тем больше процессов можно запускать.
3.и наконец, 32бит процессы должны быть слинкованы соответствующим образом, чтобы преодолеть 2G барьер для указателей.

т.ч. /3G довольно метафизическое значение.

да вроде несложно это сделать, программка где будем рандомно записывать в виртуальную память.
попробуйте.
гарантию может дать только локирование памяти, а это непросто.
coldfire
Member
200/444 ответов
22 года на iXBT, с июля 2002
Чаще пишет в "Программирование" (44%)
Россия
Инфо Ответить
c
coldfire Member
17 лет назад / 27 марта 2008 07:15
1. это и так подразумевается
да и буфера для 3D много требуют. причем в двойном (или даже в тройном) размере видеопамяти на карте
2. если допустим на видеокарте 1.5Гига (проф. ускоритель), и их к тому же 2 (на 4 монитора или для sli), то я в принципе ничего не получу (ибо по вашему 3Г - 1.5*2 (это как минимум, а то и еще * 3)), так что-ли?
Но в MS сделали по другому, ОС помещается в последнем гигабайте виртуальной памяти (если /3G в Boot.ini указан) , там же мапится окно для доступа к видеопамяти (обычно 256Мб) и другим девайсам. На получение процессом своих виртуальных 3Гб это не влияет, если не хватит 1 гигабайта оставленных нами под систему, то она будет просто сбоить.

3. всего лишь опция /LARGEADDRESSAWARE (для Visual C++)
Murr
Member
640/26416 ответов
23 года на iXBT, с сентября 2001
1 фото на iXBT.photo
Чаще пишет в "Общий" (45%)
Черногория, Будва
Инфо Ответить
Murr Member
17 лет назад / 28 марта 2008 15:10
Konstantin Mironovich
3.и наконец, 32бит процессы должны быть слинкованы соответствующим образом, чтобы преодолеть 2G барьер для указателей.
Программы, наверное, а не процессы? Интересно, какой был в этом заложен сакральный смысл. AFAIK, в том же Linux можно собрать ядро с любой верхней границей. При создании процесса ядро просто прилепит самостоятельно сверху стек. Для чего может потребоваться самой программе знать границу - ума не приложу... Не гигабайтные же ж исполняемые образы, что даже если их статически цеплять, то необходимо знать, на 2м или 3м гигабайте. Снизу - статически исполняемый образ, сверху - стек, посередине все динамическое - библиотеки, кучи и пр.
Ваш ответ:

Нет значка Нет значка Вот тут! Лампочка Восклицание Вопрос Класс! Улыбка Злость Огорчение Поговорим? Краснею Подмигивание Ругаю ОдобряюBIUdelSxsupxsuboffsp spoilerqurlimgvideo• list1. list1 codeprecenter-hr-rusQWE→ЙЦУ
файлыочистить
Ваше имя: Авторизуйтесь Предпросмотр В полную форму
вставить выделенную цитату в окно ответа
Если Вы считаете это сообщение ценным для дискуссии (не обязательно с ним соглашаться), Вы можете поблагодарить его автора, а также перечислить ему на счет некоторую сумму со своего баланса (при отзыве благодарности перечисленная сумма не будет вам возвращена).
Также вы можете оценить сообщение как неудачное.
В течение суток можно 20 раз оценить сообщения разных участников (купите Premium-аккаунт, либо оплачивайте оценки сверх лимита).
Если Вы считаете это сообщение ценным для дискуссии (не обязательно с ним соглашаться), Вы можете поблагодарить его автора, а также перечислить ему на счет некоторую сумму со своего баланса (при отзыве благодарности перечисленная сумма не будет вам возвращена).
Также вы можете оценить сообщение как неудачное.
В течение суток можно 20 раз оценить сообщения разных участников (купите Premium-аккаунт, либо оплачивайте оценки сверх лимита).