BIOS - BIOS

O pereche de cipuri AMD BIOS pentru un computer Dell 310 din anii 1980

În calcul , BIOS ( / b ɒ s , - s / , PRIN -oss, -⁠ohss , un acronim pentru Basic Input / Output System și , de asemenea , cunoscut sub numele de BIOS - ul sistemului , ROM BIOS , BIOS ROM sau PC BIOS ) este firmware folosit pentru a efectua inițializarea hardware în timpul procesului de pornire (pornire la pornire) și pentru a furniza servicii de runtime pentru sistemele de operare și programele. Firmware-ul BIOS este preinstalat pe placa de sistem a computerului personal și este primul software care rulează la pornire. Provine numele de la Basic Input / Output System utilizat în CP / M sistemului de operare în 1975. BIOS - ul inițial de proprietate la IBM PC - ul a fost proiectat inversă de către unele companii (cum ar fi Phoenix Technologies ) , în căutarea de a crea sisteme compatibile. Interfața acestui sistem original servește ca de facto standardul .

BIOS-ul din computerele moderne inițializează și testează componentele hardware ale sistemului ( auto-test la pornire ) și încarcă un încărcător de încărcare de pe un dispozitiv de stocare în masă care apoi inițializează un sistem de operare. În era DOS , BIOS-ul furniza apeluri de întrerupere BIOS pentru tastatură, afișare, stocare și alte dispozitive de intrare / ieșire (I / O) care standardizau o interfață cu programele de aplicații și sistemul de operare. Sistemele de operare mai recente nu utilizează apelurile de întrerupere BIOS după pornire.

Majoritatea implementărilor BIOS sunt proiectate special pentru a funcționa cu un anumit model de computer sau placă de bază , prin interfață cu diferite dispozitive, în special cu chipset-ul de sistem . Inițial, firmware-ul BIOS a fost stocat într-un cip ROM de pe placa de bază a PC-ului. În sistemele informatice moderne, conținutul BIOS-ului este stocat pe memoria flash, astfel încât să poată fi rescris fără a scoate cipul de pe placa de bază. Acest lucru permite actualizări ușoare ale utilizatorului final ale firmware-ului BIOS, astfel încât pot fi adăugate noi caracteristici sau pot fi remediate erori, dar creează, de asemenea, posibilitatea ca computerul să fie infectat cu rootkiturile BIOS - ului . În plus, o actualizare a BIOS-ului care eșuează ar putea împiedica placa de bază.

Unified Extensible Firmware Interface (UEFI) este un succesor al BIOS-ului vechi al PC-ului, având ca scop soluționarea limitărilor sale tehnice.

Istorie

/* C P / M   B A S I C   I / O    S Y S T E M    (B I O S)
                    COPYRIGHT (C) GARY A. KILDALL
                             JUNE, 1975 */
[…]
/*  B A S I C   D I S K    O P E R A T I N G   S Y S T E M  (B D O S)
                    COPYRIGHT (C) GARY A. KILDALL
                            JUNE, 1975 */
-  Un extras din antetul fișierului BDOS.PLM din codul sursă PL / M al CP / M 1.1 sau 1.2 pentru Lawrence Livermore Laboratories (LLL)

Termenul BIOS (Sistem de intrare / ieșire de bază) a fost creat de Gary Kildall și a apărut pentru prima dată în sistemul de operare CP / M în 1975, descriind partea specifică mașinii de CP / M încărcată în timpul timpului de pornire care se interfață direct cu hardware - ul . (O mașină CP / M are de obicei doar un încărcător de încărcare simplu în ROM.)

Versiunile MS-DOS , PC DOS sau DR-DOS conțin un fișier numit în mod diferit „ IO.SYS ”, „ IBMBIO.COM ”, „IBMBIO.SYS” sau „DRBIOS.SYS”; acest fișier este cunoscut sub numele de „DOS BIOS” (cunoscut și sub numele de „DOS I / O System”) și conține partea de hardware de nivel inferior a sistemului de operare. Împreună cu „BIOS-ul de sistem” specific hardware-ului, dar independent de sistemul de operare, care se află în ROM , reprezintă analogul cu „ BIOS-ul CP / M ”.

BIOS-ul original deținut de computerul IBM a fost proiectat invers de unele companii (cum ar fi Phoenix Technologies ) care doresc să creeze sisteme compatibile.

Odată cu introducerea mașinilor PS / 2, IBM a împărțit BIOS-ul sistemului în porțiuni în mod real și protejat. Porțiunea în modul real a fost menită să ofere compatibilitate inversă cu sistemele de operare existente, cum ar fi DOS și, prin urmare, a fost numită „CBIOS” (pentru „BIOS de compatibilitate”), în timp ce „ABIOS” (pentru „BIOS avansat”) a furnizat noi interfețe în mod specific potrivit pentru sisteme de operare multitasking precum OS / 2 .

Interfața cu utilizatorul

BIOS-ul original IBM PC și XT nu avea nicio interfață de utilizator interactivă. Codurile de eroare sau mesajele au fost afișate pe ecran sau au fost generate serii de sunete codificate pentru a semnaliza erorile atunci când autotestul la pornire (POST) nu a ajuns la punctul de inițializare cu succes a unui adaptor de afișare video. Opțiunile de pe IBM PC și XT au fost setate de comutatoare și jumperi de pe placa principală și de pe cardurile de expansiune . Începând cu mijlocul anilor 1990, a devenit tipic pentru BIOS ROM să includă un „utilitar de configurare BIOS” (BCU) sau „utilitar de configurare BIOS”, accesat la pornirea sistemului printr-o anumită secvență de chei. Acest program a permis utilizatorului să seteze opțiuni de configurare a sistemului, de tipul setat anterior folosind comutatoare DIP , printr-un sistem de meniu interactiv controlat prin tastatură. În perioada intermediară, computerele compatibile IBM‍ - ludinginclusiv IBM AT ‍ - ‌ au păstrat setările de configurare în RAM cu baterie și au folosit un program de configurare bootabil pe dischetă, nu în ROM, pentru a seta opțiunile de configurare conținute în această memorie. Discheta a fost furnizată împreună cu computerul și, dacă s-a pierdut, setările sistemului nu pot fi modificate. Același lucru s-a aplicat, în general, computerelor cu o magistrală EISA , pentru care programul de configurare a fost numit EISA Configuration Utility (ECU).

Un computer modern compatibil cu Wintel oferă o rutină de configurare în esență neschimbată din utilitățile de configurare ale BIOS-ului rezident la ROM de la sfârșitul anilor 1990; utilizatorul poate configura opțiuni hardware utilizând tastatura și afișajul video. Aparatul modern Wintel poate stoca setările de configurare BIOS în ROM-ul flash, poate același ROM flash care deține BIOS-ul în sine.

Operațiune

Pornirea sistemului

Primele procesoare Intel au început la adresa fizică 000FFFF0h. Sistemele cu procesoare ulterioare oferă logică pentru a începe să ruleze BIOS-ul de pe ROM-ul sistemului.

Dacă sistemul tocmai a fost pornit sau a fost apăsat butonul de resetare („pornire la rece”), se rulează autotestul la pornire completă (POST). Dacă ați apăsat Ctrl + Alt + Ștergere („pornire caldă”), o valoare de semnal special stocată în memoria BIOS nevolatilă („ CMOS ”) testată de BIOS permite ocolirea POST-ului lung și detectarea memoriei.

Dispozitivele identifică POST, teste și inițializează de sistem , cum ar fi CPU , chipset - ul , RAM , placa de baza , placa video , tastatura , mouse - ul , unitatea HDD , unitatea de disc optică și alte hardware , inclusiv periferice integrate .

Primele computere IBM aveau o rutină în POST care descărca un program în RAM prin portul tastaturii și îl rulează. Această caracteristică a fost destinată testelor din fabrică sau în scopuri de diagnostic.

Procesul de pornire

Procesul de pornire

După ce opțiunea ROM scanare este finalizată și toate modulele ROM detectate cu sume de verificare valide au fost apelate, sau imediat după POST într-o versiune de BIOS care nu scanează pentru ROM-uri de opțiune, BIOS apelează INT 19h pentru a începe procesarea de boot. După pornire, programele încărcate pot apela și INT 19h pentru a reporni sistemul, dar trebuie să fie atenți la dezactivarea întreruperilor și a altor procese hardware asincrone care pot interfera cu procesul de repornire a BIOS-ului, altfel sistemul se poate bloca sau se poate bloca în timp ce repornește. .

Când este apelat INT 19h, BIOS-ul încearcă să localizeze software-ul de încărcare pe un „dispozitiv de boot”, cum ar fi un hard disk , o dischetă , un CD sau un DVD . Încarcă și execută primul software de boot pe care îl găsește, oferindu-i controlul computerului.

BIOS-ul folosește dispozitivele de boot setate în memoria BIOS nonvolatile ( CMOS ) sau, în primele computere, switch-uri DIP . BIOS-ul verifică fiecare dispozitiv pentru a vedea dacă este bootabil încercând să încarce primul sector ( sectorul de boot ). Dacă sectorul nu poate fi citit, BIOS-ul trece la dispozitivul următor. Dacă sectorul este citit cu succes, unele BIOS vor verifica, de asemenea, semnătura sectorului de boot 0x55 0xAA în ultimii doi octeți ai sectorului (care are o lungime de 512 octeți), înainte de a accepta un sector de boot și de a considera dispozitivul bootabil.

Când este găsit un dispozitiv bootabil, BIOS-ul transferă controlul către sectorul încărcat. BIOS-ul nu interpretează conținutul sectorului de boot decât pentru a verifica eventual semnătura sectorului de boot în ultimii doi octeți. Interpretarea structurilor de date cum ar fi tabelele de partiții și blocurile de parametri BIOS se face de către programul de boot din sectorul de boot propriu-zis sau de alte programe încărcate prin procesul de boot.

Un dispozitiv non-disc, cum ar fi un adaptor de rețea, încearcă să pornească printr-o procedură care este definită de opțiunea sa ROM sau echivalentul integrat în placa de bază BIOS ROM. Ca atare, opțiunile ROM pot influența sau suplina procesul de boot definit de BIOS ROM-ul plăcii de bază.

Cu standardul de pornire pentru suportul optic El Torito , unitatea optică emulează de fapt o dischetă de 3,5 "de înaltă densitate către BIOS în scopuri de pornire. Citirea„ primului sector ”al unui CD-ROM sau DVD-ROM nu este o operație simplă definită ca și cum ar fi pe o dischetă sau pe un hard disk. În plus, complexitatea mediului face dificilă scrierea unui program de boot util într-un sector. Discheta virtuală bootabilă poate conține software care oferă acces la mediul optic în nativul său format.

Prioritate la start

Utilizatorul poate selecta prioritatea de pornire implementată de BIOS. De exemplu, majoritatea computerelor au un hard disk care poate fi pornit, dar uneori există o unitate de stocare amovibilă care are o prioritate mai mare de boot, astfel încât utilizatorul poate provoca bootarea unui disc amovibil.

În majoritatea BIOS-urilor moderne, ordinea priorității de pornire poate fi configurată de utilizator. În BIOS-urile mai vechi, se pot selecta opțiuni cu prioritate de încărcare limitată; în cele mai vechi BIOS-uri, a fost implementată o schemă de prioritate fixă, cu unități de dischetă mai întâi, discuri fixe (adică discuri dure) în al doilea rând și, de obicei, nu sunt acceptate alte dispozitive de boot, sub rezerva modificării acestor reguli prin opțiunile ROM instalate. BIOS-ul unui computer timpuriu, de asemenea, ar porni de obicei numai de pe prima unitate de dischetă sau de pe prima unitate de disc, chiar dacă ar fi fost instalate două unități.

Eroare la pornire

Pe IBM PC și XT originale , dacă nu a fost găsit niciun disc bootabil, ROM BASIC a fost pornit apelând INT 18h. Deoarece puține programe foloseau BASIC în ROM, producătorii de clone pentru PC l-au lăsat; atunci un computer care nu a reușit să pornească de pe un disc va afișa „No ROM BASIC” și se va opri (ca răspuns la INT 18h).

Ulterior, computerele ar afișa un mesaj de genul „Nu s-a găsit niciun disc bootabil”; unii ar solicita introducerea unui disc și apăsarea unei taste pentru a încerca din nou procesul de boot. Un BIOS modern nu poate afișa nimic sau poate intra automat în utilitarul de configurare BIOS atunci când procesul de boot nu reușește.

Mediul de pornire

Mediul pentru programul de boot este foarte simplu: CPU-ul este în modul real, iar registrele de uz general și de segmente sunt nedefinite, cu excepția SS, SP, CS și DL. CS: IP indică întotdeauna adresa fizică 0x07C00. Ce valori au de fapt CS și IP nu este bine definit. Unele BIOS utilizează un CS: IP de, în 0x0000:0x7C00timp ce altele pot utiliza 0x07C0:0x0000. Deoarece programele de încărcare sunt încărcate întotdeauna la această adresă fixă, nu este nevoie ca un program de încărcare să poată fi relocat. DL poate conține numărul unității, așa cum este utilizat cu INT 13h , al dispozitivului de încărcare. SS: SP indică o stivă validă care este probabil suficient de mare pentru a suporta întreruperile hardware, dar în caz contrar SS și SP sunt nedefinite. (O stivă trebuie să fie deja configurată pentru ca întreruperile să poată fi întreținute și întreruperile trebuie să fie activate pentru întreruperea sistemului de timer-tick, pe care BIOS-ul o folosește întotdeauna cel puțin pentru a menține numărul de timp al zilei și pe care îl inițializează în timpul POST, pentru a fi activ și pentru ca tastatura să funcționeze. Tastatura funcționează chiar dacă serviciul de tastatură BIOS nu este apelat; tastările sunt recepționate și plasate în bufferul cu 15 caractere tip înainte menținut de BIOS.) Programul de boot trebuie să fie setat își creează propria stivă, deoarece dimensiunea stivei configurate de BIOS este necunoscută și locația sa este, de asemenea, variabilă; deși programul de boot poate investiga stiva implicită examinând SS: SP, este mai ușor și mai scurt să configurați necondiționat o stivă nouă.

La momentul pornirii, toate serviciile BIOS sunt disponibile, iar memoria de sub adresa 0x00400conține tabelul vectorului de întrerupere . BIOS POST a inițializat temporizatoarele de sistem, controlerele de întrerupere, controlerele DMA și alte hardware ale plăcii de bază / chipset, după cum este necesar pentru a aduce toate serviciile BIOS la starea gata. Reîmprospătarea DRAM pentru toate sistemele DRAM din memoria convențională și memoria extinsă, dar nu neapărat memoria extinsă, a fost configurată și rulează. Cei vectorii de întrerupere corespunzătoare întreruperilor BIOS au fost setate la punctul de la punctele de intrare corespunzătoare în BIOS, întrerupere hardware vectori pentru dispozitive initializate de BIOS au fost setate la punct la RLI BIOS-furnizate și alte câteva întreruperi, inclusiv generat de BIOS pentru ca programele să fie conectate, au fost setate la un ISR fictiv implicit care revine imediat. BIOS-ul menține un bloc rezervat de RAM de sistem la adrese 0x00400–0x004FFcu diverși parametri inițializați în timpul POST. Toată memoria la adresa de mai sus 0x00500poate fi utilizată de programul de boot; se poate chiar suprascrie.

Extensii (opțional ROM-uri)

Plăcile periferice, cum ar fi adaptoarele magistralei de hard disk și plăcile video, au propriul firmware, iar opțiunea de extensie BIOS ROM poate face parte din firmware-ul cardului de expansiune, care oferă funcționalități suplimentare BIOS-ului. Codul din opțiunile ROM rulează înainte ca BIOS să pornească sistemul de operare din stocarea în masă . Aceste ROM-uri testează și inițializează hardware-ul, adaugă noi servicii BIOS sau înlocuiesc serviciile BIOS existente cu propriile servicii. De exemplu, un controler SCSI are de obicei o extensie ROM BIOS care adaugă suport pentru hard disk-uri conectate prin intermediul controlerului respectiv. O extensie ROM ar putea conține, în principiu, sistemul de operare sau ar putea implementa un proces de boot complet diferit, cum ar fi bootarea în rețea . Funcționarea unui sistem de computer compatibil IBM poate fi complet modificată prin îndepărtarea sau introducerea unui card adaptor (sau a unui cip ROM) care conține o extensie ROM BIOS.

BIOS-ul plăcii de bază conține de obicei cod pentru a accesa componentele hardware necesare pentru bootstrapping display-ul integrat și stocarea integrată. În plus, cardurile adaptor plug-in, cum ar fi SCSI , RAID , plăcile de interfață de rețea și plăcile video includ adesea propriul BIOS (de exemplu, BIOS video ), completând sau înlocuind codul BIOS al sistemului pentru componenta dată. Chiar și dispozitivele încorporate în placa de bază se pot comporta în acest fel; opțiunile lor ROM pot face parte din BIOS-ul plăcii de bază.

Un card suplimentar necesită o opțiune ROM dacă placa nu este acceptată de BIOS-ul plăcii de bază și cardul trebuie inițializat sau făcut accesibil prin serviciile BIOS înainte ca sistemul de operare să poată fi încărcat (de obicei, aceasta înseamnă că este necesar în procesul de boot ). Chiar și atunci când nu este necesară, o opțiune ROM poate permite utilizarea unui card adaptor fără a încărca software-ul driverului de pe un dispozitiv de stocare după ce începe boot-ul - cu o opțiune ROM, nu se ia timp pentru a încărca driverul, driverul nu preia spațiu în RAM și nici pe hard disk, iar software-ul driverului de pe ROM rămâne întotdeauna cu dispozitivul, astfel încât cele două nu pot fi separate accidental. De asemenea, dacă ROM-ul este pe card, atât hardware-ul periferic, cât și software-ul driverului furnizat de ROM sunt instalate împreună, fără niciun efort suplimentar de instalare a software-ului. Un avantaj suplimentar al ROM-ului pe unele sisteme de computer timpurii (în special inclusiv IBM PCjr) a fost acela că ROM-ul era mai rapid decât RAM-ul principal al sistemului. (Pe sistemele moderne, cazul este foarte invers, iar codul BIOS ROM este de obicei copiat („umbrit”) în RAM, deci va rula mai repede.)

Există multe metode și utilitare pentru examinarea conținutului diverselor BIOS ale plăcii de bază și a ROM-urilor de expansiune, cum ar fi Microsoft DEBUG sau Unix dd .

Procedura de pornire

Dacă un ROM de expansiune dorește să schimbe modul în care sistemul pornește (cum ar fi de la un dispozitiv de rețea sau un adaptor SCSI) într-un mod cooperativ, acesta poate utiliza API- ul BIOS Boot Specification (BBS) pentru a înregistra capacitatea sa de a face acest lucru. Odată ce ROM-urile de expansiune s-au înregistrat utilizând API-urile BBS, utilizatorul poate selecta dintre opțiunile de boot disponibile din interfața de utilizare a BIOS-ului. Acesta este motivul pentru care majoritatea implementărilor BIOS pentru PC compatibile cu BBS nu vor permite utilizatorului să intre în interfața de utilizare a BIOS-ului până când ROM-urile de expansiune nu au terminat executarea și înregistrarea cu ajutorul BBS API.

