I driver fanno parte dei sistemi operativi?


14

Ho difficoltà a capire cosa è incluso in un sistema operativo e cosa no. Un driver di dispositivo come un driver di stampante o un driver grafico fa parte di un sistema operativo? Pensando alla definizione di un sistema operativo, credo che i driver facciano parte dei sistemi operativi.


6
Sì e no. Fanno parte del sistema operativo in quanto operano a basso livello e hanno accesso a interfacce interne. E molti sono fondamentali per il funzionamento del sistema operativo. Ma sono generalmente parti "sostituibili" separate e spesso costruite da una società diversa dal sistema operativo. Dipende dalla tua definizione di "OS" e non esiste una sola impresa.
Daniel R Hicks,

Si prega di definire "incluso". Garantito di essere sul DVD di Windows per l'installazione su una nuova unità? O concettualmente parte del sistema operativo?
segatura

Risposte:


12

Sì, i driver fanno parte del sistema operativo. Funzionano con lo stesso livello di privilegi del kernel del sistema operativo e per scrivere un driver è necessario conoscere molto gli interni del sistema operativo. Il ruolo dei driver è quello di fornire un'astrazione dell'hardware in modo che le applicazioni possano utilizzarlo tramite l'API del sistema operativo (interfaccia di programmazione dell'applicazione) invece di doverne conoscere dettagli specifici. In molti casi consente anche di condividere lo stesso hardware tra più applicazioni contemporaneamente.

Qualcosa che induce gli utenti a pensare che i driver potrebbero non far parte del sistema operativo è che molti fornitori forniscono driver per l'hardware che producono separatamente dal sistema operativo. In effetti, molti driver sono presentati come moduli caricabili che possono essere caricati e quindi prendere parte al sistema operativo in modo dinamico. Una volta che non vengono più utilizzati, possono essere "disconnessi" dal sistema operativo e continua a funzionare normalmente.

Caricabili o meno, i driver sono sempre specifici dei dispositivi che dovrebbero rendere disponibili al sistema, quindi mentre a volte sono parti "opzionali" del sistema operativo, vi prendono parte durante il funzionamento.


1
Non sono d'accordo (ma terrò un voto negativo), semplicemente a causa di come lo hai dichiarato, i conducenti NON sono sempre inclusi o utilizzati. Il sistema operativo è il kernel. Periodo. Windows Explorer non fa parte del sistema operativo, anche se viene fornito con esso. Il kernel è la parte di elaborazione effettiva, quindi considererei il sistema operativo. Altri elementi inclusi non fanno parte del sistema operativo
canadese Luke, il

Inoltre, è possibile eseguire i driver a livello di utente, quindi non è necessario eseguirli a livello di kernel, sebbene la maggior parte lo sia.
Matt,

Vedo il tuo punto Luke. Esistono molti dispositivi opzionali che non sono necessari per il funzionamento del sistema, quindi posso concordare che i loro driver non fanno parte del sistema operativo in questo senso . Come ha detto @Matt, alcuni driver possono anche essere driver in modalità utente (molti driver di stampante lo sono), ma il mio punto è la maggior parte dei driver, specialmente quelli strutturali (video, controller del disco, ecc.) Sono driver in modalità kernel, e come tali sono o diventa una parte reale del kernel in esecuzione quando viene caricato. Dato che un kernel non può fare nulla di utile da solo, penso che sia giusto dire che i driver sono (o diventano) parte del sistema operativo.
Claudio,

1
È davvero una domanda sì / no. Sebbene tecnicamente i driver non siano inclusi con il sistema operativo, è necessario per la comunicazione con dispositivi diversi. Ad esempio, video. Farai una richiesta al kernel, poi il kernel inoltrerà la richiesta al driver del display e quindi le informazioni indietro in modo da poter effettivamente vedere qualcosa.
Matt,

3
@Luke - Apparentemente ammetti che il kernel fa parte del sistema operativo, se non l'intero sistema operativo. Hai mai visto il codice sorgente per un sistema operativo o un kernel? A meno che non lavori per MS o firmi un NDA, non vedremo mai il codice del kernel di Windows. Ma il kernel Linux è open source e tutti i driver (non proprietari) Linux fanno parte del codice sorgente del kernel. Il codice sorgente del kernel Linux non è separato in una parte del kernel e una parte del driver; l'albero dei sorgenti contiene tutti i moduli core e driver. Mi aspetto che MS gestisca il proprio codice sorgente per Windows in modo simile.
segatura

5

Il termine "OS" può significare molte cose.

Mentre sotto la maggior parte dei sistemi operativi, il kernel è il pezzo di codice che gestisce e "esegue" tutto e arbitra gli accessi all'hardware, di solito non può fare nulla di interessante da solo - il suo compito è fornire un framework per l'esecuzione delle applicazioni " sopra "se lo è. La definizione di un SO di così tante persone include utility, shell e programmi che compongono un ambiente familiare standardizzato.

I driver dipendono dal kernel ed è probabilmente più corretto affermare che lo "estendono", come i plugin. Linux supporta l'idea di "moduli kernel caricabili" e tutti i driver di dispositivo possono essere un modulo kernel caricabile. È anche possibile creare un kernel in cui uno o più di questi moduli siano "integrati" e non separati dal kernel. Quindi potresti davvero costruire un kernel "moduleless" sotto Linux, e non sarebbe in grado di supportare alcun hardware diverso dai moduli che hai incorporato.

Ho meno familiarità con l'intestino di Windows, ma credo che ad eccezione di pochissimi driver "miniport" tutti i driver siano file esterni che vengono caricati all'avvio. Se ti dedichi un po 'alla creazione di servizi su Windows, sembra che i driver siano in realtà solo forme speciali di servizi in Windows. Alcuni programmi installano driver per accedere all'hardware a basso livello, ma non necessariamente per guidare un dispositivo, in genere questi sono i driver "Non plug and play" in Gestione dispositivi. Quindi sembra anche che i driver svolgano la stessa funzione concettualmente dei moduli caricabili del kernel sotto Linux.

Direi per semplicità che fanno parte del sistema operativo, in quanto in realtà non possono essere utilizzati senza il sistema operativo e non sono utili a meno che il sistema operativo non venga avviato, ma la linea tracciata è piuttosto arbitraria in ogni caso.


1

Nessun driver non fa parte del sistema operativo. Si può dire che i driver aiutano il sistema operativo a comunicare con il dispositivo o l'hardware. Il sistema operativo non contiene tutti i driver per impostazione predefinita, come in Windows XP e Vista, ma in Windows 7 la maggior parte dei driver necessari inclusi, quindi non confondere, non fanno parte del sistema operativo.


Il fatto che tu dica che i drvier non facciano parte di un sistema operativo dimostra che non sai cosa stai facendo. Windows XP include molti degli stessi driver inclusi in Windows Vista e Windows 7. Microsoft ha speso molto per includere driver PIÙ generici per i dispositivi per quelle versioni.
Ramhound,

sì. senza driver non possiamo usare nessun dispositivo. Quindi possiamo dire che il driver aiuta il sistema operativo a comunicare con il dispositivo e sulla domanda dirò che alcuni fanno parte del sistema operativo e altri no. Ci sono molti driver che non vengono forniti con il sistema operativo.
Deb

Tecnicamente, anche quando un driver non viene fornito con il sistema operativo, fa parte del sistema operativo quando lo si installa e lo si utilizza. La prova è che un driver mal scritto può bloccare l'intero sistema poiché non è un'applicazione normale che può essere uccisa dal sistema operativo, ma una parte di se stessa.
Claudio,
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.