Форум 3DNews
Вернуться   Форум 3DNews > Софт > Операционные системы Microsoft Windows

Ответ Создать новую тему
Опции темы Опции просмотра
Непрочитано 05.03.2010, 17:14   [включить плавающее окно]   #21
alex555
Мужской Бывалый
 
Аватар для alex555
 
Регистрация: 30.12.2003
Цитата (Theosoph) »
Во времена 16 битных процессоров многим прогам хватало тех нескольких мегабайт
какие там несколько мегабайт, 16 битами можноадресовать только 64к всего =) а когда появился 8086 с 16битными регистрами но с 20 битами памяти то получалось адресовать до мегабайта. и этот мегабайт писали с жирным восклицательным знаком =)
Цитата (Smirnoff) »
и под Win2003 x86 EE прекрасно отжирают по 16-32 гигабайта
ну под EE может и отжирали 16 а 32 врядли =). 32гиг оперативки для x86 ентерпрайза это недостижимый предел как 4 для XP

Цитата
а вот 4 гига предоставить программе x86 винда x64 вполне в состоянии.
это да, может. Только смыл писать х86 программу которая без ошибок будет работать только на х64 оси

Добавлено через 3 минуты

гг тут все размеры
__________________
"Bunnies don't do sale a bicycle but they can dance."

Последний раз редактировалось alex555; 05.03.2010 в 17:18.
alex555 вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 05.03.2010, 17:52   [включить плавающее окно]   #22
Theosoph
Мужской Заслуженный
Автор темы
 
Регистрация: 23.08.2003
Адрес: г. Каменское (бывш. Днепродзержинск)
Цитата
16 битами можноадресовать только 64к всего =)
2 в 16 степени=15,6 мб,т.е. грубо 16 мб. Простая арифметика Ограничения,связанные с 1 мб. памяти были,вроде бы, сугубо проблемой DOS,а не 16 битных процессоров.
Цитата
32гиг оперативки для x86 ентерпрайза это недостижимый предел как 4 для XP
2 в 36 степени (36 битная адресация по методу PAE)=65536,т.е 64 гб. Опять арифметика) Это значит,что серверные XP могут адресовать до 64 гб памяти.
Цитата
как 4 для XP
Superspeed RamDisk 10 Plus использует PAE для доступа к областям памяти выше 3,2 гб,причем даже на десктопных версиях. Если организовать диск в unmapped памяти размером 768 мегабайт,то можно полностью использовать "недоступную" память,при этом не затрагивая доступную. Эти 768 мегабайт добавляется к виртуальной памяти,доступной процессу,поэтому даже если он выйдет за пределы 2 гб,имея при этом возможность использовать 3 гб.,то произойдет использование своп-файла,что не приведет к задержкам процесса,т.к. он у нас лежит в памяти.
В этом случае используются все 4 гб памяти,несмотря на то,что везде отображается лишь только 3,25. Таким образом можно в 32 битке использовать до 64 гб памяти,но ограничения на процесс делает такое использование не эффективным в прочих ситуациях,кроме "пограничной" с 4 гб.

Добавлено через 5 минут

Цитата
это да, может. Только смыл писать х86 программу которая без ошибок будет работать только на х64 оси
Ключ longadressadware изначально предназначался для работы в паре с 3gb и соотв. в 32 битном окружении. Просто 64 битная ось тоже понимает этот ключ,но в отличие от 32 битной,в силу своей специфики может выделать до 4 гб на процесс. Это выделение носит прозрачный характер и не требует оптимизаций 32 кода именно с расчетом на использование в 64 битных осях.
Theosoph вне форума  
Ответить с цитированием
Непрочитано 05.03.2010, 18:02   [включить плавающее окно]   #23
Slavchik
Мужской Registered User
 
Аватар для Slavchik
 
Регистрация: 05.03.2003
Адрес: Москва
Цитата (Theosoph) »
2 в 16 степени=15,6 мб,т.е. грубо 16 мб. Простая арифметика
2 в 16 степени 65536, действительно простая арифметика Ровно 64Кб

Добавлено через 1 час 41 минуту

Цитата (Theosoph) »
2 в 36 степени (36 битная адресация по методу PAE)=65536
что-то не так с вашим калькулятором


