Come posso accedere alle mie risorse di sistema senza l'intermediazione del sistema operativo?
-
14-11-2019 - |
Domanda
Voglio accedere alle mie risorse di sistema come la CPU senza l'uso delle chiamate di sistema OS. C'è un modo per renderlo possibile?
Soluzione
L'unico modo per accedere all'hardware direttamente sulla maggior parte dei sistemi operativi moderni, Linux e Windows incluso, è tramite codice kernel. Driver del dispositivo Linux è un ottimo punto di partenza per scrivere tale codice su Linux, anche se è un po 'datato .
In caso contrario, il sistema operativo fornisce varie strutture I / O e controlla l'assegnazione delle risorse alle applicazioni utente, utilizzando l'interfaccia di chiamata di sistema. L'interfaccia di chiamata di sistema è onnipresente nel suo concetto di base tra tutti i sistemi operativi che effettivamente dispongono di una sorta di separazione tra il kernel e il codice utente. L'uso di interrupt software è il modo standard per implementare le chiamate di sistema su hardware corrente.
È necessaria una chiamata di sistema per allocare la minima quantità di memoria e persino di leggere o scrivere un singolo carattere. Per non parlare del fatto che anche un programma che fa assolutamente nulla in genere ha bisogno di alcune chiamate di sistema solo per essere caricato.
È possibile ottenere un accesso più diretto all'hardware se hai usato dos o un Exokernel Design.
ma perché vorresti farlo comunque? L'hardware moderno è lontano dal banale per lavorare direttamente con direttamente.