De asemenea, dacă un ROM de expansiune dorește să schimbe modul în care sistemul pornește unilateral, poate pur și simplu să conecteze INT 19h sau alte întreruperi apelate în mod normal de la întreruperea 19h, cum ar fi INT 13h, serviciul discului BIOS, pentru a intercepta procesul de pornire BIOS. Apoi, acesta poate înlocui procesul de încărcare BIOS cu unul propriu sau poate doar să modifice secvența de încărcare prin inserarea propriilor acțiuni de încărcare, împiedicând BIOS-ul să detecteze anumite dispozitive ca bootabile sau ambele. Înainte ca BIOS Boot Specification să fie promulgată, aceasta a fost singura modalitate prin care ROM-urile de expansiune pot implementa capacitatea de boot pentru dispozitivele care nu sunt acceptate pentru bootarea de BIOS-ul nativ al plăcii de bază.

Inițializare

După ce BIOS-ul plăcii de bază își finalizează POST-ul, majoritatea versiunilor BIOS caută module opționale ROM, numite și ROM-uri de extensie BIOS, și le execută. BIOS-ul plăcii de bază scanează ROM-uri de extensie într-o porțiune din „ zona de memorie superioară ” (partea din spațiul de adrese în modul real x86 la adresa și peste adresa 0xA0000) și rulează fiecare ROM găsită, în ordine. Pentru a descoperi ROM-uri cu opțiuni ISA mapate cu memorie , o implementare BIOS scanează spațiul de adresă în modul real de la 0x0C0000până 0x0F0000la limitele de 2  KB (2.048 octeți), căutând o semnătură ROM de doi octeți : 0x55 urmată de 0xAA. Într-un ROM de expansiune valid, această semnătură este urmată de un singur octet care indică numărul de blocuri de 512 octeți pe care ROM-ul de extindere îl ocupă în memoria reală, iar următorul octet este punctul de intrare al opțiunii ROM (cunoscut și sub numele de „offset de intrare”) . Se calculează o sumă de verificare a numărului specificat de blocuri de 512 octeți și, dacă ROM-ul are o sumă de verificare validă, BIOS-ul transferă controlul la adresa de intrare, care într-un ROM normal de extensie BIOS ar trebui să fie începutul rutinei de inițializare a extensiei.

În acest moment, codul ROM de extensie preia, de obicei testând și inițializând hardware-ul pe care îl controlează și înregistrând vectori de întrerupere pentru a fi utilizați de aplicațiile post-boot. Poate utiliza serviciile BIOS (inclusiv cele furnizate de opțiunile ROM inițializate anterior) pentru a furniza o interfață de configurare a utilizatorului, pentru a afișa informații de diagnosticare sau pentru a face orice altceva de care are nevoie. Este posibil ca o opțiune ROM să nu revină la BIOS, prevenind cu totul secvența de boot a BIOS-ului.

O opțiune ROM ar trebui să revină în mod normal la BIOS după finalizarea procesului de inițializare. Odată ce (și dacă) revine o opțiune ROM, BIOS-ul continuă să caute mai multe ROM-uri de opțiuni, apelând fiecare așa cum este găsit, până când întreaga zonă ROM a opțiunii din spațiul de memorie a fost scanată.

Amplasarea fizică

Cipurile BIOS într-un Dell 310 care au fost actualizate prin înlocuirea cipurilor

ROM-urile opționale se află în mod normal pe cardurile adaptor. Cu toate acestea, PC-ul original și poate și PC XT au o priză ROM de rezervă pe placa de bază („placa de sistem” în termenii IBM) în care poate fi inserată o opțiune ROM, iar cele patru ROM-uri care conțin interpretul BASIC pot de asemenea, să fie eliminate și înlocuite cu ROM-uri personalizate care pot fi opțiuni ROM. IBM PCjr este unic printre PC - uri în care are două sloturi de cartușe ROM pe partea din față. Cartușele din aceste sloturi se mapează în aceeași regiune a zonei de memorie superioară utilizate pentru opțiunile ROM, iar cartușele pot conține module ROM opționale pe care BIOS le-ar recunoaște. Cartușele pot conține și alte tipuri de module ROM, cum ar fi programele BASIC, care sunt tratate diferit. Un cartuș PCjr poate conține mai multe module ROM de diferite tipuri, eventual stocate împreună într-un singur cip ROM.

Servicii de sistem de operare

ROM-ul BIOS este personalizat în funcție de hardware-ul producătorului, permițând furnizarea de servicii la nivel scăzut (cum ar fi citirea unei taste sau scrierea unui sector de date pe dischetă) într-un mod standardizat pentru programe, inclusiv sisteme de operare. De exemplu, un computer IBM poate avea fie un adaptor de afișare monocrom, fie color (folosind diferite adrese de memorie și hardware de afișare), dar poate fi apelat un singur apel de sistem standard, BIOS, pentru a afișa un caracter la o poziție specificată pe ecran în modul text sau modul grafic .

BIOS-ul oferă o mică bibliotecă de funcții de intrare / ieșire de bază pentru a opera periferice (cum ar fi tastatura, textul rudimentar și funcțiile de afișare grafică și așa mai departe). Atunci când se utilizează MS-DOS, serviciile BIOS pot fi accesate de un program de aplicație (sau de MS-DOS) executând o instrucțiune de întrerupere INT 13h pentru a accesa funcțiile discului sau executând unul dintre un număr de alte apeluri de întrerupere documentate din BIOS pentru a accesa video afișaj , tastatură , casetă și alte funcții ale dispozitivului.

Sistemele de operare și software-ul executiv care sunt proiectate să înlocuiască această funcționalitate de bază de firmware furnizează interfețe software de înlocuire cu software-ul aplicației. Aplicațiile își pot oferi, de asemenea, aceste servicii. Acest lucru a început chiar în anii 1980 sub MS-DOS , când programatorii au observat că utilizarea serviciilor video BIOS pentru afișarea grafică era foarte lentă. Pentru a crește viteza de ieșire a ecranului, multe programe au ocolit BIOS-ul și au programat hardware-ul de afișare video direct. Alți programatori grafici, în special, dar nu exclusiv în demoscenă , au observat că există capabilități tehnice ale adaptoarelor de afișare pentru PC care nu erau acceptate de IBM BIOS și nu puteau fi profitate fără a le ocoli. Deoarece BIOS-ul compatibil cu AT a funcționat în modul real Intel , sistemele de operare care au funcționat în modul protejat pe 286 și procesorele ulterioare au necesitat drivere de dispozitiv hardware compatibile cu funcționarea în mod protejat pentru a înlocui serviciile BIOS.

