Un processore esegue programmi in modalità utente o modalità kernel. E mentre usi il tuo PC, il tuo processore cambia regolarmente tra i due a seconda di cosa sta facendo. Ma cos'è la modalità utente e la modalità kernel e qual è la differenza tra le due?
Vediamo quali sono queste modalità e perché una CPU deve passare da una modalità all'altra.
Che cos'è la "Modalità utente" in Windows?
Quando avvii un programma su Windows, si avvia in modalità utente. Ogni volta che un programma in modalità utente vuole essere eseguito, Windows crea un processo per esso. Un processo è solo un programma che un processore sta eseguendo o uno che Windows ha programmato per essere eseguito. E ogni volta che Windows crea un processo, crea anche uno spazio di indirizzi virtuale per quel processo.
UN spazio di indirizzi virtuali è la raccolta di indirizzi logici (non fisici) che Windows assegna a un processo. I processi possono utilizzare questi indirizzi per memorizzare i dati nella memoria fisica.
Inoltre, gli spazi di indirizzi virtuali sono isolati. Quindi, lo spazio degli indirizzi virtuali di un processo non interferisce con lo spazio degli indirizzi di un altro processo. E poiché i programmi in modalità utente hanno spazi di indirizzi separati, se un programma si blocca, si blocca da solo e non elimina altri programmi o l'intero sistema operativo con esso.
Imparentato: Suggerimenti per aiutarti a correggere l'errore della schermata blu di Windows 10
Un altro modo per descrivere le applicazioni in modalità utente è utilizzare il termine "meno privilegiati". Windows impedisce alle applicazioni in modalità utente di accedere direttamente alle risorse di sistema critiche, rendendole così meno privilegiate. Ad esempio, se un'applicazione vuole accedere all'hardware, deve passare attraverso il kernel del sistema operativo utilizzando le chiamate di sistema.
In parole povere, i programmi applicativi come i videogiochi vengono eseguiti in modalità utente. Hanno meno privilegi, quindi non hanno accesso illimitato alle risorse di sistema. Ogni applicazione in modalità utente ha il proprio spazio di indirizzi. Un'applicazione non può modificare lo spazio degli indirizzi di un'altra applicazione. Di conseguenza, se un'applicazione si arresta in modo anomalo, non influisce sugli altri programmi in esecuzione sul computer.
Imparentato: Segnali di avvertimento che il tuo computer sta per bloccarsi (e cosa fare)
Che cos'è la "Modalità kernel" in Windows?
Prima di parlare della modalità Kernel, dobbiamo prima dire cos'è un "kernel" e come funziona con Windows.
Il kernel è il cervello di un sistema operativo. È il componente software principale su cui si basano tutti gli altri componenti all'interno del sistema operativo. Il kernel gestisce l'hardware del computer, pianifica quali processi vengono eseguiti sul computer e quando e gestisce le interazioni tra l'hardware e il software applicativo.
In breve, il kernel è il pezzo di codice più privilegiato in esecuzione sul sistema. Questo perché è il codice che interagisce direttamente con l'hardware. Ogni altro programma che vuole utilizzare le risorse hardware deve richiedere l'accesso tramite il kernel.
Quando un programma applicativo è in esecuzione in modalità utente e desidera accedere all'hardware come la webcam, deve richiedere il kernel utilizzando una chiamata di sistema. Per soddisfare queste richieste, la CPU, al momento dell'esecuzione del programma, passa da User Mode a Kernel Mode.
Al termine dell'esecuzione di un processo, la CPU torna alla modalità utente e avvia l'esecuzione del successivo processo pianificato. Questo è chiamato "cambio di contesto".
Qual è la differenza tra la modalità utente e la modalità kernel?
La differenza chiave tra la modalità utente e la modalità kernel è il livello di privilegio offerto da ciascuna modalità. In modalità utente, le applicazioni hanno meno privilegi. Non hanno accesso diretto alle risorse hardware e inoltre non possono scrivere negli spazi degli indirizzi di altre applicazioni.
Imparentato: Come utilizzare Gestione dispositivi per risolvere i problemi di Windows 10
Il codice eseguito in modalità kernel ha privilegi elevati. Non solo ha accesso diretto all'hardware del computer, ma tutti i programmi in esecuzione in modalità kernel, incluso il sistema operativo, condividono anche uno spazio di indirizzi. Quindi, se un programma in La modalità kernel si blocca, può distruggere l'intero sistema operativo. Per garantire che non si verifichino tali arresti anomali, Windows consente solo ad alcuni processi di essere eseguiti in modalità kernel.
Windows adotta un approccio a più livelli per separare i programmi utente dalle risorse di sistema
Windows utilizza un modello a più livelli per determinare il livello di privilegio dei processi. Le applicazioni che risiedono sul livello più esterno sono quelle con il privilegio di locazione. Al centro di questi strati c'è il kernel. Di conseguenza, il kernel ha accesso illimitato alle risorse del sistema operativo.
L'approccio a più livelli protegge anche le funzionalità vitali del sistema operativo. Quando i programmi nel livello superiore si bloccano casualmente, non influisce sul sistema operativo. D'altra parte, quando il kernel va in crash, l'intero sistema operativo va giù.
Perché Windows continua a bloccarsi? Ecco i motivi più comuni per gli arresti anomali di Windows e diversi suggerimenti per risolverli.
Leggi Avanti
- finestre
- finestre
Fawad è uno scrittore freelance a tempo pieno. Ama la tecnologia e il cibo. Quando non mangia o non scrive di Windows, gioca ai videogiochi o sogna ad occhi aperti di viaggiare.
Iscriviti alla nostra Newsletter
Iscriviti alla nostra newsletter per consigli tecnici, recensioni, ebook gratuiti e offerte esclusive!
Clicca qui per iscriverti