Sembra che ci siano due campi, il piccolo gruppo di persone che si preoccupano di UEFI e di tutti gli altri che non si accorgano o si preoccupano finché il loro computer funziona. Quindi parliamo di ciò che è UEFI, come è venuto per essere, cosa è adatto e perché dovresti (o non dovresti) cure.

Cos’è l’UEFI?

UEFI significa un’interfaccia del firmware estensibile unificata, un convenzionale detenuto da un’organizzazione nota come Forum EFI unito. Intel è uscito con EFI (interfaccia del firmware estensibile) e in seguito ha reso la specifica pubblica come UEFI. Come specifica, i dettagli dell’applicazione cambiano tra venditori e produttori, ma l’obiettivo è quello di presentare la struttura convenzionale e comprensibile di un bootloader del sistema operativo. Questo rende molto più semplice scrivere un sistema operativo perché non devi più preoccuparti di tutta la compagnia disordinata di avviare effettivamente il chipset.

Diversi IBVS (fornitori di BIOS indipendenti) offrono le loro implementazioni di UEFI che gli OEM che producono schede madri possono licenziare e utilizzare nei loro prodotti. Alcuni esempi sarebbero AMI, Phoenix e Insyde. Probabilmente hai visto il loro logo o solo il testo del loro nome flash brevemente sullo schermo prima che il sistema operativo di scelta stivali correttamente.

Parliamo di come gli stivali UEFI. Generalmente, ci sono alcune fasi diverse. Tipicamente diciamo perché ci sono numerose implementazioni e numerose di loro fanno cose fuori dalle specifiche. Esistono tre fasi generali: sicurezza e sicurezza (sec), inizializzazione pre-EFI (PEI) e ambiente di esecuzione dell’unità (DXE). Ognuno è un mini sistema operativo. Poiché Intel è colui che ha iniziato EFI e in seguito lo ha trasformato in UEFI, gran parte del design è sviluppato attorno a come i processori Intel si avviano. Altre piattaforme come il braccio potrebbero astenersi dal fare molto nella fase sec o pei.

Il processo di avvio per i processori X86 è un po ‘strano. Iniziano in modalità reale (anche se la maggior parte dei processori in questi giorni è tecnicamente irreale), con uno spazio indirizzo a 20 bit (1 MB di memoria indirizzabile) per motivi di compatibilità all’indietro. Poiché il processore continua ad avviare, passa alla modalità protetta e quindi alla modalità Lunga. In un sistema multi-core, tutti i processori corrono per ottenere un semaforo o leggere EAX, e uno è designato il BSP (processore Bootstrap). I perdenti si fermano finché il BSP non li avvia attraverso un IPI (inter-processor interrupt). Normalmente, è presente un chip Flash SPI a bordo con firmware mappato nella fine della regione di memoria a 32 bit fisica. Il motore Intel Management Engine (ME) o AMD Platform Sicurezza e Processore di sicurezza (PSP) fa la maggior parte della fase SEC, ad esempio arrossendo la cache e avviare i processori.

Una volta avvicinati i processori, Pei è iniziato ufficialmente. Sui sistemi Intel, non esiste una RAM di sistema nella maggior parte di Pei. Questo perché la memoria deve essere formata e collegamenti inizializzati prima che il processore possa usarli. La spinta sempre spietata per molto più e molto più velocità da RAM implica che la RAM deve essere testata, calibrata e configurata su ogni avvio come diversi bastoncini RAM hanno altri parametri. Numerosi sistemi cache di questi parametri per i tempi di avvio più rapidi, ma in genere devono essere invalidati e riqualificati mentre la RAM attacca l’età. La PSP gestisce la formazione della memoria e dell’imballaggio UEFI su alcuni sistemi AMD prima che il processore X86 principale venga estratto dal reset. Per i sistemi Intel, usano un trucco chiamato XIP (eseguito in posizione) che trasforma le varie cache in RAM a breve termine. C’è solo una piccola pila, una piccola quantità di spazio heap e nessuna variabile statica per Pei. Numerose piattaforme Intel Server si basano sul controller di gestione del consiglio di amministrazione (BMC) per addestrare la memoria, in quanto la formazione di grandi quantità di memoria richiede molto tempo.

Dopo aver inizializzato la RAM e trasferire il contenuto della cache a breve termine, il trasferimento in DXE. La fase DXE offre due tipi di servizi: avvio e runtime. I servizi di runtime sono destinati a essere consumati da un sistema operativo, servizi come variabili non volatili. I servizi di avvio vengono distrutti una volta che Exitbootservices è chiamato (in genere dal caricatore del sistema operativo), ma sono servizi come input da tastiera e driver grafici. BDS (Boot Device Selection) viene eseguito in DXE ed è il modo in cui il sistema determina quale unità da avvio (disco rigido, USB, ecc.).

Questa è stata una panoramica particolare molto densa e x86. Numerose architetture come il braccio eschew Uefi per qualcosa di molto più come Coreboot, LinuxBoot o LK, dove stivali un piccolo kernel Linux che poi Kexec è in un kernel molto più grande. Tuttavia, numerose piattaforme del braccio possono anche sfruttare UEFI. Solo il tempo dirà in quale direzione si muove l’industria.

Come è venuto

Nel 2005, UEFI ha interamente sostituito EFI (interfaccia del firmware estensibile), l’Intel convenzionale aveva presentato alcuni anni prima. EFI ha preso in prestito numerose cose da Windows di quel periodo, formati di immagini di Pecoff e UEFI, a sua volta, metodi presi in prestito da EFI. Prima di EFI, c’è stato un buon vecchio BIOS (sistema di output di ingresso di base). Il nome è stato originato dai sistemi CP / M del 1975. In quel periodo, il BIOS è stato un modo per il sistema di avviare e offrire un’interfaccia un po ‘uniforme per le applicazioni BY offrendo chiamate di interrupt BIOS. Le telefonate hanno permesso a un programma di accedere all’ingresso e alle uscite come le porte seriali, il RTC e il bus PCI. Phoenix e altri ingegnerizzati in avanti l’interfaccia proprietaria che IBM ha prodotto per fabbricare macchine compatibili IBM, che alla fine ha portato a qualcosa di simile a uno standard.

È meglio del Bios?

Sì e No, a seconda della tua prospettiva. Numerosi fornitori di sistemi operativi come UEFI perché in genere rendono le loro vite più semplici in quanto i servizi forniti rendono facile dare un’esperienza omogenea che si avvia. La comunità di Linux, in genere parlando, è agnostica al meglio e antagonista nel peggiore dei peggiori verso UEFI. L’interfaccia del BIOS sta spingendo 45 anni al momento della scrittura ed è considerata legacy in tutti i sensi. Un altro punto nell’angolo di UEFI è che facilita la scelta di diversi gadget di avvio e aggiornando il firmware sulla macchina. UEFI utilizza GUID PARTETION TABELLA (GPT) OVER MASTER Boot Record (MBR) – considerato un PLUS come MBR è in qualche modo inflessibile. Numerose piattaforme spedite oggi sono basate sul progetto Open-Source EDK2 di Tianocore, un’implementazione di UEFI che supporta x86, braccio e RISCV.

Il più grande reclamo con UEFI è che è una scatola nera chiusa con accesso inimmaginabile al computer e rimane locale dopo gli stivali del computer. Il BIOS è attraente perché l’interfaccia è ampiamente nota e in genere non è residente. UEFI può essere aggiornato più semplice ma ha anche una necessità molto più importante per gli aggiornamenti. Un aggiornamento UEFI può mattinare completamente il tuo sistema. Non si avvia, e a causa dei fusibili soffiati sull’unità, è praticamente impossibile fisicamente fisicamente, anche per il produttore. Importi significativi di test vanno in questi aggiornamenti, ma la maggior parte sono titubanti per spingere numerosi aggiornamenti a causa della quantità di lavoro richiesto.

Perché dovresti o non dovresti preoccuparti

Alla fine della giornata, ti interessa se puoi usare il tuo computer per le cose che sono essenziali per te. Se questo sta giocando, scrivendo un’e-mail o facendo un nuovo computer, non importa finché il computer fa ciò che desideri. E l’avvio è solo uno strato dimenticato dal fatto che accada. Se ti interessa capire ogni singolo pezzo di codice funziona il tuo dispositivo, è necessario fibbia per una lunga corsa. Ci sono affari come Librem andando a lunghezze per assicurarsi che problemi difficili come la memoria init siano in esecuzione in Blob non proprietari. Puoi ancora modificare UEFI, [Hales] essendo un eccezionale esempio di modificare il Bios di un laptop della vecchia scuola. Strumenti open source per ispezionare e capire cosa sta succedendo sotto il cofano stanno migliorando.

In definitiva è tanto quanto se ti interessa il processo di avvio del tuo dispositivo.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *