Gå til innhold

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


Anbefalte innlegg

Videoannonse
Annonse

Husker mye trøbbel med BIOS oppover årene. Pcer som døde helt grunnet feilslått flashing. Eller overklokking.

Redningen kom da man fikk noen hovedkort, der man kunne nullstille BIOS ved å flytte en jumper, og ta ut batterier fra hovedkortet m.m

Skrekken ved å flashe fra Windows i starten var jo en 50/50 sjanse. Enten fungerte det, eller så var pcen død.

 

Dette har blitt MYE bedre, men skrekken er der litt enda siden jeg husker hvor mye arbeid det ble av slikt.

  • Liker 2
Lenke til kommentar

 

tja, har sett videoer med pcer som starter uten å vise bios..

Du kan i fleste nyere maskienr skur på "quickstart" eller lignende som hopper over første bios vinduet (det går fårsat men fleste nyere maskiner er så raske i dag at det er over på eit blunk)

 

og derfor "lyver" artikkelen

Lenke til kommentar
  • 3 uker senere...

En moderne PC består som kjent av mange forskjellige komponenter som gjør sine ting, og disse må kommunisere og koordinere innsatsen. Spesielt viktig er dette i oppstarten, før selve operativsystemet tar over styringen.

...

Ingen av dagens nyere operativsystemene bruker BIOS aktivt. På en moderne PC er BIOS' hovedfunksjon å sparke i gang maskinvaren slik at operativsystemet kan lastes inn.

Her har dere ikke forstått hva BIOS faktisk er. BIOS er nettopp et grunnleggende I/O-system som operativsystemet bruker for å kommunisere med maskinvare. Alt dette har dere glemt, men dere nevner i stedet det som kalles POST(Power-On Self-Test), og det er langt fra det eneste en BIOS gjør. Viktigst av alt er oppgaven med å tildele minneadresser for at operativsystemet skal kunne kommunisere med maskinvare, og strømstyring som ACPI. POST er en nyttig ting, men ikke en kritisk oppgave.

Litt lenger opp i artikkelen skriver jeg: «I CP/M hadde BIOS jobben med å ta seg av de mest grunnleggende funksjonene i operativsystemet, og da spesielt de som kommuniserte direkte mot maskinvare – eksempelvis å lese fra og skrive til en disk.»

 

Så jo, jeg mener jeg forstår hva BIOS faktisk er.

 

Når det gjelder strømstyring så er jeg enig, et OS som sover kan ikke vekke seg selv. Men da er det heller ikke operativssytemet som bruker BIOS-en aktivt, slik som tilfelle var i de gamle DOS-dager.

 

 

Det var dog ingen tvil om at den første utgaven av PC-DOS var tungt basert på nettopp CP/M.

Feil igjen, PC-DOS var omdøpt Q-DOS av Tim Paterson som var en klone av CP/M (en vesentlig forskjell!). Kildalls CP/M forble en kompatibel* konkurrent i mange år etterpå. (* så vidt jeg vet)

 

Jeg ser ikke den vesentlige forskjellen, det er tross alt kloner vi snakker om. Greit nok: Patersons QDOS / 86-DOS var en klone av CP/M, og så ble portet over til IBMs PC i form av PC-DOS. Det betyr likevel ikke at det er feil å si at PC-DOS er basert på CP/M. Jeg har tross alt ikke påstått at det var en klone eller kopi - forandringer ble gjort. Men det er fremdeles CP/M som ligger i bunn.

 

 

BIOS holdt koken lenge, men for de aller nyeste datamaskinene er det nå en etterfølger med navnet UEFI (Unified Extensible Firmware Interface) som har tatt over.

Men dere klarer å dra frem den klassiske skrytelisten til EFI:

- Større disker enn 2TB - har ingenting med EFI kontra tradisjonell BIOS, det er en implementasjonssak.

- GUI med mus - dette hadde også winbios rundt 1994

- Raskere oppstart / ikke lenger behov for POSD - dette stemmer ikke, (U)EFI er faktisk tregere enn tidligere BIOSer.

 

Det stemmer at UEFI ikke i seg selv er raskere enn tradisjonelle BIOS-er, men i praksis vil den ofte være det.

Dette hevdes i Building Windows 8-bloggen:

«Systems that are built using Unified Extensible Firmware Interface (UEFI) are more likely to achieve very fast pre-boot times when compared to those with traditional BIOS. This isn’t because UEFI is inherently faster, but because UEFI writers starting from scratch are more able to optimize their implementation rather than building upon a BIOS implementation that may be many years old.»

 

Så jo, datamaskinen starter gjerne opp raskere.

  • Liker 4
Lenke til kommentar
  • 4 måneder senere...

Artikkelen nevner ikke interupts i det hele tatt, og de sprøe tingene man måtte gjøre med jumpere for å regulere disse. Samt at BIOS hadde begrensninger på antall interupts, slik at interrupts måtte gjøres dynamisk, slik at det lot seg gjøre å kjøre flere enheter enn antall interupts. Tror det var maksimalt 16 interupts som BIOS støttet i gamledager med manuell jumperallokering.

 

Det som ofte var plagsomt var at det begynte å bli så fryktelig mange enheter tilknyttet hovedkortet og innebakt i hovedkortet som krevde interupts-tilgang.

Lenke til kommentar

Hva med å skrive artikler om ting dere faktisk kan, eller gjøre grundige undersøkelser?

 

En moderne PC består som kjent av mange forskjellige komponenter som gjør sine ting, og disse må kommunisere og koordinere innsatsen. Spesielt viktig er dette i oppstarten, før selve operativsystemet tar over styringen.

...

Ingen av dagens nyere operativsystemene bruker BIOS aktivt. På en moderne PC er BIOS' hovedfunksjon å sparke i gang maskinvaren slik at operativsystemet kan lastes inn.

Her har dere ikke forstått hva BIOS faktisk er. BIOS er nettopp et grunnleggende I/O-system som operativsystemet bruker for å kommunisere med maskinvare. Alt dette har dere glemt, men dere nevner i stedet det som kalles POST(Power-On Self-Test), og det er langt fra det eneste en BIOS gjør. Viktigst av alt er oppgaven med å tildele minneadresser for at operativsystemet skal kunne kommunisere med maskinvare, og strømstyring som ACPI. POST er en nyttig ting, men ikke en kritisk oppgave.

 

Ingen moderne operativsystem bruker BIOS for å kommunisere med maskinvare, nei. Tildeling av minneadresser, hvor har du det i fra? Minneadressering er ekstremt komplisert i en moderne x86-maskin, men det gjøres i hardware (chipsettet og kretsdesignet i hovedkortet), ikke av BIOSen. Noen aspekter ved hvordan dette skjer kan konfigureres i BIOS/EFI/firmware/whatever, men det har ingenting med BIOS i seg selv å gjøre.

 

 

Dere sier ikke et ord om hva EFI faktisk er. EFI erstatter ikke BIOS, det er en utvidet BIOS.

 

Her tror jeg man snakker litt forbi hverandre pga. begreper: Både EFI og BIOS er eksempler på det mer generelle begrepet firmware, noe alle datamaskiner har, uansett hvor gamle eller nye de er. BIOS og EFI har også samme oppgave i en datamaskin, men slik begrepene vanligvis brukes blir det feil å kalle EFI for en utvidet BIOS.

 

BIOS defineres vanligvis til å være en firmware som er kompatibel med den originale PC-firmwaren til IBM. Kompatibel vil her si måten operativsystemet lastes på (bootsector-konseptet osv.), hvilke funksjoner firmwaren implementerer, og grensesnittet for å bruke disse. Man kan boote MS-DOS fra en moderne PC med BIOS nettopp av denne grunn -- fordi firmwaren implementerer BIOS-standarden (i tillegg til mye, mye mer). Det er ikke noe slikt krav for en EFI-firmware, men mange har en såkalt "BIOS legacy mode" for å være bakoverkompatible.

Lenke til kommentar

Det er vel for seint allerede da Pcen Post'es, for da har vel "Klodrik" allerede tatt på hovedkortet med sine statiske lade fingre, og gjort hovedkort ustabilt eller i værste fall dødt! For å etterpå klage på at hovedkortet er så innmari ustabilt!! No pund intended! :-P

 

Har bygd PC'er i 15 år, og har aldri opplevd at et hovedkort eller annen komponent har avgått med døden pga. statisk elektrisitet. Spesielt i de senere år har komponenter blitt MYE mere solide og de tåler ganske mye.

  • Liker 1
Lenke til kommentar

Ingen moderne operativsystem bruker BIOS for å kommunisere med maskinvare, nei. Tildeling av minneadresser, hvor har du det i fra? Minneadressering er ekstremt komplisert i en moderne x86-maskin, men det gjøres i hardware (chipsettet og kretsdesignet i hovedkortet), ikke av BIOSen. Noen aspekter ved hvordan dette skjer kan konfigureres i BIOS/EFI/firmware/whatever, men det har ingenting med BIOS i seg selv å gjøre.

Her tar du grundig feil. Operativsystem og drivere bruker virtuelle minneadresser for å kommunisere med enheter, disse adressene befinner seg utenfor maskinens fysiske minneområde og er reservert av BIOS. Du husker kanskje tilbakke til XP(32-bit) som typisk kun kunne bruke rundt 3.25-3.75 GB av 4GB minne. Mange har mistolket dette som reservert minne til integrert grafikk men det er ikke det jeg snakker om her. Alle hovedkort har nemlig reservert et minneområde i øverste del av adresseområdet, og størrelsen til området varierer med tilkoblingsmulighetene til hovedkortet. Noen hovedkort kan ha bare et par hundre MB reservert, mens andre har mye mer. Drivere "skriver" og "leser" til disse minneadressene for å kommunisere med enhetene, enten det er skjermkort, diskkontrollere eller USB. Hvis du kjører Windows kan du se på enhetsbehandling hvilke slike områder som er aktivert for hver enkelt enhet. I Linux og UNIX er disse synlige som virtuelle "filer" i filsystemet.

 

Bare så det er sagt, dette må ikke blandes med interrupts som typisk ble brukt i MS-DOS. Jeg har programmert med det så jeg vet forskjellen.

 

Her tror jeg man snakker litt forbi hverandre pga. begreper: Både EFI og BIOS er eksempler på det mer generelle begrepet firmware, noe alle datamaskiner har, uansett hvor gamle eller nye de er. BIOS og EFI har også samme oppgave i en datamaskin, men slik begrepene vanligvis brukes blir det feil å kalle EFI for en utvidet BIOS.

 

BIOS defineres vanligvis til å være en firmware som er kompatibel med den originale PC-firmwaren til IBM. Kompatibel vil her si måten operativsystemet lastes på (bootsector-konseptet osv.), hvilke funksjoner firmwaren implementerer, og grensesnittet for å bruke disse. Man kan boote MS-DOS fra en moderne PC med BIOS nettopp av denne grunn -- fordi firmwaren implementerer BIOS-standarden (i tillegg til mye, mye mer). Det er ikke noe slikt krav for en EFI-firmware, men mange har en såkalt "BIOS legacy mode" for å være bakoverkompatible.

BIOS er akkurat hva navnet sier, ett grunnleggende grensesnitt for å kommunisere IO. Du må ikke blande den generelle betegnelsen BIOS med den spesifikke "IBM BIOS" som er en del av PC-standarden. EFI er en BIOS som er utvidbar med firmware, noe en tradisjonell "IBM BIOS" ikke har. Ser du på ulike embedded-plattformer så har de som regel en eller annen form for BIOS uten at det har noen relasjon til "IBM BIOS".
Lenke til kommentar

 

Ingen moderne operativsystem bruker BIOS for å kommunisere med maskinvare, nei. Tildeling av minneadresser, hvor har du det i fra? Minneadressering er ekstremt komplisert i en moderne x86-maskin, men det gjøres i hardware (chipsettet og kretsdesignet i hovedkortet), ikke av BIOSen. Noen aspekter ved hvordan dette skjer kan konfigureres i BIOS/EFI/firmware/whatever, men det har ingenting med BIOS i seg selv å gjøre.

Her tar du grundig feil. Operativsystem og drivere bruker virtuelle minneadresser for å kommunisere med enheter, disse adressene befinner seg utenfor maskinens fysiske minneområde og er reservert av BIOS. Du husker kanskje tilbakke til XP(32-bit) som typisk kun kunne bruke rundt 3.25-3.75 GB av 4GB minne. Mange har mistolket dette som reservert minne til integrert grafikk men det er ikke det jeg snakker om her. Alle hovedkort har nemlig reservert et minneområde i øverste del av adresseområdet, og størrelsen til området varierer med tilkoblingsmulighetene til hovedkortet. Noen hovedkort kan ha bare et par hundre MB reservert, mens andre har mye mer. Drivere "skriver" og "leser" til disse minneadressene for å kommunisere med enhetene, enten det er skjermkort, diskkontrollere eller USB. Hvis du kjører Windows kan du se på enhetsbehandling hvilke slike områder som er aktivert for hver enkelt enhet. I Linux og UNIX er disse synlige som virtuelle "filer" i filsystemet.

 

Bare så det er sagt, dette må ikke blandes med interrupts som typisk ble brukt i MS-DOS. Jeg har programmert med det så jeg vet forskjellen.

 

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.

 

 

 

BIOS er akkurat hva navnet sier, ett grunnleggende grensesnitt for å kommunisere IO. Du må ikke blande den generelle betegnelsen BIOS med den spesifikke "IBM BIOS" som er en del av PC-standarden. EFI er en BIOS som er utvidbar med firmware, noe en tradisjonell "IBM BIOS" ikke har. Ser du på ulike embedded-plattformer så har de som regel en eller annen form for BIOS uten at det har noen relasjon til "IBM BIOS".

 

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.

Lenke til kommentar

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.
Lenke til kommentar

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...