ПредишенСледващото

Въпреки, че това може да изглежда съвсем естествено, че компютърът издава звук, когато са включени в действителност, има част от код, който го кара да го направят. Този фрагмент е интегрирана в товарач. Най-PC се нарича BIOS. (Думата е акроним за базовата входно / изходна система (Basic Input / Output System)). BIOS осигурява поддръжка за основно оборудване, че ранното x86 операционна система се използва за дискове за достъп, монитори и почти всичко останало.

Едно от първите неща, които прави BIOS - провеждане на различни включване проверки: Определяне (и евентуално тестване) наличната памет, определяне тактова честота и така нататък. Ако тестът е успешен, компютърът бръмчи веднъж. Този процес се нарича мощност самодиагностика (самодиагностика при включване на захранването) или POST. Англоезични компютърни фенове обикновено използват термина като глагол: "Това машина дори няма POST, така че ние трябва да сменяте паметта." (Тази машина дори не минава BIOS Test (POST), така че е необходимо да смените използваната памет.)

BIOS-ът е правил за нас?

Такава една операционна система като MS-DOS да заредите допълнителни драйвери на устройства, като например CD-ROM, но това изисква всички хардуерни драйвери се зареждат по време на стартиране на системата. Стандартната интерфейса, предоставен на тези шофьори, подкрепят BIOS, и поради това трябва да разследва BIOS на устройството, да идентифицират и евентуално да ги инициализира за ползване.

По същия начин, BIOS е отговорен за памет инициализация. Не всички операционни системи изискват, че паметта е инициализиран, но рано DOS обикновено се изисква, а дори и днес повечето BIOS-вероятно правят това в името на съвместимост. Само един, този процес може да бъде много дълъг и много от съвременните системи за частично или напълно да го спрете. В същото време, на BIOS ще се опита да определи размера на наличната памет. Наред с другите деяния, извършени при зареждане, може да бъде инициализира и да даде възможност на настройката за кеш на процесора е двоен процесор, информационната таблица изграждане на процесори, създаване на списък на PCI устройства, прикрепени към системата, а дори и стартирането на хардуерни Downloaders, предлагани от тези устройства, които да изтеглите допълнителен шофьори.

Така че има много общо. Толкова много, че, предполагам, изпълнява POST и инициализира шофьорите може да отнеме една минута или повече. BIOS може да изпълнява различни проучвания оборудване за зареждане на устройства, а в някои системи дори се опита да извърши първоначално зареждане в мрежата чрез Ethernet. Мисля, че една система харчи повече от пет секунди започване на Network Boot параметри, дори ако натоварването на мрежата е забранено. Това е срам!

И накрая, но не на последно място - BIOS прави справедлива стойност на работата по инициализация. Нещо, но не всичко е полезно, независимо от това, което сте на път, за да изтеглите. Присвояване на заявка за прекъсване (IRQ) устройства - вероятно верни, полезна услуга, тъй като позволява на операционната система да се вземат само от списъка с устройства и да започне работа, без да ги програмиране. Много устройства имат конфигурация регистри, до която могат да пишат BIOS подходящи или точните стойности на базата на растения, които се намират в системната памет на разположение за запис. (Като цяло, тази памет се нарича CMOS, въпреки че не е строго необходимо, тя всъщност се осъществява чрез използване на тази технология.)

Какво се случва, след като BIOS правят всичко? Той е някъде (повече от диска) е блок от код и да го изпълнява, обикновено чрез изтеглянето на операционната система. Ако операционната система DOS или нещо подобно, всичко това работата по монтаж означава, че можете веднага да получите поканата си към командния ред.

двойна работа

Но Linux, BSD или, или Windows® има своите водачи. И така, какво е следващата операционна система чете списъка, приложен PCI устройства и започва да изтеглите тези драйвери. Работата, извършена от BIOS, в голямата си част не обърна внимание; операционна система, тъй като зареждането на SCSI драйверите се разгледа SCSI автобуса. BIOS само предоставя информация, нищо повече, и голяма част от нея не се използва. Всичко, което е наистина необходимо на BIOS - първият е да изтеглите част от код (наречен фърмуера товарач (фърмуера товарач) или буутлоудъра) и ще позволи на машината да работи.

Точната разлика в скоростта зависи от операционната система. Въпреки това, ние знаем, че за сканиране при стартиране може да се осъществи много бързо на Linux. Това означава, че BIOS не е само заема почти половината време от захранването, за да изтеглите най-новите драйвери; той вероятно ще се харчат много повече. Това става особено очевидно, когато по-малко важни модули на ядрото (като звукови драйвери) могат да бъдат изтеглени по-късно, най-вероятно след зареждане по-критични неща (като например уеб-услуги).

Всичко, което искаме - е да се получи така, за да се зареди ядрото, без да се чака BIOS ще направим много удобства, които ще направят самата ядрото, и много по-бързо, по-добре и може би по-надеждни.

Сложете в флаш ядрото

Очевидна е проблем, който възниква, когато се премахнат всички драйверите за устройствата от BIOS: ако BIOS не ги зареди, той ще бъде в състояние да прочете ядрото? Простото решение - да се използва цялото пространство освободен след изтриването на драйверите за съхранение на минимум ядро. Всичко, което е необходимо, за да зареди ядрото, този драйвер диск, който съдържа други, могат да се зареждат модули. След началото на ядрото може да бъде изтеглен динамично.

Размерът на модерен BIOS чип флаш-памет прави тази реална алтернатива да се чудя. Много системи имат един или два мегабайта флаш-памет на разположение за BIOS. Понякога BIOS всъщност е толкова голям. В други случаи, паметта е по-голяма, отколкото е необходимо, просто защото "това е по-евтино в насипно състояние." Достатъчно разбор и сгъстен ядрото може лесно да се побере в това пространство, и ние Linux'ovyh които изтеглят имат богат опит в създаването на малки декомпресори за декомпресиране компресирани ядра.

Такова решение може да не е най-доброто за хора, които правят активно развитие на ядрото, но системата, в която искате да се ускори зареждането, може да е добър избор. проект LinuxBIOS (виж ресурси) работи по това решение и той трябва да е най-подходящ за тези, които използват сървър и вградени системи.

Open Firmware

Основният източник на произход на вътрешния буутлоудъра, който не е предназначен за MS-DOS, - това е Open Firmware. Първоначално се използва от Sun и Apple, на отворения стандарт за вградени товарач е проектиран с по-малко внимание на системата в DOS стил и голям интерес към такива системи, като на оригиналния Mac OS, Mac OS X или Solaris, които се работи с драйверите. Open Firmware значително предимство - е, че той "се появи веднъж, тече навсякъде": устройства с хардуер буутлоудъра за Open Firmware ще работят добре във всяка система на Open Firmware на автобуса, който можете да го поставите. Уловката е, че много малко устройства, създадени за x86 PC има вграден в товарачи Open Firmware. Все пак, ако можете да намерите такова устройство, то може да бъде добър избор; Това, разбира се, изисква да могат да идентифицират вашия хардуер и стандартизиране на отделните компоненти.

Open Firmware - може би най-приятелски настроени към програмисти охлади джаджа. Той не се фокусира върху бързо време за зареждане, като например, LinuxBIOS, но като цяло, това е много по-бързо в сравнение с традиционните PC BIOS, както и изключително удобен за потребителите, които търсят начини за персонализиране на колите си.

Светът ще стане по-красива, ако x86 доставчици ще използват Open Firmware по подразбиране.

Други начини за създаване на свободен BIOS

Дори и BIOS, който просто се опитва да повтори основните функции на по-традиционен BIOS често може да направи някои неща по-бързо и по-отворени. Например, можете да настроите времето, необходимо, за да сканирате устройства, ако знаете, че в тази система няма никакви устройства, за да се уверят, че изисква от 5 до 10 секунди.

Едно важно нещо, за свободен BIOS е в състояние да направи - е да бъде малко по-гъвкав в разработването на програми за изтегляне. Например, OpenBIOS дизайн се използва в комбинация с LinuxBIOS, от които е взета кода на ниско ниво и OpenBIOS Forth ядро ​​като полезно натоварване, за подобряване на системата за отваряне фърмуер. Голяма част от най-тежката работа в x86 системи - създаването на една малка блок от код, който зарежда недвижими зареждане на ОС на; по-гъвкави BIOS може да си свършат работата и това ще реши проблема.

Има някои доста специализирана, но не е на разположение, софтуерът BIOS. Например, оборудване Soekris Engineering, която идва с BIOS наречена comBIOS, което е много по-лесно и по-малка от тази на стандартния на BIOS, както и много по-бързо зареждане.

Много внимание нито документация