În computerele moderne care rulează sisteme de operare moderne (cum ar fi Windows și Linux ) apelurile de întrerupere ale BIOS - ului sunt utilizate numai în timpul bootării și încărcării inițiale a sistemelor de operare. Înainte de afișarea primului ecran grafic al sistemului de operare, intrarea și ieșirea sunt de obicei gestionate prin BIOS. Un meniu de încărcare, cum ar fi meniul textual al Windows, care permite utilizatorilor să aleagă un sistem de operare pentru a porni, pentru a porni în modul sigur sau pentru a utiliza ultima configurație bună cunoscută, este afișat prin BIOS și primește intrarea tastaturii prin BIOS.

Multe PC-uri moderne pot porni și rula sisteme de operare vechi, cum ar fi MS-DOS sau DR-DOS, care se bazează foarte mult pe BIOS pentru consola și I / O de disc, cu condiția ca sistemul să aibă un BIOS sau un firmware UEFI capabil de CSM.

Actualizări microcod procesor

Procesoarele Intel au microcod reprogramabil de la microarhitectura P6 . Procesoarele AMD au microcod reprogramabil de la microarhitectura K7 . BIOS-ul conține patch-uri la microcodul procesorului care remediază erorile din microcodul procesorului inițial; microcodul este încărcat în SRAM- ul procesorului, deci reprogramarea nu este persistentă, astfel încărcarea actualizărilor microcodului se efectuează de fiecare dată când sistemul este pornit. Fără microcod reprogramabil, ar fi necesară o schimbare costisitoare a procesorului; de exemplu, bug-ul Pentium FDIV a devenit un fiasco scump pentru Intel, deoarece a necesitat o retragere a produsului, deoarece microcodul defect al procesorului Pentium original nu a putut fi reprogramat. Sistemele de operare pot actualiza și microcodul procesorului principal .

Identificare

Unele BIOS conțin un tabel de descriere a licențelor software (SLIC), o semnătură digitală plasată în BIOS de către producătorul echipamentului original (OEM), de exemplu Dell . SLIC este inserat în tabelul de date ACPI și nu conține cod activ.

Producătorii de computere care distribuie versiunile OEM ale Microsoft Windows și software-ul aplicației Microsoft pot utiliza SLIC pentru a autentifica licențierea pe discul de instalare OEM Windows și pe discul de recuperare a sistemului care conține software Windows. Sistemele cu un SLIC pot fi preactivate cu o cheie de produs OEM și verifică un certificat OEM formatat XML față de SLIC în BIOS ca mijloc de autoactivare (consultați preinstalarea blocată a sistemului , SLP). Dacă un utilizator efectuează o nouă instalare de Windows, va trebui să dețină atât cheia OEM (fie SLP sau COA), cât și certificatul digital pentru SLIC-ul său pentru a ocoli activarea. Acest lucru poate fi realizat dacă utilizatorul efectuează o restaurare utilizând o imagine pre-personalizată furnizată de OEM. Utilizatorii puternici pot copia fișierele de certificat necesare din imaginea OEM, pot decoda cheia de produs SLP, apoi pot efectua activarea SLP manual. Crăpăturile pentru distribuții Windows care nu sunt autentice editează de obicei SLIC-ul sau îl emulează pentru a ocoli activarea Windows.

Overclocking

Unele implementări BIOS permit overclocking-ul , o acțiune în care CPU - ul este ajustat la o rată de ceas mai mare decât ratingul producătorului pentru capacitate garantată. Cu toate acestea, overclocking-ul poate compromite serios fiabilitatea sistemului în computerele răcite insuficient și, în general, scurtează durata de viață a componentelor. Overclockarea, atunci când este efectuată incorect, poate provoca supraîncălzirea componentelor atât de repede încât să se distrugă mecanic.

Utilizare modernă

Unele sisteme de operare mai vechi , de exemplu MS-DOS , se bazează pe BIOS pentru a efectua cele mai multe sarcini de intrare / ieșire în interiorul computerului.

Apelarea directă a serviciilor BIOS în mod real este ineficientă pentru sistemele de operare în mod protejat (și în modul lung ). Apelurile de întrerupere BIOS nu sunt utilizate de sistemele de operare moderne multitasking după încărcarea inițială.

În anii 1990, BIOS-ul a furnizat câteva interfețe de mod protejat pentru sistemele de operare Microsoft Windows și Unix , cum ar fi Advanced Power Management (APM), Plug and Play BIOS , Desktop Management Interface (DMI), PCI BIOS, VESA BIOS Extensions (VBE) și Specificație multiprocesor (MPS). Începând cu anii 2000, majoritatea BIOS-urilor oferă interfețe ACPI , SMBIOS , VBE și e820 pentru sistemele de operare moderne.

După încărcarea sistemelor de operare , codul modului de gestionare a sistemului funcționează în continuare în SMRAM. Din 2010, tehnologia BIOS se află într-un proces de tranziție către UEFI .

Configurare

Utilitar de configurare

Din punct de vedere istoric, BIOS-ul din IBM PC și XT nu avea o interfață de utilizator încorporată. Versiunile BIOS de pe computerele anterioare (clasa XT) nu erau configurabile de software; în schimb, utilizatorii setează opțiunile prin comutatoare DIP de pe placa de bază. Computerele ulterioare, inclusiv toate compatibilele IBM cu procesoare 80286, aveau o memorie BIOS nevolatilă (chip CMOS RAM), care deținea setările BIOS. Aceste setări, cum ar fi tipul adaptorului video, dimensiunea memoriei și parametrii hard disk-ului, ar putea fi configurate numai executând un program de configurare de pe un disc, care nu este încorporat în ROM. O „dischetă de referință” specială a fost inserată într-un IBM AT pentru a configura setări precum dimensiunea memoriei.

Primele versiuni ale BIOS-ului nu aveau parole sau opțiuni de selectare a dispozitivului de boot. BIOS-ul a fost codat pentru a porni de la prima unitate de dischetă sau, dacă nu a reușit, de la primul hard disk. Controlul accesului la primele mașini din clasa AT a fost efectuat printr-un comutator de blocare fizică (care nu a fost greu de învins dacă carcasa computerului ar putea fi deschisă). Oricine ar putea porni computerul ar putea să-l pornească.

Mai târziu, computerele din clasa 386 au început să integreze utilitarul de configurare BIOS în ROM-ul în sine, alături de codul BIOS; aceste computere pornesc de obicei în utilitarul de configurare BIOS dacă este apăsată o anumită combinație de taste sau taste, în caz contrar BIOS POST și procesul de boot sunt executate.

Premiați utilitarul de configurare BIOS pe un PC standard

Un utilitar modern de configurare a BIOS-ului are o interfață de utilizator text (TUI) sau o interfață grafică de utilizator (GUI) accesată prin apăsarea unei anumite taste de pe tastatură la pornirea computerului. De obicei, cheia este promovată pentru scurt timp în timpul pornirii timpurii, de exemplu „Apăsați DEL pentru a intra în Setare”. Cheia reală depinde de hardware-ul specific. Funcțiile prezente în utilitarul de configurare BIOS includ de obicei:

  • Configurarea, activarea și dezactivarea componentelor hardware
  • Setarea timpului sistemului
  • Setarea ordinii de încărcare
  • Setarea diferitelor parole, cum ar fi o parolă pentru securizarea accesului la interfața de utilizare a BIOS-ului și prevenirea utilizatorilor rău intenționați de la bootarea sistemului de pe dispozitive de stocare portabile neautorizate sau o parolă pentru bootarea sistemului

Monitorizare hardware

Un ecran modern de configurare a BIOS-ului are adesea o stare de sănătate a PC-ului sau o filă Hardware Monitoring , care se interfață direct cu un cip Hardware Monitor de pe placa principală. Acest lucru face posibilă monitorizarea temperaturii procesorului și a șasiului , a tensiunii furnizate de sursa de alimentare , precum și monitorizarea și controlul vitezei ventilatoarelor conectate la placa de bază.

Odată ce sistemul este pornit, monitorizarea hardware și controlul ventilatorului computerului se realizează în mod direct direct de cipul Hardware Monitor în sine, care poate fi un cip separat, interfațat prin I²C sau SMBus , sau poate face parte dintr-o soluție Super I / O , interfațată prin număr mic de pini (LPC). Unele sisteme de operare, cum ar fi NetBSD cu envsys și OpenBSD cu sysctl hw.sensors , au interfață integrată cu monitoare hardware.

Cu toate acestea, în anumite circumstanțe, BIOS oferă, de asemenea, informații de bază despre monitorizarea hardware prin ACPI , caz în care sistemul de operare poate utiliza ACPI pentru a efectua monitorizarea hardware.

Reprogramare

Kit de înlocuire BIOS pentru un Dell 310 de la sfârșitul anilor 1980. Sunt incluse două așchii, un suport de plastic pentru așchii și un extractor de așchii.

În computerele moderne BIOS-ul este stocat în memorie flash EEPROM sau NOR regrababilă , permițând înlocuirea și modificarea conținutului. Această rescriere a conținutului este uneori denumită intermitentă . Poate fi realizat de un program special, de obicei furnizat de producătorul sistemului sau la POST , cu o imagine BIOS pe un hard disk sau o unitate flash USB. Un fișier care conține astfel de conținut este uneori denumit „o imagine BIOS”. Un BIOS ar putea fi refăcut pentru a face upgrade la o versiune mai nouă pentru a remedia erorile sau pentru a oferi performanțe îmbunătățite sau pentru a suporta hardware mai nou.

Hardware

American Megatrends BIOS 686. Acest cip BIOS este găzduit într-un pachet PLCC într-o priză.

BIOS-ul original IBM PC (și caseta BASIC) a fost stocat pe cipurile de memorie citită (ROM) programate de mască în soclurile de pe placa de bază. ROM-urile pot fi înlocuite, dar nu modificate, de către utilizatori. Pentru a permite actualizări, multe computere compatibile au folosit dispozitive de memorie BIOS reprogramabile, cum ar fi EPROM , EEPROM și dispozitive de memorie flash ulterioară (de obicei NOR flash ). Potrivit lui Robert Braver, președintele producătorului de BIOS Micro Firmware, cipurile Flash BIOS au devenit obișnuite în jurul anului 1995 deoarece cipurile PROM șterse electric (EEPROM) sunt mai ieftine și mai ușor de programat decât cipurile standard PROM ( EPROM ) șterse ultraviolete . Cipurile Flash sunt programate (și reprogramate) în circuit, în timp ce cipurile EPROM trebuie scoase de pe placa de bază pentru reprogramare. Versiunile BIOS sunt actualizate pentru a profita de versiunile mai noi de hardware și pentru a corecta erorile din versiunile anterioare ale BIOS-urilor.

Începând cu IBM AT, computerele au acceptat un ceas hardware setabil prin BIOS. A avut un pic de secol care a permis schimbarea manuală a secolului când sa întâmplat anul 2000. Cele mai multe revizuiri BIOS create în 1995 și aproape toate reviziile BIOS în 1997 au susținut anul 2000, setând automat bitul secolului când ceasul a trecut peste miezul nopții, 31 decembrie 1999.

Primele cipuri flash au fost atașate la magistrala ISA . Începând din 1998, blițul BIOS s-a mutat pe magistrala LPC , un înlocuitor funcțional pentru ISA, în urma unei noi implementări standard cunoscute sub numele de „firmware hub” (FWH). În 2006, memoria flash BIOS sa mutat pe magistrala SPI .

Dimensiunea BIOS-ului și capacitatea ROM, EEPROM sau a altor medii pe care poate fi stocat a crescut în timp, pe măsură ce au fost adăugate noi caracteristici la cod; Versiunile BIOS există acum cu dimensiuni de până la 32 de megaocteți. Pentru contrast, BIOS-ul original IBM PC a fost conținut într-o mască ROM de 8 KB. Unele plăci de bază moderne includ IC-uri de memorie flash NAND și mai mari la bord, care sunt capabile să stocheze sisteme de operare compacte întregi, cum ar fi unele distribuții Linux . De exemplu, unele notebook-uri ASUS includeau sistemul de operare Splashtop încorporat în IC-urile lor de memorie flash NAND. Cu toate acestea, ideea de a include un sistem de operare împreună cu BIOS în ROM-ul unui PC nu este nouă; în anii 1980, Microsoft a oferit o opțiune ROM pentru MS-DOS și a fost inclusă în ROM-urile unor clone de PC, cum ar fi Tandy 1000 HX .

Un alt tip de cip firmware a fost găsit pe IBM PC AT și pe cele mai vechi compatibile. În AT, interfața tastaturii era controlată de un microcontroler cu propria memorie programabilă. Pe IBM AT, acesta era un dispozitiv cu socket cu 40 de pini, în timp ce unii producători foloseau o versiune EPROM a acestui cip care semăna cu o EPROM. Acestui controler i s-a atribuit și funcția de poartă A20 pentru a gestiona memoria peste intervalul de un megabyte; ocazional, a fost necesară o actualizare a acestui "BIOS tastatură" pentru a profita de software-ul care ar putea utiliza memoria superioară.

BIOS-ul poate conține componente precum Memory Reference Code (MRC), care este responsabil pentru inițializarea memoriei (de exemplu, inițializarea SPD și temporizarea memoriei ).

BIOS-ul modern include firmware- ul Intel Management Engine sau platforma AMD Platform Security Processor .

Furnizori și produse

Compararea diferitelor implementări BIOS
Companie AwardBIOS AMIBIOS Insyde SeaBIOS
Licență Proprietate Proprietate Proprietate LGPL v3
Mentinut / dezvoltat Încetat Încetat Încetat da
Apeluri BIOS PCI pe 32 de biți da da da da
AHCI da da da da
APM da da Da (1.2) Da (1.2)
BBS da da da da
Meniul de pornire da da da da
Comprimare Da ( LHA ) Da (LHA) Da (RLE) Da (LZMA)
CMOS da da da da
EDD da da da da
ESCD da da ? Nu
Flash din ROM ? da ? Nu
Limba Asamblare Asamblare Asamblare C
LBA Da (48) Da (48) da Da (48)
Specificații multiprocesor da da da da
Opțiune ROM da da da da
Parola da da da Nu
PMM ? da ? da
Ecran de configurare da da da Nu
SMBIOS da da da da
Ecran splash Da (EPA) Da ( PCX ) da Da (BMP, JPG)
TPM Necunoscut Necunoscut Necunoscut niste
Pornire USB da da da da
mufa USB ? ? ? da
Tastatură USB da da da da
Mouse USB da da da da

IBM a publicat întreaga listă a BIOS-ului pentru computerul său original, PC XT, PC AT și alte modele de PC-uri contemporane, într-o anexă a IBM PC Manual de referință tehnică pentru fiecare tip de mașină. Efectul publicării listelor BIOS este că oricine poate vedea exact ce face un BIOS definitiv și cum îl face.

BIOS Compaq Portable 386

În mai 1984, Phoenix Software Associates a lansat primul ROM-BIOS, care le-a permis OEM-urilor să construiască în esență clone complet compatibile, fără a fi nevoie să facă inginerie inversă IBM PC BIOS, așa cum făcuse Compaq pentru portabil , contribuind la alimentarea creșterii în PC- industria compatibilă și vânzările de versiuni non-IBM ale DOS. Și primul BIOS american Megatrends (AMI) a fost lansat în 1986.

Noile standarde altoite pe BIOS sunt, de obicei, fără documentație publică completă sau orice listă de BIOS. Ca rezultat, nu este la fel de ușor să aflați detalii intime despre numeroasele adăugiri non-IBM la BIOS ca despre serviciile de bază ale BIOS-ului.

Majoritatea furnizorilor de plăci de bază pentru PC au licențiat un „nucleu” și un set de instrumente BIOS de la un terț comercial, cunoscut sub numele de „furnizor independent de BIOS” sau IBV. Producătorul plăcii de bază a personalizat apoi acest BIOS pentru a se potrivi propriului hardware. Din acest motiv, BIOS-urile actualizate sunt obținute în mod direct de la producătorul plăcii de bază. Fostii mari furnizori de BIOS au inclus American Megatrends (AMI), Insyde Software , Phoenix Technologies , Byosoft, Award Software și Microid Research. Software-ul Microid Research și Award a fost achiziționat de Phoenix Technologies în 1998; Phoenix a renunțat ulterior la numele mărcii Award. General Software , care a fost achiziționat și de Phoenix în 2007, a vândut BIOS pentru sistemele încorporate bazate pe procesoare Intel.

Comunitatea open-source și-a sporit efortul de a dezvolta un înlocuitor pentru BIOS-urile proprietare și încarnările lor viitoare cu un omolog open-source prin intermediul proiectelor libreboot , coreboot și OpenBIOS / Open Firmware . AMD a furnizat specificații de produs pentru unele chipset-uri, iar Google sponsorizează proiectul. Producătorul de plăci de bază Tyan oferă coreboot lângă BIOS-ul standard cu linia lor de plăci de bază Opteron .

Securitate

Un BIOS american Megatrends afișează o „ Eroare de încărcare a codului uC Intel ” după o încercare nereușită de a încărca patch-uri de microcod în CPU
Un cip BIOS detașat

Cipurile de memorie EEPROM și Flash sunt avantajoase deoarece pot fi ușor actualizate de utilizator; este obișnuit ca producătorii de hardware să emită actualizări BIOS pentru a-și actualiza produsele, a îmbunătăți compatibilitatea și a elimina erorile . Cu toate acestea, acest avantaj avea riscul ca o actualizare BIOS executată necorespunzător sau întreruptă să facă computerul sau dispozitivul inutilizabile. Pentru a evita aceste situații, BIOS-urile mai recente folosesc un „bloc de boot”; o porțiune din BIOS care rulează mai întâi și trebuie actualizată separat. Acest cod verifică dacă restul BIOS-ului este intact (folosind sumele de verificare hash sau alte metode) înainte de a transfera controlul către acesta. Dacă blocul de boot detectează orice corupție în BIOS-ul principal, acesta va avertiza de obicei utilizatorul că trebuie inițiat un proces de recuperare prin bootarea de pe un suport amovibil (dischetă, CD sau unitate flash USB), astfel încât utilizatorul să poată încerca să blocheze din nou BIOS-ul. Unele plăci de bază au un BIOS de rezervă (uneori denumit plăci DualBIOS) pentru a se recupera de la corupții ale BIOS-ului.

Există cel puțin cinci viruși de atac BIOS cunoscuți, dintre care doi au fost în scop demonstrativ. Primul găsit în sălbăticie a fost Mebromi , vizând utilizatorii chinezi.

Primul virus BIOS a fost meningita BIOS, care, în loc să șteargă cipurile BIOS, le-a infectat. Meningita BIOS are relativ inofensiv, comparativ cu un virus precum CIH .

