Quali componenti del sottosistema IO Linux sono indipendenti dal dispositivo e dipendenti dal dispositivo?


0

Dal moderno SO di Tanenbaum,

ogni sistema operativo ha un sottosistema I / O per la gestione dei propri dispositivi I / O. Alcuni software I / O sono indipendenti dal dispositivo , vale a dire che si applicano ugualmente a molti o tutti i dispositivi I / O. Altre parti di esso, come driver di periferica, sono specifiche per particolari dispositivi di I / O .

C'è anche un diagramma degli strati dei sistemi software I / O:

inserisci qui la descrizione dell'immagine

Nei seguenti due diagrammi del sottosistema IO di Linux , puoi tracciare un confine tra componenti indipendenti dal dispositivo e dipendenti dal dispositivo? In altri reparti, quali componenti sono dipendenti dal dispositivo e quali componenti sono indipendenti dal dispositivo? Il mio pensiero è che i "driver" dipendono dal dispositivo e "VFS" è indipendente dal dispositivo. Ma non sono sicuro degli altri componenti.

Dallo stesso libro:

inserisci qui la descrizione dell'immagine

Bovet's Understanding the Linux Kernel 2005 ha anche uno:

inserisci qui la descrizione dell'immagine

Risposte:


1

Nel primo diagramma di Linux, sopra la parte "driver di dispositivo"; lo stesso per il diagramma di Bovet.

Quando si scrive un sistema operativo, si desidera mantenere le parti dipendenti dal dispositivo il più isolate possibile, in modo da poter aggiungere altri dispositivi in ​​modo pulito. Nel caso di Linux, "driver di dispositivo per un disco" (o "scheda di rete", o "scheda WiFi" o qualsiasi altra cosa) è una classe nel senso della programmazione orientata agli oggetti, ulteriormente perfezionata in classi per i singoli tipi di dispositivi (e. g. "Realtek Semiconductor Co., Ltd. RTL8111 / 8168/8411 Controller PCI Express Gigabit Ethernet"), che a sua volta può essere installato come più copie degli stessi dispositivi (o abbastanza simili), se necessario. ad esempio i cui oggettisono In alcuni casi, la funzionalità specifica del dispositivo viene sottratta a sottosistemi di livello superiore, come l'intera complessa gestione dei domini amministrativi WiFi e le restrizioni (questa era originariamente parte di ciascun driver). A volte ci sono dispositivi sovrapposti l'uno sull'altro, come una chiavetta USB, che utilizza USB e viene gestita a sua volta come un disco SCSI su USB o SCSI su IP (che a sua volta funziona su interfacce di rete in fibra ottica).

tl; dr: questa netta separazione (come la maggior parte di ciò che vedi nei testi del "sistema operativo") è solo una prima approssimazione molto grezza, la realtà è un casino molto più interessante.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.