Цитата (Theosoph) »
Ограничения,связанные с 1 мб. памяти были,вроде бы, сугубо проблемой DOS,а не 16 битных процессоров.
позволю себе предположить, что проблема о которой вы говорите касается несколько другого ограничения, а именно того, что ядро DOS без дополнительного драйвера, имя которому himem.sys, не умело работать с адресами, лежащими выше 640к ОЗУ. Ибо сказал Билл Гейтс, что 640к хватит человечеству до скончания веков его
Slavchik вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 05.03.2010, 21:23   [включить плавающее окно]   #24
Smirnoff
Мужской Модератор
 
Аватар для Smirnoff
 
Регистрация: 30.12.2004
Адрес: Новосибирск
Цитата (alex555) »
32гиг оперативки для x86 ентерпрайза это недостижимый предел как 4 для XP
Да ОЙ! Ты иногда первоисточники читаешь или где?
Цитата
32-разрядная версия Enterprise Edition и 64-разрядная версия Standard Edition поддерживают до 32 ГБ оперативной памяти
http://www.microsoft.com/Rus/Windows...eeditions.mspx
P.S. И в следующий раз, перед тем, как сболтнуть чушь - проверь свои знания по первоисточникам...

Добавлено через 2 минуты

Только сейчас заметил твою ссылку, сразу вопрос: ты сам-то читал по ней? Читать вообще умеешь? Прочитанное понимаешь?!.
__________________
С уважением,
Олег Р. Смирнов
Smirnoff вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 05.03.2010, 22:56   [включить плавающее окно]   #25
alex555
Мужской Бывалый
 
Аватар для alex555
 
Регистрация: 30.12.2003
Цитата (Smirnoff) »
Прочитанное понимаешь?!.
понимаю, мне так кажется =) если что вы ж меня поправите
я просто рассуждаю как 32битная XP может адресовать до 4Гб оператавки но пользовательские программы могут обычно использовать из них только до 2Гб а остальное системный кеш с ключом /3gb до 3 гиг
так и 32битный энтерпрайз из 32Гб максимальных для оперативки по крайней мере 1 гиг под системный кеш тоже потребует, так ведь? то есть 32 Гб под программу выделить не сможет никак

Добавлено через 8 минут

кстати давно было интересно
На суперкомпьютерах на которых виндовс сервер стоит какой там сервер стоит ?
тут один из компов под управлением win2000. 640 процессоров и наверное и памяти под терабайт.
__________________
"Bunnies don't do sale a bicycle but they can dance."

Последний раз редактировалось alex555; 05.03.2010 в 23:43.
alex555 вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 07.03.2010, 00:07   [включить плавающее окно]   #26
Keper
Мужской Модератор
 
Аватар для Keper
 
Регистрация: 30.07.2005
Адрес: Рязань
Цитата (Theosoph) »
MSSQL может использовать 16-32 гигабайта за счет 36-битной адресации (PAE),под использование которой он специально был заточен. Разработчикам пришлось пойти на немало ухищрений для обхода традиционных ограничений 32 битной архитектуры.
ничего подобного, MS SQL пользуется AWE.
__________________
Опытный шаман вылечит вашего электронного друга: танцы с бубном, снятие порчи и сглаза, заговор микросхем.
Keper вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 07.03.2010, 00:33   [включить плавающее окно]   #27
Theosoph
Мужской Заслуженный
Автор темы
 
Регистрация: 23.08.2003
Адрес: г. Каменское (бывш. Днепродзержинск)
Цитата (Keper) »
ничего подобного, MS SQL пользуется AWE.
AWE дает возможность обойти ограничение выделяемой памяти под процесс,
PAE же расширяет объем используемой Win памяти.
AWE без PAE не сможет обеспечить серверу выход за стандартные пределы 32-битных осей.

Указание ключа /PAE в файле Boot.ini и включение AWE в SQL Server позволяет SQL Server 2000 использовать более 4 ГБ памяти. Без параметра /PAE для SQL Server доступно не более 3 ГБ памяти.
Theosoph вне форума  
Ответить с цитированием
Непрочитано 07.03.2010, 00:40   [включить плавающее окно]   #28
Keper
Мужской Модератор
 
Аватар для Keper
 
