Gå til innhold

Derfor møter du denne hver gang maskinen starter (Ekstra)


Anbefalte innlegg

 

Feil. Programmene bruker virtuelle adresser. En av de viktigste oppgavene til et moderne OS er nettopp å oversette virtuelt minne til fysisk minne. Det er noe OS-et gjør, ikke en underliggende firmware (BIOS/EFI/etc). BIOS har også lite med hvordan hardware er mappet til minneområdet, men kan som sagt konfigurere noen av disse tingene ved oppstart.

Nei her blander du kortene. Det du snakker om er paging, som gjøres av kernel etter bootstrapping og bytting til pmode, hvor hvert enkelt program får sine virtuelle minneadresser som oversettes direkte av CPUen. Dette har åpenbart ingenting med BIOS å gjøre, og er heller ikke hva jeg sikter til.

 

Det jeg snakker om er minneadressene til enheter som brukes til kommunikasjon. Her er et eksempel fra en av mine PCer:

01:00.0 VGA compatible controller: NVIDIA Corporation GK104 [GeForce GTX 680] (rev a1) (prog-if 00 [VGA controller])
	Subsystem: Micro-Star International Co., Ltd. [MSI] Device 2822
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 88
	Region 0: Memory at fa000000 (32-bit, non-prefetchable) [size=16M]
	Region 1: Memory at f0000000 (64-bit, prefetchable) [size=128M]
	Region 3: Memory at f8000000 (64-bit, prefetchable) [size=32M]
	Region 5: I/O ports at e000 [size=128]
	[virtual] Expansion ROM at fb000000 [disabled] [size=512K]
	Capabilities: <access denied>
	Kernel driver in use: nvidia

Jeg får gjenta det jeg sa i sted; denne uenigheten handler om begreper. Mange mener faktisk det du kaller "IBM BIOS" når de snakker om BIOS. Det er vanlig å kalle det du kaller for BIOS for "firmware". Inn under det begrepet ligger da både BIOS ("IBM BIOS"), EFI og det man finner i diverse embedded-platformer. Hvis vi ser bort fra disse begrepsuenighetene så er vi vel alle egentlig enige i denne tråden.

At folk bruker begreper ulikt/feil endrer ikke på det faktum at UEFI er en type BIOS, og at flertallet av datamaskiner bruker én eller annen form for BIOS (pluss eventuell firmware). F.eks. dagens Intel-CPUer har en egen firmware som lastes av BIOS.

 

 

Hvis vi med BIOS mener et generelt "basic input output system", og ikke en firmware som er kompatibel med IBM BIOS-en, så kan vi si at EFI er en type BIOS, ja. Hvis ikke kan vi jo selvsagt ikke det - så nei, det er ikke et faktum, og det er utelukkende pga begreper.

 

Jeg vil si du blandet kortene ved å introdusere virtuelle adresser her - de har ingenting med saken å gjøre. Adressene til systemkomponenter settes i stor grad opp i hardware (hvordan tror du BIOS selv finner frem til ting?). Jeg vet ikke om du blander med PCI-enumerering her, men det er også noe som godt kan gjøres av OSet.

Lenke til kommentar
Videoannonse
Annonse
  • 1 år senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...