ВСКРЫТИЕ ПОКАЗАЛО, ЧТО ПРИЧИНОЙ СМЕРТИ СТАЛО ВСКРЫТИЕ

Список ядер, предлагаемый установщиком Windows:

2011.11.19 14:24

оригинал статьи


Традиционно Windows считается закрытой системой в архитектуре которой в отличие от Linux изменить ничего не возможно. На самом деле это не так. Ей можно сменить ядро, а главное – повысить этим самым производительность системы.


Существует несколько способов смены ядра, самый лёгкий и удобный – переустановка системы. Когда Windows будет предлагать нажать F6, чтобы установить «особый драйвер SCSI или RAID», надо нажать F5 (идиотизм и маразм полнейший) и выбрать одно из ядер, поставляющихся вместе с WinXP.


Второй способ не очень надёжный. Надо зайти в «диспетчер устройств» и изменить драйвер для системного устройства «компьютер с ACPI» на что-либо иное. Так как ACPI-совместимые и несовместимые ядра используют разные деревья ресурсов, смена может завершится неудачей и Windows откажется загружаться. В этом случае надо загрузиться в LastKnownGood и выбрать стандартный профиль оборудования, после чего произвести восстановление системы.


Наиболее удобный способ – редактирование файла boot.ini. Скопируйте строчку типа multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Professional" /fastdetect, измените название операционной на что-то типа XP Hacked. После чего добавьте параметры /KERNEL= и /HAL=, указав там пути к нужным файлам. После сохранения и перезагрузки, выберите нужную вам систему-ядро.


Какие же файлы нужны? Если на компьютере не установлено никаких сервиспаков, откройте файл Windows\System32\i386\driver.cab любым архиватором и, руководствуясь таблицами, вытащите файлы, которые начинаются с hal, а так же содержащие kr и nt, поместите их в Windows\system32. Если есть какие-либо сервиспаки, файл driver.cab лучше брать из папки, подобной Windows\!SERVICEPACK1FILES! или какой он там.


Теперь о том какое ядро выбрать. Если вы купили Pentium 4 HT, а до этого стоял Pentium IV, для работы с HT систему надо переустановить… или установить ядро NTKRNLMP.EXE/HALMPS.DLL. Гораздо проще.


Однако, сменой ядра можно добиться и увеличения производительности! Если установить i486-ядро на компьютеры типа Celeron 1000 MHz , то можно заметить, что Windows XP станет работать быстрее. На более мощных компьютерах (от 1700) заметного прироста не будет – там лучше ничего не делать. Тем более, что о функциях ACPI (ждущий режим с отключением кулеров, автоотключение компьютера, 256 прерываний и многое другое) в таком случае можно забыть. «Знатоки» говорят, что выбирая такое ядро можно попрощаться с SIMD, SSE 2, а потеря этих технологий замедляет систему. Это бред полнейший. Ядро же их не исполняет. Другой же вопрос, что должны быть сохранены SIMD/SSE2-регистры при переключении одного мультимедиа-приложения к другому. Дизассемблирование показывает, что и старое ядро использует команду FXSAVE, автоматически сохраняющую все нужные регистры и поэтому волноваться об этом не надо.


Смена ядра не заставит процессор считать быстрее и даже не увеличит пропускную способность шин. Тестовые программы для измерения быстродействия (типа SiSoft Sandra) так же не покажут увеличения производительности.


Почему же выключение ACPI повышает производительность? Отметаем высказывания о том, что это сделано намеренно – в Microsoft работают не такие люди, какими их считают. Дело в другом. В том, что древние ядра обслуживали шины, DMA, прочие системные устройства самостоятельно, современные делают это через ACPI и виртуальные шины. Всё усложнилось (вместо того, чтобы обратиться к конкретному прерыванию, ядро обращается к базе данных, ведь на каждое прерывание в следующую секунду может быть повешено другое устройство), а, следовательно, затормозилось.


Со сменой ядра могут появиться глюки с новейшим оборудованием, требующим то, что описано выше. В то же время могут решиться проблемы с ACPI-ядром, работающем на материнской плате, не полностью поддерживающей ACPI. Например, уберётся треск в колонках, возникающий при прослушивании звука.


А вот теперь обещанные таблицы ядер:















































Английское название ядра



Краткое описание



Русское название ядра



ACPI Multiprocessor PC



ACPI -системы с двухпроцессорной материнской платой и двумя процессорами.



Многопроцессорный компьютер с ACPI



ACPI Uniprocessor PC



ACPI -системы с двухпроцессорной материнской платой и одним процессором.



Однопроцессорный компьютер с ACPI



ACPI PC



ACPI -системы с однопроцессорной материнской платой.



Компьютер с ACPI



MPS Uniprocessor PC



Не ACPI -система с двухпроцессорной материнской платой и одним процессором.



Однопроцессорный компьютер с MPS



MPS Multiprocessor PC



Не- ACPI -системы с двухпроцессорной материнской платой и двумя процессорами.



Многопроцессорный компьютер с MPS



Standard PC



Стандартный компьютер без ACPI с однопроцессорной материнской платой.



Стандартный компьютер



Standard PC with C-Step i486



Однопроцессорный компьютер с процессором 486, разумеется, без ACPI



Стандартный компьютер i486 степпинг-C




























































Компонент ядра



Назначение



NTOSKRNL.EXE



Исполнительная система для однопроцессорных ПК с памятью <4 ГБ



NTKRNLMP.EXE



Исполнительная система для многопроцессорных ПК с памятью <4 ГБ



NTKRNLPA.EXE



Исполнительная система для однопроцессорных ПК с памятью >4 ГБ



NTKRPAMP.EXE



Исполнительная система для многопроцессорных ПК с памятью >4 ГБ



HAL.DLL



Стандартный HAL , не ACPI , не APIC



HAL486C.DLL



HAL для i486 C-Step



HALAPIC.DLL



Однопроцессорная версия HALMPS . DLL (не ACPI , не APIC )



HALAST.DLL



Для симметричных многопроцессорных систем от компании AST



HALMPS.DLL



Для большинства многопроцессорных систем на базе Intel (не ACPI , не APIC )



HALACPI.DLL



Однопроцессорный HAL с поддержкой ACPI , не APIC



HALAACPI.DLL



Однопроцессорный HAL с поддержкой ACPI и APIC



HALMACPI.DLL



Многопроцессорный HAL с поддержкой ACPI и APIC







































































 



NTOSKRNL.EXE



NTKRNLMP.EXE



NTKRNLPA.EXE



NTKRPAMP.EXE



HAL.DLL



+



-



+



-



HAL486C.DLL



+



-



-



-



HALAPIC.DLL



+



-



+



-



HALAST.DLL



+



+



-



+



HALMPS.DLL



-



+



-



+



HALACPI.DLL



+



-



+



-



HALAACPI.DLL



+



-



+



-



HALMACPI.DLL



-



+



-



+



 

КОММЕНТАРИИ

Введите код с картинки: