При написании осей, загрузчиков, при копании в PMODE по сто раз в час надо комп перезагружать. Причем ресетом. Из наличествующих у меня дома шести древних полураздолбанных компов можно выбрать тот, где БИОС делает минимум операций, чтобы момент чтения первого сектора HDD наступал быстрее. Но я рассматриваю вариант перезаписи BIOS с тем, чтобы оставить там только программу чтения с дискеты и с жесткого диска. Хочется исключить все тесты аппаратуры вообще нафиг. Если что-то не работает - я и так увижу, не надо мне ничего тестировать и инициализировать!!! Ну вот рассмотрим один из моих - лучший из древних - комп P233MMX с 512 MB оперативки. После ресета биос просто невыносимо долго что-то тестирует. Причем если не сидеть рядом и не давить ESC, но он начнет еще перебирать память (все равно толком не тестируя ее). Все мои 512 мегабайт - это ж застрелиться. Можно в туалет сходить по большому, пока он все 512 метров оттестит (как ему кажется). И в моменты теста своего он выводит на экран много всякой чуши - что-то о моей звуковой плате, что-то об обнаруженном ATAPI-CDROM, что то еще, какую-то дурацкую сводную таблицу, модель процессора, дурацкий логотипчик!! Задолбало все! Чувствую, что можно как-то без этого. Ну в общем идея понята, думаю.. Есть только опасения, что BIOS как-то конфигурирует сам процессор, загружает в него микрокод.. Что за бред.. ПРограммы БИОС ведь как-то начинают выполнятся. Если начинают - какой микрокод.. Ладно - пишите, будем разбираться. С программаторами проблем нет. ------- КОнечно я понимаю, что уже никакой ДОС с таким биосом не запустится, ибо обработчиков прерывания стоять не будет, да контроллер прерываний будет не проинициализирован, да еще может что-то будет не так.. Я бы написал такой биос, который прерывания ЗАПРЕЩАЕТ, делает минимум действий, элементарные тесты (ладно, пусть некоторые основные обработчики типа int13,int8 и так далее) только я бы выкинул тесты, которые в ходе тестирования пытаются в цикле ждать ответа от тестируемого устройтва. Такие - да, сразу в помойку.. А потом сразу сектор читать. Сначала с винта (по минимуму - пусть только с мастера), потом с флопа. Ну установки можно будет менять по минимому.. То есть стандартного СИНЕГО биоса уже не будет, будет мой. Черный и в консоли. Ну ладно.. У меня все пока.
Идея хорошая, но вот сильно сократить время врядли получится. БИОС инициализирует регистры чипсета, настраивает RAS-to-CAS delay, CAS latency и прочие вещи без которых комп просто не будет работать, а еще биос настраивает множитель частоты и прочее. А если самому лезть в настройки регистров чипсета, то есть ненулевая вероятность что-нибудь сжечь, в буквальном смысле. Насчет микрокода: процессор поддерживает обновление микрокода в самом себе, это делается через msr и обновление действует до следующего ресета. Обновление обычно устраняет какие-либо мелкие баги.
Да-а-а-а.. Все так сложно.. Мдею в мусорку.. Гораздо УМНЕЕ будет этого не делать. Я слабо представляю что такое микрокод на аппаратном уровне ваще. Где мне просвящаться на эту тему?
FastSoft 1.Используй виртуальную машину(VMware). 2. Отключи тест памити и дисков.Будет грузиться быстрее.
FastSoft Описание ячейки 0fh CMOS памяти: Код (Text): 0fH shutdown status byte This byte is read upon startup after CPU reset in order to determine if the reset was used as a way to get out of 80286 protected mode. 0 = soft reset (Ctrl-Alt-Del) or unexpected shutdown. [b]Skip POST[/b] 1 = shutdown after memory size is determined 2 = shutdown after memory test is performed 3 = shutdown after memory error (parity check 1 or 2) 4 = shutdown with bootstrap loader request 5 = shutdown with FAR JMP (restart int ctrlr and jmp to 0:[0467H]) 6,7,8 = shutdown after passing a protected mode test 9 = shutdown after performing block move. See INT 15H 87H 0aH = shutdown with FAR JMP (immediate jmp to address at 0:[0467H]) Если в начало кода BIOS'а добавить код записи в эту ячейку нуля, то вроде тестироваться и инициализироваться ничего не должно, только вот как заставить проводить тестирования после включения питания?
FastSoft про микрокод можно почитать в доках Интела. ИМХО для быстрой загрузки достаточно отучить БИОС от проверки памяти и опроса IDE-устройств. Оставшейся задержки (во время которой происходит инициализация процессора, обновление микрокода и т.п.) ты просто не заметишь...
2 FastSoft VMware поддерживает немедленное восстановление сохраненного состояния машины. При удачной конфигурации это происходит меньше чем за 5 секунд. +возможность работать с реальными разделами +возможность отключить сохранение данных винта при создании слипка сохраненного состояния.
>БИОС инициализирует ...прочие вещи без которых комп просто не будет работать Если биос это инициализирует- то комп уже работает (простите за бред - но биос это программа). Вопрос что надо запускать стандартного на таком компе.
Есть спецификация от M$ кажется, называется как-то "simple bios" или что-то в этом духе. Смысл втом, чтобы не тестировать у-ва если предыдущая загрузка была успешной. Работает - проверено на себе. У меня плата asus на чипсете via-133 (2001 года), прошил случайно бета-версию bios - оказалось там включили эту фичу (временно, следующая бета ее уже не содержала). Полная раскрутка от нажатия на reset до считывания первого сектора - менее 1 сек (!), я даже не вижу что там пишут. А переписать современный bios - гиблое дело. Это я ответственно заявляю как программист микроконтроллеров и прочего железа не раз писавший свои системные загрузчики... Там море деталей, всяких "костылей" для разных комбинаций (и подверсий!) чипсетов и их обвязки. И это все надо обязательно повторять один в один иначе у компа что-то не будет работать или что гораздо хуже будет работать совсем не так, как хотелось бы. И ошибок всяких в чипсетах даже больше, чем в процессорах, просто обычно об этом никто не знает, т.к. большую часть их в bios и обходят, а так вам придется с каждой из них иметь дело лично... Могу посоветовать прошить разные бета версии bios'ов. Или просто поискать подходящую плату сравнением времени загрузки. Кстати, imho старые компы (pentuium 1,2) грузились медленнее, чем новые. Вот совсем старые (286, 386) - эти летали при загрузке, да...
А у меня старинный 233 комп, где биос 1997 года. Он не позволяет отключить тест памяти, шины IDE и так далее.
А у меня старинный 233 комп, где биос 1997 года. Он не позволяет отключить тест памяти, шины IDE и так далее. Что такое WMware я слыхал, но никогда не юзал.
А у меня старинный 233 комп, где биос 1997 года. Он не позволяет отключить тест памяти, шины IDE и так далее. Что такое WMware я слыхал, но никогда не юзал. Я и с линуксом-то не знаком, всего год на FreeBSD сижу.
А у меня старинный 233 комп, где биос 1997 года. Он не позволяет отключить тест памяти, шины IDE и так далее. Что такое WMware я слыхал, но никогда не юзал. Я и с линуксом-то не знаком, всего год на FreeBSD сижу.
У меня была материнка под 7сокет, на ней стоял MR BIOS более шустрого и продвинутого я не видел больше, там можно все было отключить глазом моргнуть не успеваешь как стартует ОСЬ. Где то читал: "Не трогай железо и оно тебя не тронет"
S_T_A_S - этого давно нет - со времён 2х пентиумов Насколько я понял, речь как раз и идет про первые и вторые пентиумы.
если первые пни - то да, перемычками на плате менялся множитель (возможно БИОС и имел к этому тоже отношение) но начиная со слотовых P2 эти мычки перенесли внутрь процессорного картриджа (их ещё можно было переделать умеючи). а в PPGA, FCPGA и позже - уже в кристал. если бы кто раскопал, как разлочить множитель, отгрёб бы кучу денег
ЧИТАЕМ про устройство биоса и не задаем глупых вопросов. я под это дело написал прогу которая вырезает куски из биуса, после чего архиватором их распаковываешь. мона переписать кусок бинарника и захренячить его обратно в биус. мамка будет настроена в безопасном но медленном режиме после старта. можешь переписать регистры руками, если надо ботать быстрее. не настроена PCI, AGP. лучше всего юзать мамку с PCI картой без АГП для опытов сорцы проги(MSVC6) пока не нашол правда. ftp://194.85.82.243/KGAM/biosdump.exe