GNU/Linux >> Znalost Linux >  >> Linux

Jaké jsou funkce systému BIOS, když je spuštěn operační systém?

U moderních operačních systémů prakticky žádné . Linus Torvalds údajně řekl, že jeho úkolem je "prostě načíst OS a dostat se odtamtud".

Starší operační systémy, jako je MS-DOS, spoléhaly na BIOS při mnoha úlohách (např. přístup k disku) voláním přerušení.

U moderních OS se bootloader rychle přepne do 32- nebo 64-bitového režimu a spustí jádro OS. Jádro může registrovat své vlastní obsluhy přerušení, které mohou být volány aplikacemi v uživatelském prostoru. Rutiny jádra mohou být přenosnější (protože nezávisí na konkrétním hardwaru), flexibilnější (dodavatelé OS je mohou změnit na vyžádání, místo aby museli používat cokoli, co bylo dodáno s hardwarem), sofistikovanější (mohou spouštět libovolně složitě kód spíše než to, co bylo naprogramováno v BIOSu) a bezpečnější (protože operační systém může řídit přístup ke sdíleným zdrojům a bránit programům ve vzájemném blokování, implementuje svá vlastní libovolná schémata oprávnění).

Pro interakci s konkrétním hardwarem mohou operační systémy načítat a používat své vlastní ovladače zařízení. Není tedy potřeba, aby operační systém nebo aplikace volaly většinu rutin systému BIOS. Ve skutečnosti jsou z bezpečnostních důvodů přerušení BIOSu dokonce zakázána. Vzhledem k tomu, že BIOS žije v 16bitovém reálném režimu, je těžší žádat o moderní OS.

Zatímco použití systému BIOS je při běhu OS velmi omezené, jeho funkce jsou stále periferně využívány. Například, když počítač spí, operační systém neběží a nakonec přejde na firmware, aby nastavil hardware do správného stavu a pozastavil a obnovil operační systém. Tato použití jsou obecně omezena na volání ACPI spíše než volání do úplného rozhraní systému BIOS. ACPI je rozšíření systému BIOS, které „přenáší správu napájení pod kontrolu operačního systému (OSPM), na rozdíl od předchozího centrálního systému BIOS, který se při určování správy napájení a zásad konfigurace spoléhal na firmware specifický pro platformu.

Všimněte si, že oficiálně „BIOS“ označuje konkrétní rozhraní firmwaru, ale tento termín se běžně používá k označení firmwaru počítače obecně. Některé nedávné počítače (zejména ty Apple) nahradily BIOS (sensu strictu) UEFI, což je samozřejmě to, co se nazývá k implementaci těchto funkcí.

Další informace o tom, jak se úloha systému BIOS v průběhu času zmenšila, naleznete na Wikipedii.


Systém BIOS poskytuje operačním systémům řadu služeb, z nichž většina souvisí se správou napájení:

  • úprava hodin CPU a sběrnice
  • povolení/zakázání zařízení na základní desce
  • ovládání napájení rozšiřujícího portu
  • suspend-to-disk a suspend-to-RAM
  • obnovit nastavení události

Suspend-to-disk je v OS většinu času implementován, protože OS může obnovit svůj stav rychleji (pouze stav jádra se znovu načte a stav programu se v případě potřeby zamění, což je výrazně rychlejší než opětovné načtení celé RAM), ale funkce zůstává ve specifikaci.

Suspend-to-RAM nemůže být implementováno operačním systémem, protože se spoléhá na to, že BIOS vynechá inicializaci a test RAM, takže OS potřebuje API, které BIOSu sdělí, že hodlá obnovit s aktuálním obsahem RAM. Aby bylo možné tuto službu poskytovat, BIOS požádá operační systém, aby ponechal určitou oblast RAM nedotčenou.

Rozhraní operačního systému pro všechny služby systému BIOS je část kódu virtuálního stroje, který je třeba spustit na emulátoru a který generuje nezbytné I/O operace do hardwaru. Pro uspání je to obecně implementováno tak, že provedení jednoho z hardwarových zápisů pak spustí přerušení, které přenese řízení na BIOS.


Existují tři primární oblasti, kde operační systém používá BIOS v moderních systémech, jako jsou systémy používající standard UEFI. První je řada služeb známých jako běhové služby UEFI. Tyto služby umožňují operačnímu systému získat informace, které zná pouze systém BIOS, jako je čas, kdy systém BIOS používal, pořadí spouštění, aktuální profil zabezpečení uživatele, informace o základní desce, modulech DIMM atd.

Druhým je režim správy systému, což je skrytá část paměti (SMRAM), ke které přistupuje přerušení s vysokou prioritou (SMM). Mnoho BIOSů to používá k implementaci vysoce bezpečných funkcí OEM nebo k implementaci hardwarových obměn.

Třetí je ACPI. ACPI poskytuje konfiguraci, správu napájení a hardwarová data a kód používaný OS k rozšíření toho, co mohou ovladače OS zjistit pomocí průmyslového standardu nebo ovladače zařízení. Existuje například speciální signál pro ovládání napájení pevného disku nebo existuje speciální způsob komunikace s baterií, na který se nevztahuje norma.

Tim


Linux
  1. Co je vdso a vsyscall?

  2. Jaké jsou nevýhody režimu kompatibility systému BIOS oproti spouštění UEFI?

  3. Jaké jsou bezpečnostní důsledky systemd ve srovnání s systemv init?

  1. Jaká je aktuální úroveň běhu systému Linux?

  2. Co jsou oddělovače slov Readline?

  3. Linux – Co by se stalo, kdyby pevný disk selhal, zatímco linuxové jádro běželo?

  1. Fedora vs Ubuntu:Jaké jsou klíčové rozdíly?

  2. Jaké jsou výhody CloudLinuxu?

  3. Naplánujte restartování v operačním systému Ubuntu