Al doilea virus BIOS a fost CIH , cunoscut și sub denumirea de „Virusul Cernobîl”, care a putut șterge conținutul flash BIOS ROM pe chipset-uri compatibile. CIH a apărut la mijlocul anului 1998 și a devenit activ în aprilie 1999. Adesea, computerele infectate nu mai puteau porni, iar oamenii trebuiau să scoată IC-ul ROM flash de pe placa de bază și să-l reprogrameze. CIH a vizat chipset-ul plăcii de bază Intel i430TX pe atunci răspândit și a profitat de faptul că sistemele de operare Windows 9x , de asemenea răspândite la acea vreme, permiteau accesul direct al hardware-ului la toate programele.

Sistemele moderne nu sunt vulnerabile la CIH din cauza utilizării unei varietăți de chipset-uri care sunt incompatibile cu chipset-ul Intel i430TX și, de asemenea, cu alte tipuri de flash ROM IC. Există, de asemenea, o protecție suplimentară împotriva rescrierilor accidentale ale BIOS-ului sub formă de blocuri de încărcare, care sunt protejate împotriva suprascrierii accidentale sau a sistemelor echipate cu BIOS dual și quad, care pot, în cazul unui accident, să utilizeze un BIOS de rezervă. De asemenea, toate sistemele de operare moderne, cum ar fi FreeBSD , Linux , macOS , sistemul de operare Windows bazat pe Windows NT, cum ar fi Windows 2000 , Windows XP și mai nou, nu permit programelor în modul utilizator să aibă acces direct la hardware.

Ca urmare, începând cu 2008, CIH a devenit în mod esențial inofensiv, provocând cel mai rău enervare prin infectarea fișierelor executabile și declanșarea software-ului antivirus. Cu toate acestea, rămân posibile alte virusuri BIOS; deoarece majoritatea utilizatorilor Windows Windows fără UAC-ul Windows Vista / 7 rulează toate aplicațiile cu privilegii administrative, un virus modern de tip CIH ar putea, în principiu, să aibă acces la hardware fără a utiliza mai întâi un exploit. Sistemul de operare OpenBSD împiedică toți utilizatorii să aibă acest acces, iar patch-ul grsecurity pentru kernel-ul Linux împiedică, de asemenea, acest acces hardware direct în mod implicit, diferența fiind un atacator care necesită o exploatare sau repornire a nivelului kernelului mult mai dificilă a mașinii.

Al doilea virus BIOS a fost o tehnică prezentată de John Heasman, principal consultant de securitate pentru software-ul de securitate Next-Generation din Marea Britanie. În 2006, la Conferința de securitate Black Hat, a arătat cum să ridice privilegiile și să citească memoria fizică, folosind proceduri rău intenționate care înlocuiau funcțiile normale ACPI stocate în memoria flash.

Al treilea virus BIOS a fost o tehnică numită „Infecție persistentă BIOS”. A apărut în 2009 la Conferința de securitate CanSecWest de la Vancouver și la Conferința de securitate SyScan de la Singapore. Cercetătorii Anibal Sacco și Alfredo Ortega, de la Core Security Technologies, au demonstrat cum să introducă cod rău intenționat în rutinele de decompresie din BIOS, permițând controlul aproape complet al computerului la pornire, chiar înainte de pornirea sistemului de operare. Dovada conceptului nu exploatează un defect în implementarea BIOS-ului, ci implică doar procedurile normale de intermitent BIOS. Astfel, necesită acces fizic la mașină sau ca utilizatorul să fie root. În ciuda acestor cerințe, Ortega a subliniat implicațiile profunde ale descoperirii sale și ale lui Sacco: "Putem corela un driver pentru a renunța la un rootkit complet funcțional . Avem chiar un mic cod care poate elimina sau dezactiva antivirusul."

Mebromi este un troian care vizează computerele cu AwardBIOS , Microsoft Windows și software antivirus de la două companii chinezești: Rising Antivirus și Jiangmin KV Antivirus. Mebromi instalează un rootkit care infectează înregistrarea Master Boot .

Într-un interviu din decembrie 2013 cu 60 de minute , Deborah Plunkett, directorul asigurării informațiilor pentru Agenția Națională de Securitate a SUA a susținut că NSA a descoperit și a împiedicat un posibil atac BIOS al unui stat național străin, care vizează sistemul financiar american. Programul a citat surse anonime, susținând că este un complot chinez. Cu toate acestea, articolele ulterioare din The Guardian , The Atlantic , Wired și The Register au respins afirmațiile NSA.

Platformele Intel mai noi au tehnologia Intel Boot Guard (IBG) activată, această tehnologie va verifica semnătura digitală BIOS la pornire, iar cheia publică IBG este fuzionată în placa de bază PCH . Utilizatorii finali nu pot dezactiva această funcție.

Alternative și succesori

BIOS-ul vechi al PC-ului a fost înlocuit de interfața Unified Extensible Firmware Interface (UEFI) mai complexă în multe mașini noi. UEFI este o specificație care înlocuiește interfața de execuție a BIOS-ului vechi. Scris inițial pentru arhitectura Intel Itanium , UEFI este acum disponibil pentru platformele de arhitectură x86 , x86-64 și ARM ; dezvoltarea specificațiilor este condusă de Unified EFI Forum , un grup de interes special din industrie . Bootarea EFI a fost acceptată numai în versiunile Microsoft Windows care acceptă GPT , kernel-ul Linux 2.6.1 și versiunile ulterioare și macOS pe Mac-urile bazate pe Intel . Începând cu 2014, noul hardware PC este livrat în principal cu firmware UEFI. Arhitectura protecției rootkit poate, de asemenea, împiedica sistemul să ruleze propriile modificări ale software-ului utilizatorului, ceea ce face UEFI controversat ca înlocuitor vechi al BIOS-ului în comunitatea hardware deschisă . De asemenea, Windows 11 necesită pornirea UEFI.

Alte alternative la funcționalitatea „Legacy BIOS” din lumea x86 includ coreboot și libreboot .

Unele servere și stații de lucru utilizează un Open Firmware independent de platformă (IEEE-1275) bazat pe limbajul de programare Forth ; este inclus cu computerele SPARC ale Sun , linia RS / 6000 a IBM și alte sisteme PowerPC , cum ar fi plăcile de bază CHRP , împreună cu OLPC XO-1 bazat pe x86 .

Începând cu cel puțin 2015, Apple a eliminat suportul BIOS vechi de pe computerele MacBook Pro . Ca atare, utilitarul BIOS nu mai acceptă opțiunea moștenită și imprimă „Modul moștenit nu este acceptat pe acest sistem”. În 2017, Intel a anunțat că va elimina suportul BIOS vechi până în 2020. Din 2019, noile computere OEM cu platformă Intel nu mai acceptă opțiunea veche.

Vezi si

Note

Referințe

Lecturi suplimentare

linkuri externe