Вверх ↑
Этот топик читают: Гость
Ответов: 3889
Рейтинг: 362
#31: 2011-05-01 01:05:32 ЛС | профиль | цитата
[offtop]nesco, рано сдали позиции, коллега)

Dilma,я тут в постах выше случайно за nesco ответил на вопрос, каким костылём в 32bit x86 адресовать много памяти одному приложению. Причём реализовано было не только (и не столько ))) ) в Windows, но и в unix-подобных системах. Как в иксах сделано - врать не стану, а в Windows сделано и активно работало в MSSQL серверах баз данных на x86 32bit по технологии AWE. Да, можно говорить, что это невероятная редкость и мало какими приложениями поддерживается. Но факт не оспоримый. Технология есть, и только маркетинг не давал её предоставить обычным юзверям в бытовых версиях ОС. И сейчас тот же маркетинг ставит палки в колёса юзверям до сих пор. Чтобы не создавать конкуренции со своими серверными ОС, мелкософт урезал поддержку ОЗУ даже в 64-битных версиях Windows 7 бытового класса (до "Профессиональной").
------------ Дoбавленo в 01.05:
При этом я уже говорил, что 64-битные системы имеют преимущества в работе с массой данных, и адресация большой памяти значительно проще, чем извраты со страничным мэппингом. Так что я только за повышение разрядности. Но надо быть справедливыми, мировой заговор жадных буржуев должен быть изобличён и подвергнут праведному гневу))[/offtop]
карма: 1

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#32: 2011-05-01 01:47:58 ЛС | профиль | цитата
[flood]
1nd1g0 писал(а):
Но надо быть справедливыми, мировой заговор жадных буржуев должен быть изобличён и подвергнут праведному гневу

Бронивичок подогнать [/flood]
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#33: 2011-05-01 03:28:22 ЛС | профиль | цитата
1nd1g0 писал(а):
Да, можно говорить, что это невероятная редкость и мало какими приложениями поддерживается

ключевой момент - прозрачная поддержка более 4Gb памяти на 32х битной архитектуре не возможна. А раз так, то простите о каком маркетинге вообще идет речь?

1nd1g0 писал(а):
И сейчас тот же маркетинг ставит палки в колёса юзверям до сих пор. Чтобы не создавать конкуренции со своими серверными ОС, мелкософт урезал поддержку ОЗУ даже в 64-битных версиях Windows 7 бытового класса (до "Профессиональной").

это еще одна причина, по которой люди, желающие получить максимум от своего железа и своей ОС выбирают linux, а не Windows, которая практикует подобные вещи не только с ОЗУ, т.к. им, как верно уже было замечено, не нужна конкуренция с серверными версиями, и что более важно - со старыми

PS: в *nix для 32х битных систем есть модификация ядер с суффиксом pae, которая позволяет системе видеть более 4Gb. Поскольку там(в отличие от Windows) никаких проблем с переходом на amd64 никогда не было, то костыльными технологиями по адресации одной программой более 4Gb (а на самом деле более 3Gb) никто не занимался, ибо бесперспективность подхода очевидна любому технарю.
карма: 27
0
Ответов: 249
Рейтинг: 4
#34: 2011-05-01 07:03:00 ЛС | профиль | цитата
Испытал сегодня EnumProcess на х64 как и думал выдает в список только х32 процессы.
карма: 1

0
Ответов: 3889
Рейтинг: 362
#35: 2011-05-01 09:21:43 ЛС | профиль | цитата
[flood]
Dilma писал(а):
простите о каком маркетинге вообще идет речь?
Они намеренно не реализовали поддержку большой памяти в бытовых ОС, соответственно, AWE никто не использовал. Если бы поддержка реализовывалась начиная, скажем , в 2001г. с WinXP Home, то ёмкие пользовательские приложения вроде САПР, видео, фоторедакторов, сервера БД и т.д. уже лет десять как работали бы с оперативкой до 64 Гб и одним искуственным маркетинговым преимуществом в рекламе новых архитектур стало бы меньше, для конечного пользователя, естественно.[/flood]
карма: 1

0
Ответов: 8930
Рейтинг: 823
#36: 2011-05-01 12:22:52 ЛС | профиль | цитата
Dilma, в выложенной схеме каждое нажатие кнопки прибавляет к показываему в диспетчере размеру по ~50 Кб (пятьдесят килобайт) от 1140 - 1200 -1240.... Кб
карма: 19

0
Администрация
Ответов: 15295
Рейтинг: 1519
#37: 2011-05-01 13:47:32 ЛС | профиль | цитата
Леонид писал(а):
к показываему в диспетчере размеру по

а к виртуальной?
карма: 27
0
Ответов: 8930
Рейтинг: 823
#38: 2011-05-01 18:29:47 ЛС | профиль | цитата
Dilma, [flood]Ещё раз спасибо за Ваше мнение о моих знаниях Вот пошаговая инструкция -- как раз [/flood]
Если правильно увидел, то по 20 Мб
Память_1.jpg
Память_2.jpg
карма: 19

0
файлы: 2Память_1.jpg [91.4KB] [312], Память_2.jpg [94.7KB] [213]
Администрация
Ответов: 15295
Рейтинг: 1519
#39: 2011-05-01 22:55:08 ЛС | профиль | цитата
Леонид, программа показывает то, что мы на запрос у системы 20Мб получили 20Мб, а не в 8 раз больше. В виртуальной памяти выделенный кусок оказался потому, что он нами никак не используется. Это можно проверить к примеру так:

Add(Button,12089024,105,161)
{
Left=105
Top=160
link(onClick,3044783:doit,[])
}
Add(InlineCode,3044783,168,161)
{
WorkPoints=#4:doit|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|42: procedure doit(var d:Tdata; i:word);|5: end;|0:|14:implementation|0:|13:var s:string;|0:|48:procedure THiAsmClass.doit(var d:Tdata; i:word);|14:var t:integer;|5:begin|30: setlength(s, 20*1024*1024);|29: for t := 1 to length(s) do|17: s[t] := 'd';|4:end;|0:|4:end.|
}
прибавит 20Мб и туда, и туда

PS: чем проще эксперимент, тем точнее его результаты.
карма: 27
0
Ответов: 8930
Рейтинг: 823
#40: 2011-05-02 00:15:03 ЛС | профиль | цитата
Dilma, спасибо, чуть просветлело
карма: 19

0
40
Сообщение
...
Прикрепленные файлы
(файлы не залиты)