goody написал(а):
У вас, извините, такая каша в голове (впрочем, у ugo каша еще большe )
Вечер тяпицы обещает быть томным. Наверное щас я прочту что чорная магия таки разоблачна.
goody написал(а):
но некоторые люди, считающие, что безопасности не может быть много, включают защиту DEP для всех процессов в системе.
Понимаешь, дело в том, что зашита DEP по умолчанию и так включена для всех процессов. Под название DEP объеденены две технологии, из которых одну майкрософт называет аппаратной, а другую программной. Ну не считая ещё того, что майкрософт включил в DEP SafeSEH у которого другие задачи, механизмы и реализация. Так вот аппаратный DEP и так включен для всех процессов в системе, если он поддерживается железом, при политике по дифолту (OptIn). А программный при этой политике не защищает, проверяемые SafeSEH. Поскольку все "основные программы и службы" windows скомпилированы с поддержкой SafeSEH, то речь идёт обычно только оп проверке dll. Вот такая вот загогулина. И отключить аппаратный DEP можно двумя путями: применить к DEP политику OptOut и вручную составить список исключаемых приложений, или применить к DEP политику AlwaysOff, отключив и его аппаратную и программные части целиком и полностью. Ну, кроме SafeSEH (который майкрософтом почему то тоже относится к DEP), и отключаемого только сильным колдунством.
И вобщем чтобы это узнать, статьи на саппорте майкрософта недостаточно, кажется некоторые вещи из тех что я описал не являются документированными, но это не сакральное знание, переданное мне на смертном одре Биллом Гейтцем, всё это можно найти во вполне приличных источниках, вот только избавь меня от необходимости искать пруфлинки, упорства в попытках обнаружения у меня в голове пищевых продуктов тебе не занимать, поисковиками пользоваться умеешь, так что сам.
А пассажи про то как злой DEP мешает игрокам играть в фолл3, асаассин крид, и в пятых Героев вообще бы заставили меня прослезиться, если бы я не знал, что DEP, и, особенно ASLR валят старфорс и прочую подобную нечисть, для чего дяде Билли пришлось проковырять для этих приложений хорошую такую дырку во всех типах защиты( ну терпеть же в самом деле игроторговцам убытки оттого что DEP и прочая защита валят старфорс), которая, ясное дело давно описана и юзается всеми, кому это интересно.
goody написал(а):
Теперь поговорим о другой причине вылетов. А именно - о виртуальной памяти
Дада, давно пора.
goody написал(а):
Вот здесь есть замечательная статья, написанная простым и доступным языком
Статья действительно замечательная. особенно жгут каменты самого аффтара в обсуждении на форуме, и кстати, там же, в обсуждении есть ссылки на публикации Руссиновича, вот читай лучше их, ну и перескажи главное, если есть желание. А статью egor23 обсуждать в деталях не стоит наверное. Нормальные попытки человека который учится и пытается разобраться в том, что же он сам делает.
goody написал(а):
Нашей игрушке (а она является 32-х разрядным процессом) по умолчанию выделяется 2 ГБ виртуальной памяти в любой (32-х или 64-х разрядной) Windows.
Цитата:Какой лимит выделения физической памяти на один процесс в 32-х разрядной системе (Windows2003)?
......................
таких ограничений вроде нет.
Это цитата из того же egor23 на форумах руборда несколько позже написания статьи. То есть человек потихонечку разбирается, и, в итоге, с ним всё будет в порядке, что вряд ли можно сказать о тех, кто результаты письменных упражнений по структурированию собственных представлений преподносит тут как некую истину ( и даже не в вине).
goody написал(а):
При этом, если у вас 32-х разрядная операционная система, то вам нужно кроме этого отредактировать файл boot.ini (находится в корне диска С:, файл скрытый, системный и не забудьте о проблемах, которые может за собой повлечь его редактирование).
Всё пропало, шэф, всё пропало. В ОС для рабочих станций файл boot.ini начиная с Windows Vista не только системный и скрытый, но и просто напрочь отсутствующий, и в связи с последним, его редактирование представляет просто непреодолимые трудности. Такие дела, да.
goody написал(а):
боюсь, что она полезна только на 64-битных системах. Говорю так, не видя программу потому, что не думаю, что она правит файл boot.ini.
Она определённо этого не делает. Хотя бы из за отсутствия этого файла в соаременных операционных системах. А с хр- pro х64 и w 2k3s x 64 эта тулза не работает.
goody написал(а):
А без правки последнего и без перезагрузки системы, выставление флага IMAGE_FILE_LARGE_ADDRESS_AWARE в исполняемом файле в 32-х разрядной системе никакого эффекта не даст.
Так что нет пути. Одна надежда на очередную порцию твоих гениальных прозрений. Для окатывания себя потным валом вдохновения поищи boot.ini в своей семёрке. ROFL. И так, если что, самый кошерный способ его редактирования- это с помощью утилиты BOOTCFG.exe, а не фухры- мухры. Так что спасибо большое, было весело, надеюсь на продолжение.
NNNNatali написал(а):
Если говорите "а" , то говорите и "б"!
Да любую букву. Ссылка вон несколькими постами наже, сильно помогло?
NNNNatali написал(а):
"давай на пальцах" - я не против, хотя в предыдущем посте #672 вроде минимум информации кроме того что программа "Программа расширяет доступную для игры виртуальную память"
Так мне этого достаточно. Какой имнно байт перезаписывается надо знать когда редактируешь в HEX редакторе вручную, а так зачем? Ну если одолевает досужее люботыство, спроси у автора, мне не интересно.
NNNNatali написал(а):
Вроде бы насколько помню так была устроена Windows NT , также устроены и ее последователи Windows XP, Windows Vista, Windows 7
Тебе совершенно точно изменяет память. Во всех этих поколениях (и ещё в w2k) менеджер памяти работает совершено по разному, и кстати вот как раз его модификация и приведение в соответствие с требованиями сегодняшнего дня- основной аргумент в продвижении нового продукта. w xp с менеджером памяти семёрки сладкая, но несбыточная мечта многих. Корпоративный сектор покупает семёрку не за рюшечки аэро.
NNNNatali написал(а):
ссылочку на "Ограничение на использование 2 ГБ памяти " мне объяснять как раз не надо - я помню что 32х битная адресация процессов это 4Гига адресов, из которых 2Гига берет система, остальные милостливо отдает процессам.
Всё таки основные тезисы напомнить придётся. 32битная адресация это 128 GB адресуемой памяти, и в MS Windows это реализовано например в W2k3s Datacenter Edition, а в системах попроще адресуемое пространство ограничено, поскольку сам по себе менеджер памяти нехилый пожиратель ресурсов, и чем больше лимит, тем больше потребляемые ресурсы, задействована ли эта память или нет. Если установлено в системе 4GB RAM при отключенных механизмах расширения (я упоминал из в предыдущем посте) типичной десктопной системой адресованы могут бвть 3.98. И в это адресуемое пространство входит Device Memory, то есть память видеокарты, встроенные кэши жестких дисков, оптических приводов, Ethernet адаптера, и так далее по списку. То есть чем более сильномогучую конфигурацию человек покупает (особенно это касается объема памяти видеокарты), тем меньшую область собственно RAM система может адресовать. То есть в тяжелых случаях около 2 GB, которые ОС по честному, то есть пополам поделит с зесимс. Человек, покупающий новый компьютер, такой черырёх (шести- восьми) ядерный монстр с прогрессивной видеокартой с безразмерной памятью, и, особенно в случае
prohogay написал(а):
но возможносьти вернуться на windows 7 нет, да и XP мне ближе
ставят хр и тут же влетают в ситуацию острого дефицита RAM, которой можно избежать под w7 64bit, но как- то душа не лежит к этому. Ну и всё это приправляется заявлениями в форуме в стиле "да у меня система (дальше следует описание конфигурации) и ложный вывод, что дефицита быть не может, ну вон же сколько уплочено. Вот тебе достаточно типичная ситуация.
NNNNatali написал(а):
Кстати я так и не поняла кстати к какому боку тогда сюда включение DEP?
Да многими вещами. Страницы области памяти, которые винда себе зарезервировала она метит DEP, её собственные исполняемые файлы DEP не проверяются, но в тех областях, которые она пометила, запуск исполняемого пользовательского приложения невозможен, если он и будет туда записан, DEP включается только вместе с Physical Address Extension, и в принциае не может работать без него. ещё масса технических Деталей. Если тебе правда интересно- изучай устройство ОС. Не по справке.
NNNNatali написал(а):
В официальной справке ни слова не сказано про то что она позоваляет уменьшить выделение памяти по ОС.
Я такие утверэдения и вообще и в теме только от тебя читал. Ну, или предположения. В моих ответах тоже ни слова про это нет. Может ты погорячилась с предположением?
NNNNatali написал(а):
Громкое имя программы не гарантия от кривых рук программистов.
Вообще- то довольно серьёзная гарантия. DEP и программный и аппаратный появился в w xp sp2. Приложений, отказавшихся работать с sp2 было достаточно. Об этом просто уже никто не помнит. Вендоры софта быстро выпустили исправления и заплатки, а кое- кто и новые версии. Стуация повторилась, и в больших масштабах с w Vista, где впервые был введен ASLR, и опять таки все приличные вендоры привели свой сот в соответствие, так что ты зря. Да, а неприличные сильно попросили мелкософт сделать для них дырочку в защите.
NNNNatali написал(а):
и запускает игру не с лаунчера, а с ярлыка напрямую, то вся память занята системными процессами (практически самой виндой) и игрой. Все, игру мы из проверки DEP исключили, остались только системные процессы, а тут уж выше головы не прыгнешь.
Ну да, всё так. Поэтому мне 2GB и хватает, я всё так и делаю.
NNNNatali написал(а):
Я просто пытаюсь понять DEP то нам зачем????
Ну ты же вот например заметила, что отключение DEP хорошо так действует на работоспособность ACDSee, а кто- то другой заметил что это зорошо для зесимс. А отключить аппаратный DEP для пользовательского приложения можно двумя путями, включив его для всех приложений (политика OptOut) и поставить это приложение в исключения, и это легко сделать прямо из гуя, или вообще отключить все виды DEP, что вобщем тоже несложно, но вот
http://www.mixei.ru/showpost.php?p=2581881
проблемы всё же случаются.
goody написал(а):
В общем, оказывается что эта программа только "патчит" исполняемые файлы.
А должна делать ещё что- нибудь?
goody написал(а):
Итак, что мы имеем в сухом остатке? Если вашей игре не хватает виртуальной памяти - отредактируйте вручную или при помощи описанных программ исполняемый файл игры.
То есть ты сам себе и ответил. Только не вручную, а полностью автоматически. А, ну да, я и забыл про твои фантазии с редактированием файла boot.ini. Найдёшь его в своей системе- опубликуй, любопытно же. lol