Когато хората се борят с компютърни проблеми, един от най-често срещаните от съветите, които те получават, - за актуализиране на BIOS. Защо? Теоретично, BIOS не се използва след системата ботуши. Но в действителност, работата по подготовката за работа, извършена от BIOS, може да бъде от решаващо значение. Например, в един x86 втора система съм използвал, контролер CardBus автобус беше неизползваем, тъй като е трябвало да бъде програмиран IRQ; в актуализиран BIOS, която е коригирана. Теоретично, операционната система може да бъде може би специален код за разпознаване на този конкретен модел, контролерът CardBus и програмиране в нея прекъсването, но на борда производител е по-лесно да се напише кода правилно програмиране на контролера, особено за този конкретен съвет.

Традиционно, в системи с отворен код софтуер по-големи шансове да улови грешки. Въпреки това, в случай на BIOS не е толкова очевидно. В крайна сметка, на създателите на оборудването може да бъде допълнителна информация, която разработчиците не разполагате с BIOS-и с общо предназначение. Freeware BIOS общо предназначение трябва да бъде в състояние да се извършва на една дузина дъски; От друга страна, производителят може да прави предположения, без да се притеснявате за това, което ще направим програмата на друго оборудване.

Въпреки това, отворен подход има много предимства. Например, BIOS в старата система Alpha, което се използва, чипът поддържа Symbios Logic "875 SCSI-контролер. Въпреки това, той има твърдо кодирана списък на двойки ID на продавач / PCI продукт, за който има подкрепа, и то ще работи само с карти от този списък; правилното функциониране на карти, които не са включени в списъка, просто игнорирани. От BIOS е затворен код, а в действителност в някои неясни, дори не можех да се определи една маса; Имах за US $ 220 за покупка на SCSI карта от даден производител, а не да се използва физически идентични, на разположение на склад, за US $ 75.

До голяма степен е вероятно да настъпи, когато производителите на дънни платки BIOS да решат да използват софтуер с отворен код, вместо да бъде свързано с една от основните търговски оферти. Не знам кога ще се случи това и ще се случи, независимо дали като цяло, но би било хубаво да се види BIOS с по-добра поддръжка и документация.

Използването на всичко това

За повечето потребители, всичко това е непрактично. Опасността от неправилно програмиран BIOS чип е достатъчно сериозно: компютърът ви няма да работи, докато чипа няма да бъдат препрограмирани, а защото компютърът не може да се стартира, за да програмирате чипа, ще трябва специално оборудване. Не всички, но някои системи имат две чип флаш-памет и да позволи един от тях, за да зареди, а след това втората програма. Така че за повечето хора, да експериментира със създаването на алтернативен BIOS-вероятно ще бъде малко по-рисковано. Все пак, ако се намери един стар компютър в резерва, който не се страхува да се забъркваш, и който се подкрепя от една от BIOS-и с отворен код, ще е забавно да се възползва от шанса. Хората запален биха счели за съблазнителен.

Към днешна дата, по-голямата част на тази технология ще бъде от полза на хората, които работят по сървърни групи, или вградени системи. Ако имате стойност, докато има рестартиране, че е силен стимул да инвестират в работа и време, за да се получи нещо, което ще работи на оборудването, което използвате. Освен това, нито един от вграден развитието на проекта няма да се моля, като че ли да направим нещо лудо и поддържа.

В крайна сметка, тази технология ще даде на производителите по-голям избор. Производителите на вградени системи имат повече възможности за избор на вградената Downloader и увеличаване на техния брой ще ни помогне да се измъкне от малък набор от патентовани BIOS-и за по-отворени и конкурентни пазари.

Вземете продукти и технологии

  • проект LinuxBIOS фокусира директно върху подкрепата на системата Linux.
  • проект OpenBIOS създава отворен код изпълнението на Open Firmware, експлоатация и PowerPC® и x86 система.
  • PC Невестулка е полезна, независимо дали имате нов или стар BIOS. Той дава серийна конзола достъп до машината, която си мисли, че има VGA карта и клавиатура, и осигурява достъп до кодовете на POST.
  • На Технологични системи има друг вариант на програмата BIOS домашният, който се използва за своите много готини вградени x86 системи.
  • Soekris Инженеринг разпространява доморасли BIOS, а също така прави сладък играчки с мигащи светлини.
  • Следващата ви проект за разработване на Linux със софтуер на IBM пробен създаване на софтуер. на разположение за изтегляне директно от developerWorks.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!