Windows XP 2020 - сборка системы для современных ПК Драйвера, методики, твики для WinXP на компьютерах 2014-2020 годов
#21
Отправлено 23 Июнь 2020 - 02:07
Нам известно, что официально драйвера на Windows XP существуют только для NVIDIA Geforce GTX960, а более новые карты в поддержку не входят. Оказывается есть методика адаптировать драйвер для карт GTX970, 980, 980TI и Titan X.
Описание по английски, но там всё просто и понятно:
https://mattpilz.com...980-ti-titan-x/
#23
Отправлено 23 Июнь 2020 - 10:14
#24
Отправлено 23 Июнь 2020 - 11:48
1) Windows XP - проприетарная ОС от Microsoft. Почему она - хорошо, и надо ставить на современные ПК, а более новые ОС - плохо?
2) Как 32-битная Windows XP будет работать с более чем 4 Гбайт ОЗУ? Сейчас даже в офисные компы зачастую ставят 8 Гбайт.
#25
Отправлено 23 Июнь 2020 - 15:57
TINC (23 Июнь 2020 - 11:48) писал:
Существует режим PAE, который позволяет задействовать более, чем 4ГБ. Когда-то давно, во время перехода "индустрии" на Висту, я пробовал баловаться с этим режимом на ХР, но это приводило это только к самым разным глюкам софта. К примеру, Опера просто зависала, что-то вылетало в синьку прямо на старте. В итоге, я забил на это и сидел себе дальше на хрюше, пока не купил себе ССД винт, что и послужило поводом установить 7-ку

Как сейчас обстоят дела с этой фичей - не скажу. Возможно, какой-то софт и подправили. Но приколы, думаю, обеспечены.
#27
Отправлено 23 Июнь 2020 - 18:21
TINC (23 Июнь 2020 - 16:46) писал:
Используйте патч WINXPPAE 2.0 или программу FIX128.
Будет доступно до 64 ГБ памяти в 32-разрядных системах (вместо 4 ГБ памяти).
В рамках одного процесса больше 4 ГБ не адресуется. Но в сумме все запущенные программы могут занимать гораздо больше 4 ГБ. Вот реальный пример - открыл в 360ЕЕ порядка 30 вкладок с видео ютуба, в итоге объём занимаемой памяти превысил 5.5 ГБ, поскольку 360ЕЕ браузер может дробиться на процессы, каждый из которых не превышает 300-500 МБайт. Файл подкачки не используется, все 5.5 ГБ находятся именно в оперативной памяти! Можно и все установленные 8 ГБ забить, да хоть 64 ГБ...
Цитата
Это фантастика. РАЕ не может быть несовместим с программами, РАЕ может быть несовместим только с драйверами.
Программам выделяется виртуальное адресное пространство, программа вообще не знает работает ли она в нижней памяти или в верхней памяти. А вот если драйвер криво работает в РАЕ - тогда глюки гарантированы. Скорее всего у вас сетевой драйвер глючил, когда Опера начинала ломиться в интернет. Для сетевых драйверов используют файлы с Windows Server 2003 - это полный аналог ХР, но поддерживающий РАЕ из коробки.
Скорее всего у вас сетевой драйвер глючил, когда Опера начинала ломиться в интернет. Для сетевых драйверов используют файлы с Windows Server 2003 - это полный аналог ХР, но поддерживающий РАЕ из коробки.
Цитата
Предрассудки. Видимо перечитали бред от коммерсантов Майкрософта.... )))
Дело в том, что ХР (без ТРИМ) работает с SSD диском (новее 2015 года) даже лучше, чем Виндовс 7.
Исключение - самые первые SSD-шники 10 летней давности.
#28
Отправлено 23 Июнь 2020 - 18:34
Цитата
А "лучше" это как?
#29
Отправлено 23 Июнь 2020 - 21:32
TINC (23 Июнь 2020 - 18:34) писал:
Я это уже миллион раз объяснял, просто облом писать тоже самое. Вкратце, команда ТРИМ нужна только для упреждающего стирания блока. То есть влияет только на скорость записи, поскольку "Запись памяти" = "Стирание ячеек + Запись ячеек". На выполнение операции чтения эта команда никак не влятет, то есть скорость чтения не изменяется даже в теории. В рядовой работе ПК, соотнотношение чтение/запись равно приблизительно 40/1 или больше. При таком раскладе комплексное уменьшение производительности файловой системы не превышает 10-15% и то теоретически. Но практике, в SSD работает сборщик мусора, на уровне контроллера диска, работает автономно без участия ОС - подготавливая большие куски для операции записи. Короче на всех SSD новее 2015 года вы получите абсолютно адекватную работу хоть на Windows XP, хоть на голом DOS. Есть утилиты для принудительного ТРИМ по всем незанятым ячейкам - но это бесполезный дрочь. Просто забудьте, что ТРИМ не работает, а через год вспомните - и оказывается все отлично работает. )))
А теперь про бонус. Из-за неработающего ТРИМ появляется бонус - данные не удаляются сразу, поэтому возвращаются в работу старые-добрые программы восстановления случайно удаленных файлов типа UnErase, UnDelete, Back2Life, которые в Виндовс 7 (с работающим ТРИМ) превратились в бесполезный неработающий софт.
Поэтому используйте SSD в ХП и не парьте мозги.
#31
Отправлено 24 Июнь 2020 - 19:45
Huly-Gun (24 Июнь 2020 - 10:17) писал:
Я отвечал на Ваши слова про глюки программ в режиме РАЕ. И могу 1000 раз повторить, что программа работает в виртуальном пространстве, которое ей выделяет ОС. Программа вообще не знает в каких физических адресах она выполняется. Я работаю под РАЕ более 2 лет, использую разнородный софт - никаких проблем не наблюдаю. Проблемы могут быть только с кривыми драйверами. Лучший пример - драйвера НВидия видеокарт. В них поддержка РАЕ специально выключена с определенной версии, чтобы угодить Майкрософту в продвижении х64 систем.
По поводу современных ОС:
В самом начале я недолго использовал Вин10, буквально 2-3 дня. Но она вынесла мозг своим тупым интерфейсом, поэтому Вин10 её снес и установил Вин7. В таком режиме на ПК проработал 2 года на Виндовс 7.
С марта 2020 года я вернулся на Виндовс ХП. Раньше не мог - не было драйверов на ВинХП. Модернизированные драйвера на ХП начали появляться только с осени 2019 года. В результате чистый экперимент - 2 системы на одинаковом железе. Сравнивая Вин7 с ВинХП, могу сказать что на ХП компьютер работает быстрее. Но геморра с установкой и подбором драйверов очень много.
Десятка становится сразу, без лишних теледвижений.
Семерка уже с проблемами - нужно интегрировать USB3 драйвер.
ХП-шка с танцами с бубном. Вначале пришлось подобрать модификации ACPI, SATA AHCI, USB3 драйвера чтобы просто установщик не подал в BSOD и система могла установиться. И потом в установленной системе также пришлось повозиться с поиском драйверов под остальное - видео, звук, сеть, WiFi модем.
Но результат радует. ХП на совр железе просто летает!!!
#32
Отправлено 25 Июнь 2020 - 21:20
TINC (23 Июнь 2020 - 16:46) писал:
Через окошко в AWE можно, в лучших досовских традициях, только такой гемор мало кому нужен.
winxp2020 (23 Июнь 2020 - 18:21) писал:
Из того факта, что Cache Manager в ядре винды может быть собран с поддержкой PAE совершенно не следует, что "1 процесс может адресовать больше 4 ГБ". 32-битный исполняемый код может использовать только 2Гб (или 3Гб, если собрана с соответствующим ключем).
winxp2020 (23 Июнь 2020 - 18:21) писал:
Если программа собрана с ключём /LARGEADDRESSAWARE (и как следует неоттестирована), а boot запущен с /3GB - это отличный способ получить тонну глюков в самых неожиданных местах, как с арифметикой указателей, так и с самим PAE - расширение в 3 гб для процесса ограничивает верхний предел PAE в 16 Гб.
winxp2020 (23 Июнь 2020 - 21:32) писал:
Откуда сборщик мусора в прошивке диска сможет узнать, что ему можно собирать, а что нет, при отключенном триме?
winxp2020 (24 Июнь 2020 - 19:45) писал:
Если мы говорим именно о расширении потребления памяти в 32-битном процессе свыше 2 Гб, то менеджмент физических страниц и их ручной мэппинг в виртуальное окошко в прикладной программе не настолько тривиален, как это может показаться с первого взгляда и программист, и программа должны очень хорошо знать, как они используют физическую память, отслеживая её расход для всех процессов системы.
winxp2020 (24 Июнь 2020 - 19:45) писал:
Да, все верно, именно для этой цели, а вовсе не потому, что поддержка PAE в драйвере - это еще тот головняк, удваивающий количество работы программистам и тестировщикам, а затребованный 3,5 анонимусами.
#33
Отправлено 25 Июнь 2020 - 22:50
Все драйвера, которые вложены в ВинХП из коробки - РАЕ поддерживают. Из сторонних драйверов, что я устанавливал и USB3 и сеть и звук - конфликтов с РАЕ не имели. А вот НВидия-видеокарты с РАЕ проблемы имеют, хотя на интел-встройке и дискретном Радеоне - с РАЕ проблем нет.
Короче, кроме новых Жефорсов - я не видел другого железа, конфликтующего в РАЕ.
Цитата
Исполняемый код - да. Но файл с данными может быть использован как системный кеш и занимать объём более 4ГБ, хотя адресуется 32-битным процессом.
#34
Отправлено 26 Июнь 2020 - 08:17
winxp2020 (25 Июнь 2020 - 22:50) писал:
Как это работает? Это типа unreal mode, когда в реальном режиме можно манипулировать 4G сегментом
(переключившись в PM, поменять лимит семента и вернутся в RM)? Или как-то иначе?
PS. Я не хорошо знаю x86-64, и даже процессоров с x64 не использую.
Но PAE есть и на x86-32 процессорах, для них оно и разрабатывалось
#35
Отправлено 26 Июнь 2020 - 08:27
i8088 (26 Июнь 2020 - 08:17) писал:
(переключившись в PM, поменять лимит семента и вернутся в RM)? Или как-то иначе?
Я не знаю как... Но это работает.
Берем 32-разрядную ХП, устанавливаем патч WINXPPAE 2.0 (в 1 посте есть ссылка на архив с патчами).
Далее запускаем Тотал Коммандер и копируем 5 ГБ файл в память, через NUL.
Повторное копирование файл не дочитывает - он весь лежит в памяти.
Как ТК умудрился адресовать 5 ГБ файл своим 32-битным процессом - понятия не имею.
Но это работает.
Тоже самое с программами, которые создают виртуальные диски в памяти,
они как-то в 32-битном исполнении адресуют больше 4 ГБ памяти одним процессом.
Используется сдвиг через AWE... я не знаю, но факт 100%.
#36
Отправлено 26 Июнь 2020 - 12:41
winxp2020 (26 Июнь 2020 - 08:27) писал:
Но это работает.
Возможно это хак подобный unreal, надо будет поискать. unreal я сам использовал,
причем начиная примерно с 486-P1 есть упрощенный способ переключения, без jmp
и переключения селектора в CS.
PS. Как по мне, лучше бы этого x86-64 вообще бы никогда не было - код программ
бы более оптимальным был...
upd. А может, оно и не адресует более 4GB? Просто в процессе чтения меняет селектор
сегмента когда надо на такой, чтобы в дескрипторах был разный базовый адрес.
Но размер сегмента в данный момент не может превысить 4G. Или вообще просто два
сегмента иметь, селекторы которых настроены (из таблицы дескрипторов) на два
неперекрывающиеся 4G региона. Мне кажется, скорее всего так, это просто и логично.
В реальном режиме тоже можно несколько сегментов по 64K использовать, и переключать
или менять DS/ES по мере надобности. Здесь только понятия селектор уже нет, и в
сегментном регистре непосредственно база сегмента, деленная на 4
Сообщение отредактировал i8088: 26 Июнь 2020 - 12:53
#37
Отправлено 26 Июнь 2020 - 17:43
i8088 (26 Июнь 2020 - 12:41) писал:
сегмента когда надо на такой, чтобы в дескрипторах был разный базовый адрес.
Но размер сегмента в данный момент не может превысить 4G. Или вообще просто два
сегмента иметь, селекторы которых настроены (из таблицы дескрипторов) на два
неперекрывающиеся 4G региона. Мне кажется, скорее всего так, это просто и логично.
В реальном режиме тоже можно несколько сегментов по 64K использовать, и переключать
или менять DS/ES по мере надобности. Здесь только понятия селектор уже нет, и в
сегментном регистре непосредственно база сегмента, деленная на 4
Я не знаю как, но ТК ложит в память файл 5-6 ГБайт и при повторном чтении,
с диска не дочитывает ни байта. То есть весь файл лежит в ОЗУ и
его всего он полностью адресует, не смотря на превышение в 4 ГБ.
=====================================================================
=== Готовая летняя сборка Windows XP SP3 [RUS] 2020 года №3 ===
Это пересобранный 12 июня 2020 года дистрибутив, от известного сборщика программ, адаптированный для установки Windows XP на современные ПК. За основу взят дистрибутив от Simplix, в который внедрены многие плюшки от разработчика и патчи с известного win-raid.
Обобенности сборки:
acpi.sys - ACPI драйвер (2019.11.1) для поддержки Intel 370/390 и AMD Ryzen
uxtheme.dll - патченый файл для применения не подписанных тем
kbdur.dll - исправленная украинская раскладка клавиатуры с апострофом [`] ставится кнопкой "Ёё" и гривною ставится кнопкой Shift+[`]
tcpip.sys - патченый файл для увеличения количества полуоткрытых исходящих ТСР соединений (Half-open limit) с 10 до 1000
msconfig.exe - патченый файл убирает наг-скрин, который появляется после использование msconfig'a и перезагрузки системы
sfc_os.dll - разрешение возможности использования ключа реестра для полного отключения защиты файлов Windows (Windows Protection Files) - по умолчанию отключено. Отключение WPF позволяет сократить время установки (не создаются копии системных файлов в "%SystemRoot%system32\dllcache\"), и позволяет избежать конфликтов при установке не подписанных драйверов, имеющих одноименные подписанные файлы в дистрибутиве
NTDETECT.COM - отключен сброс USB контроллера, чтоб не отваливалась флешка/USB-CDROM/USB-HDD с которой происходит инсталляция
intelppm.sys - фикс таймера на новых материнских платах от Интела. С этим файлом мы получаем прибавку в производительности процессора до 1-3%, а также существенную прибавку скорости SATA AHCI контроллера, что приводит к увеличению скорости чтения SSD диска до 20-30%.
videoprt.sys - v5.1.2600.2180 повышает 2D быстродействие на Radeon видеокартах
Generic SATA AHCI driver v1.3 - универсальный SATA AHCI драйвер для Windows XP, портированный с Windows 8
Generic USB 3.0 xHCI driver v1.1 - универсальный USB 3.0 драйвер для Windows XP, портированный с Windows 8
Скачать Win_XP_SP3_VL_Simplix_SATA_12.06.20.iso - ССЫЛКУ НЕ ВЫКЛАДЫВАЮ. ИЩИТЕ ПО НАЗВАНИЮ В ГУГЛЕ.
Пожалуйста, пишите отзывы. Просьба тестировать на реальном железе и указывать конфигурацию.
Тесты на виртуальных машинах нам не интересны.
#38
Отправлено 26 Июнь 2020 - 17:58
i8088 (26 Июнь 2020 - 08:17) писал:
(переключившись в PM, поменять лимит семента и вернутся в RM)? Или как-то иначе?
PS. Я не хорошо знаю x86-64, и даже процессоров с x64 не использую.
Но PAE есть и на x86-32 процессорах, для них оно и разрабатывалось
Прикладная 32-битная программа ничего при копировании не индексирует и не адресует. У неё есть какой-то буфер, например у FARа по дефолту 32 мегабайта (https://github.com/F...er/far/copy.cpp, функция ShellCopyFile), он загружает этот размер вызовом АПИ и также отдаёт вызову АПИ, затем снова заполняет старый 32-мегабайтовый буфер и так пока файл не закончится. В ядре крутится CacheManager, который является системным кодом и в PAE-ядре может использовать PAE-функциональность и 36/64-битные адреса, но его деятельность для АПИ вызовов прозрачна, т.е. прикладное приложение не может добраться напрямую до данных из этого кэша, оно вынуждено использовать файловый АПИ ОС, а файловый АПИ при переключении в режим ядра сам смотрит, есть ли запрошенный кусок файла/файловой системы в менеджере кэша или его нужно по новой загружать в оперативку.
i8088 (26 Июнь 2020 - 12:41) писал:
причем начиная примерно с 486-P1 есть упрощенный способ переключения, без jmp
и переключения селектора в CS.
PS. Как по мне, лучше бы этого x86-64 вообще бы никогда не было - код программ
бы более оптимальным был...
upd. А может, оно и не адресует более 4GB? Просто в процессе чтения меняет селектор
сегмента когда надо на такой, чтобы в дескрипторах был разный базовый адрес.
Но размер сегмента в данный момент не может превысить 4G. Или вообще просто два
сегмента иметь, селекторы которых настроены (из таблицы дескрипторов) на два
неперекрывающиеся 4G региона. Мне кажется, скорее всего так, это просто и логично.
В реальном режиме тоже можно несколько сегментов по 64K использовать, и переключать
или менять DS/ES по мере надобности. Здесь только понятия селектор уже нет, и в
сегментном регистре непосредственно база сегмента, деленная на 4
Забудьте про сегменты и сегментные регистры вообще в данном контексте. Они по прежнему есть и используются, но совсем не так, как в досе. В PAE-ядрах другой механизм адресации, с использованием CR3 регистра, а также трёхуровневая модель менеджера памяти (вместо 2х-уровневой в не-PAE). Механизм трансляции из виртуальных в 36-битные со всеми таблицами описан, например, в 7-м издании Windows Internals, стр. 388 и далее.
#39
Отправлено 26 Июнь 2020 - 21:13
dE fENDER (26 Июнь 2020 - 17:58) писал:
Теория мутная... Как же Тотал Коммандер адресует эти 5 ГБ. Я сам удивился - думал 4ГБ он прочитает с RAM и +1ГБ дочитает с поверхности. Ат нет... Всё берётся с RAM. Подобным образом работают и РамДиски... Ведь 4 ГБ для РамДиска не есть ограничением в 32-битных ОС.
#40
Отправлено 26 Июнь 2020 - 22:26
dE fENDER (26 Июнь 2020 - 17:58) писал:
Я просто не стал подробности описывать, понятно что это возможно благодаря PAE режиму блока
страничной переадресации.
winxp2020 (26 Июнь 2020 - 21:13) писал:
Предлагаю убрать сообщения о размере сегмента более 4GB,это дезинформирует. И если памяти
достаточно, программе нет нужды обращаться к диску, если все уместилось в памяти. А размер
сегмента может быть и небольшим, и менее 4GB. Возрастут лишь накладные расходы на менеджер памяти.