Регистрация: 30.07.2005
Адрес: Рязань
Theosoph
MS SQL использует AWE, PAE же используется ОСью x86, больше ту мусолить нечего.
__________________
Опытный шаман вылечит вашего электронного друга: танцы с бубном, снятие порчи и сглаза, заговор микросхем.
Keper вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 07.03.2010, 00:40   [включить плавающее окно]   #29
Theosoph
Мужской Заслуженный
Автор темы
 
Регистрация: 23.08.2003
Адрес: г. Каменское (бывш. Днепродзержинск)
Цитата (Slavchik) »
Slavchik
С арифметикой я конечно немного перегорячился,но тем не менее16 битные процессоры (286/386SX) способны адресовать 16 мб.памяти за счет 24 разрядной шины адреса.

Добавлено через 3 минуты

Цитата (Keper) »
Theosoph
MS SQL использует AWE, PAE же используется ОСью, больше ту мусолить нечего.
MS SQL является приложением ОСИ и потому как ни крути использует PAE,для получения возможности выхода за пределы 3 гигабайт Не напрямую,конечно,но с другой стороны,без него никак
Theosoph вне форума  
Ответить с цитированием
Непрочитано 07.03.2010, 00:50   [включить плавающее окно]   #30
Slavchik
Мужской Registered User
 
Аватар для Slavchik
 
Регистрация: 05.03.2003
Адрес: Москва
Цитата (Theosoph) »
С арифметикой я конечно немного перегорячился,но тем не менее16 битные процессоры (286/386SX) способны адресовать 16 мб.памяти за счет 24 разрядной шины адреса.
так речь была не о них, когда говорили о 64к адресуемых.
Slavchik вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 07.03.2010, 02:48   [включить плавающее окно]   #31
Theosoph
Мужской Заслуженный
Автор темы
 
Регистрация: 23.08.2003
Адрес: г. Каменское (бывш. Днепродзержинск)
Теперь ясно,отчего Modern Warfare 2 вылетала в последнем уровне после падения лодки с водопада в 32 битной версии Windows 7 и спокойно их проходила на 64 битках (и 7 и XP)
Exe-шник этой игры изначально был скомпилирован с флагом LARGEADDRESSAWARE,что среди игрушек бывает нечасто. Это значит,что в WinXP 32 с флагом /3gb (желательно с параметром /userva) и 64 битных системах (без всякой возни) игрушка получит дополнительную память.
И,как показал опыт,ненапрасно. Дело в том,что на практике вылет приложения происходит при потреблении им 1,7-1,8 гб (теория,как обычно,оказывается красивее практики),а игрушка эта уже после загрузки первого уровня потребляла 1,2 гб. После долгой игры и в загруженных сценах объем подскакивал до 1,5-1,6 с тенденцией очень медленного увеличения (кеш или утечка),а на пресловутом месте с лодкой потребление выросло до 2 гб,что и приводило к вылету.
Посмотрел спецпрогой на некоторые другие игрушки :
Call of Quarez : без флага
Анабиоз : без флага
Red Alert 3 Uprising : без флага
И др. Ни одна другая игра на моем винте не использовала этот флаг. Упрекнуть MF2 в плохой оптимизации тяжело : игрушка идет необычайно легко (для шутеров) на 9600GT в 1920х1080 2AA.
Хотело бы проверить exe-шник Supreme Commander 2,когда появится такая возможность. В первой версии этой игры проблемы начинались с памятью имелись при игре на 8 игроков,так что во второй с более высокими требованиями ключ просто необходим. Огромные пространства,толпы юнитов требуют немало памяти и стандартных 1,7 гб уже может не хватать.

Резюмируя : для разработчиков игр LARGEADDRESSAWARE представляет хорошую возможность оставаться на комфортных 32 битах,при этом не упираясь в 1,7 гб предел,которых уже может быть недостаточно. На 64 битных системах игра сможет получить до 4 гб виртуальной памяти,чего вполне достаточно минимум на год вперед. А там,когда индустрия созреет в 64 битном отношении и в диспетчере задач процесс с значком "*32" в конце будет редким исключение,играм можно будет и сообразить на 64 бита.
Theosoph вне форума  
Ответить с цитированием
Непрочитано 08.03.2010, 14:39   [включить плавающее окно]   #32
Smirnoff
Мужской Модератор
 
Аватар для Smirnoff
 
Регистрация: 30.12.2004
Адрес: Новосибирск
Цитата (Theosoph) »
Exe-шник этой игры изначально был скомпилирован с флагом LARGEADDRESSAWARE
Интересно, в readme к этой игрушке не написано про желательность флага /3GB на винде x86?..
__________________
С уважением,
Олег Р. Смирнов
Smirnoff вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 08.03.2010, 15:06   [включить плавающее окно]   #33
Theosoph
Мужской Заслуженный
Автор темы
 
Регистрация: 23.08.2003
Адрес: г. Каменское (бывш. Днепродзержинск)
Readme этой игры на редкость лаконичный и убогий. Есть проблемы - обновите дрова ATI/Nvidia,звука AC97,вот и все,что там сказано про тех. проблемы)
Даже в интернете нигде не сказано,что под эту игру полезен ключ /3gb.
С ключом /3gb под 32 битными системами не все так просто. Те проблемы,что были у меня с драйвером Intel,судя по высказываниям на форумах не единичны. Вместе с /3gb нужно использовать /userva,что бы избежать конфликтов с адресным пространством для нужд самой винды.
http://support.microsoft.com/kb/316739/ru

Последний раз редактировалось Theosoph; 08.03.2010 в 21:01.
Theosoph вне форума  
Ответить с цитированием
Непрочитано 08.03.2010, 17:39   [включить плавающее окно]   #34
Theosoph
Мужской Заслуженный
Автор темы
 
Регистрация: 23.08.2003
Адрес: г. Каменское (бывш. Днепродзержинск)
Тестируя (от нефиг делать) производительность 7-zip в соседней теме столкнулся с таким интересным фактом,который может иметь отношение к данной теме.
Факт таков : 32 битная версия 7-ZIP не смогла произвести тестирование производительности внутренним бенчмарком с макс.размером словаря из-за нехватки памяти,чего не наблюдалось в такой же 32 битной версии на 64 битной XP.
Главной фишкой во всем этом безобразии являлось то,что программа требовала для себя всего 1546 метров,что довольно далеко до теоретических 2 гб и даже ранее описанных 1700 м. Ошибка выскакивала на старте теста,поэтому объяснить это нарастанием использования памяти во время самой операции не получится,да и свободной памяти было около 3 гигов (200 занято,3,2 доступно) (см.вложение)
Вопрос :неужели на практике Win32 без всяких ключей не способна адресовать даже 1546 метров памяти под процесс ?!
Миниатюры
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 314
Размер:	127.4 Кб
ID:	29732  
Theosoph вне форума  
Ответить с цитированием
Непрочитано 10.03.2010, 18:13   [включить плавающее окно]   #35
Theosoph
Мужской Заслуженный
Автор темы
 
Регистрация: 23.08.2003
Адрес: г. Каменское (бывш. Днепродзержинск)
Цитата (alex555) »
Ограничение на объем памяти выделяемого на процесс не может быть проблемой в принципе, никто же не мешает игрушке запустить 2 и более процессов.
С таким успехом серверу не нужен и AWE : можно было бы разбивать данные на статические процессы-буфера по 1,7-2 гига не заморачивая себе голову спецтехнологией.
Не зная тонкостей программирования,чисто логически предполагаю,что разбить игру на 2 и более процессов технически сложно,если вообще возможно. Как ты себе вообще это представляешь ? Грубо говоря,представь себе какой-нибудь C&C с кучей мельтешащих танчиков,пехоты и пр.единиц. Что возьмет на себя первый процесс и что другой ? Как они будут взаимодействовать,при этом образуя одну общую картину ?
На практике же игры используют именно 1 процесс. Если бы так можно было сделать,то играть в Герои 5 против компа было бы одно удовольствие : первый процесс считает ход 1 игрока компа,второй 2-ого и так до 4,каждый из которых при этом юзает 1 ядро. Все 4 ядра в деле)
Звучит красиво,но технически сие врядли реализуемо.
Theosoph вне форума  
Ответить с цитированием
Непрочитано 10.03.2010, 18:46   [включить плавающее окно]   #36
BSE
Мужской Абсолютный
 
Аватар для BSE
 
Регистрация: 08.04.2009
Адрес: Минск / Владивосток
Цитата (Theosoph) »
Грубо говоря,представь себе какой-нибудь C&C с кучей мельтешащих танчиков,пехоты и пр.единиц. Что возьмет на себя первый процесс и что другой ? Как они будут взаимодействовать,при этом образуя одну общую картину ?
На практике же игры используют именно 1 процесс. Если бы так можно было сделать,то играть в Герои 5 против компа было бы одно удовольствие : первый процесс считает ход 1 игрока компа,второй 2-ого и так до 4,каждый из которых при этом юзает 1 ядро.
Как раз наоборот: RTS несложно распараллелить, а вот распределить ходы в пошаговой стратегии так, как описали вы, невозможно.
__________________
Под косматой елью, в темном подземелье,
Где рождается родник, — меж корней живет старик.
BSE вне форума  
Ответить с цитированием
Непрочитано 10.03.2010, 19:25   [включить плавающее окно]   #37
Theosoph
Мужской Заслуженный
Автор темы
 
Регистрация: 23.08.2003
Адрес: г. Каменское (бывш. Днепродзержинск)
Цитата (BSE) »
Как раз наоборот: RTS несложно распараллелить, а вот распределить ходы в пошаговой стратегии так, как описали вы, невозможно.
Распараллелить на несколько ядер CPU или на несколько процессов ?!! Это не одно и тоже...
Невозможно : каждому процессу нужны данные другого процесса,при том что все они забирают процессорное время,а тут еще и обмен друг с другом. Прикинь грубо : процесс "A" руководит одними юнитами/сторонами,а процесс "Б" другими. Для построения стратегии процессу "A" нужно следить за движениями соперника,т.е. получать данные от процесса "Б",причем непрерывно. Эти данные нужно хранить вдобавок к своим,что бы на их основе совершать необходимые вычисления. Получается полная катавасия и чем больше таких процессов,тем больше нужно каждому тратить памяти на хранение данных соседних процессов..
Theosoph вне форума  
Ответить с цитированием
Непрочитано 10.03.2010, 19:33   [включить плавающее окно]   #38
BSE
Мужской Абсолютный
 
Аватар для BSE
 
Регистрация: 08.04.2009
Адрес: Минск / Владивосток
Цитата (Theosoph) »
Распараллелить на несколько ядер CPU или на несколько процессов ?!! Это не одно и тоже...
__________________
Под косматой елью, в темном подземелье,
Где рождается родник, — меж корней живет старик.
BSE вне форума  
Ответить с цитированием
Непрочитано 10.03.2010, 19:33   [включить плавающее окно]   #39
Theosoph
Мужской Заслуженный
Автор темы
 
Регистрация: 23.08.2003
Адрес: г. Каменское (бывш. Днепродзержинск)
Кстати на тему достаточности памяти для игр и взаимосвязи между оптимизированностью и объем потребления памяти (один товарищ тут такое утверждал).
Старая пошаговая стратегия с графикой позапрошлого поколения Heroes V (3.1) на карте с размерами "невероятная" и 4 активными игроками (макс.возм. 8,но данная карта была сценарием и не позволяла увеличивать число игроков) потребляла 1,4 гб оперативной памяти,при макс.практических 1,7. Т.е. игре двулетней давности не хватило каких-то 300-400 метров для неминуемого вылета - ведь флага-выручалки у нее нет. Если бы карта поддерживала 8 игроков,то прибавляйте еще пару сот метров,но главное не это,а то,что в более новых играх требования к памяти естественным образом должны быть выше. Это просто естественно.
Theosoph вне форума  
Ответить с цитированием
Непрочитано 10.03.2010, 19:42   [включить плавающее окно]   #40
Smirnoff
Мужской Модератор
 
Аватар для Smirnoff
 
Регистрация: 30.12.2004
Адрес: Новосибирск
Цитата (Theosoph) »
на несколько ядер CPU или на несколько процессов ?!! Это не одно и тоже..
Естественно, что "не одно и то же": задача программы - породить столько процессов (и организовать между ними взаимодействие - а как же? ) сколько ей надо; задача диспетчера ОСи - разложить эти процессы на доступное количество ядер/процессоров оптимальным образом.
__________________
С уважением,
Олег Р. Смирнов
Smirnoff вне форума  
Конфигурация ПК
Ответить с цитированием
Ответ Создать новую тему

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 04:23. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 2000-2017 3DNews. All Rights Reserved.
Администрация 3DNews требует соблюдения на форуме правил и законов РФ
Серверы размещены в Hostkey