Форум программистов, компьютерный форум CyberForum.ru

Почему программа в Windows может использовать лишь 1792 мегабайта RAM? - C++

Восстановить пароль Регистрация
 
ledkets
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 25
25.12.2011, 00:21     Почему программа в Windows может использовать лишь 1792 мегабайта RAM? #1
Простейшая программа, для того чтобы узнать сколько памяти можно использовать в системе.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
{
    unsigned int bit=0x40000000, sum=0;
    char *x;
 
    while (bit > 4096) 
    {
        x = (char*)malloc(bit);
        if (x)
            sum += bit;
        bit >>= 1;
    }
    printf("%08x bytes (%.1fMb)\n", sum, sum/1024.0/1024.0);
    return 0;
}
При выполнении программа выводит на экран число 1792.
Запускал в 32-битной WindowXP с 4 Гб RAM
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
25.12.2011, 01:19     Почему программа в Windows может использовать лишь 1792 мегабайта RAM? #2
Цитата Сообщение от ledkets Посмотреть сообщение
При выполнении программа выводит на экран число 1792.
Запускал в 32-битной WindowXP с 4 Гб RAM
Ну вот почти 2-Гб что и положено пользовательскому 32-битному процессу, остальное системе память нужна.
t1m0n
 Аватар для t1m0n
595 / 382 / 18
Регистрация: 03.11.2009
Сообщений: 1,788
25.12.2011, 02:49     Почему программа в Windows может использовать лишь 1792 мегабайта RAM? #3
вроде как то можно в boot.ini прописать, чтоб программы использовали 3Gb
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
25.12.2011, 03:10     Почему программа в Windows может использовать лишь 1792 мегабайта RAM? #4
Цитата Сообщение от t1m0n Посмотреть сообщение
вроде как то можно в boot.ini прописать, чтоб программы использовали 3Gb
... пишешь magaCAD universal?
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
25.12.2011, 11:07     Почему программа в Windows может использовать лишь 1792 мегабайта RAM? #5
Цитата Сообщение от t1m0n Посмотреть сообщение
вроде как то можно в boot.ini прописать, чтоб программы использовали 3Gb
Если системе оставить только 1Gb тогда будет доступно user-приложению меньшее число объектов ядра(потоки, синхронизирующие объекты, gdi...) почти в два раза.
Yandex
Объявления
25.12.2011, 11:07     Почему программа в Windows может использовать лишь 1792 мегабайта RAM?
Ответ Создать тему
Опции темы

Текущее время: 16:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru