Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako ovládač zariadenia komunikuje so zariadením?

Ovládač zariadenia komunikuje so zariadením pomocou rôznych metód v závislosti od typu zariadenia a operačného systému. Komunikácia je zriedka priama; Namiesto toho sa spolieha na sprostredkovateľské vrstvy a štandardizované rozhrania. Tu je porucha:

1. Rozhrania špecifické pre hardvér:

* MAMPAPMAPIPAT I/O (MMIO): Registre zariadenia sú mapované do adresy pamäťového adresára systému. Vodič číta a zapisuje na tieto adresy pamäte na ovládanie zariadenia. Toto je bežné pre mnoho zariadení vrátane grafických kariet a kariet sieťového rozhrania (NIC). Vodič interaguje priamo s fyzickými hardvérovými registrmi.

* Port-mapované I/O (PIO): Prístup k zariadeniu je prístupný prostredníctvom špecifických vstupných/výstupných portov. Vodič odosiela príkazy a prijíma údaje písaním a čítaním z týchto portov. Toto je teraz menej bežné, ale stále sa vyskytuje v starších systémoch. Rovnako ako MMIO, je to priama interakcia.

* prerušuje: Zariadenie preruší CPU, keď potrebuje pozornosť (napr. Dáta sú pripravené, vyskytla sa chyba). Prerušenie spustí špecifický obslužný program prerušenia v ovládači, ktorý umožňuje vodičovi reagovať na udalosť zariadenia. To je rozhodujúce pre asynchrónne operácie.

* Priamy prístup k pamäti (DMA): Zariadenie môže priamo pristupovať k systémovej pamäť bez zásahu CPU, čo zlepšuje výkon. Vodič nakonfiguruje prenos DMA a uvoľní procesor pre ďalšie úlohy.

2. Softvérové ​​rozhrania (Abstrakčné vrstvy):

Vyššie uvedené hardvérové ​​interakcie sú zvyčajne abstrahované softvérovými vrstvami, aby poskytovali zvládnuteľnejšie a prenosnejšie rozhranie. Patria sem:

* jadro operačného systému: Vodič pracuje v jadre operačného systému. Využíva služby jadra na prístup k hardvérovým zdrojom a na interakciu s ostatnými časťami systému.

* API špecifické pre zariadenie: Operačné systémy často poskytujú rozhrania API (aplikačné programovacie rozhrania) špecifické pre určité typy zariadení (napr. SCSI, SATA, USB). Tieto rozhrania API zjednodušujú vývoj vodiča abstrakciou detailov na nízkej úrovni.

* Rozhrania špecifické pre dané zbernice: Zariadenie je pripojené k systému prostredníctvom zbernice (napr. PCI, USB, SATA). Vodič používa protokoly a rozhrania špecifické pre zbernice na komunikáciu so zariadením cez zbernicu.

v súhrne:

Komunikačný proces je možné vizualizovať nasledovne:

1. Aplikácia (používateľ alebo systém): Vyžaduje operáciu (napr. Čítanie údajov z pevného disku).

2. Operačný systém: Smeruje požiadavku na príslušný ovládač zariadenia.

3. Ovládač zariadenia: Na komunikáciu so zariadením používa príslušné rozhranie špecifické pre hardvér (MMIO, PIO atď.) A softvérové ​​abstrakcie. Môže to zahŕňať odosielanie príkazov, prijímanie údajov, manipuláciu s prerušeniami alebo riadenie prevodov DMA.

4. Zariadenie: Vykoná požadovanú operáciu a odošle výsledok (ak existuje) späť k ovládači.

5. Ovládač zariadenia: Spracováva reakciu a vráti výsledok do operačného systému.

6. Operačný systém: Vráti výsledok do aplikácie.

Zložitosť komunikácie do značnej miery závisí od sofistikovanosti zariadenia a operačného systému. Moderné systémy často využívajú viac vrstiev abstrakcie na zjednodušenie vývoja vodiča a zlepšenie prenosnosti.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené