Che cosa è il nocciolo
Prima che otteniamo davanti noi stessi, diamo un'occhiata al ruolo del nocciolo nel sistema operativo. Nella maggior parte dei sistemi operativi, compreso UNIX e Windows, il nocciolo è software speciale quel vari organi di comando estremamente importanti della macchina. Il nocciolo si siede fra i diversi programmi correnti ed i fissaggi in se. Effettuando le varie funzioni di governo della casa critiche per il sistema operativo e fungendo da collegamento fra i programmi a livello di utente ed i fissaggi, il nocciolo serve un ruolo critico. Molti noccioli, compreso quelli trovati nei sistemi di Windows e di UNIX, includono le seguenti caratteristiche di nucleo:
Con queste caratteristiche, il nocciolo è interamente circa controllo: sedendosi agli interstizi dei programmi applicativi e dei fissaggi e controllare che cosa accade sulla macchina. Mentre funziona, il nocciolo conta sulle protezioni del fissaggi-livello effettuate in CPU del sistema. Usando la protezione del fissaggi-livello, il nocciolo prova a salvaguardare le relative proprie strutture di dati critiche da manipolazione accidentale o intenzionale tramite i processi a livello di utente sulla macchina. La maggior parte dei CPUs includono le caratteristiche dei fissaggi hanno lasciato il software sul sistema operato ai livelli differenti del privilegio. Lo spazio di memoria ed altri elementi di software altamente sensibile (come il nocciolo) non possono essere raggiunti dal codice che funziona ad un livello di meno-importante (per esempio, processi dell'utente). Su x86-compatible CPUs, questi livelli differenti di sensibilità sono denominati anelli e gamma dall'anello 0, il livello più sensibile, squillare 3, il meno livello sensibile. Poichè fa funzionare le mansioni differenti, il CPU commuta fra questi livelli differenti secondo la sensibilità del software particolare attualmente che esegue. Per i sistemi operativi di Windows e di Linux, soltanto gli anelli 0 e 3 sono usati; le altre opzioni sostenute da x86 CPUs (cioè, gli anelli 1 e 2) non sono utilizzati. Il nocciolo in se, sia in Linux che in Windows, funziona in anello 0. Infatti, funzionando in anello 0 definisce una data operazione come essendo al livello del nocciolo. Se funzionate in anello 0, potete accedere a tutte le strutture di memoria del nocciolo e siete quindi allo stesso livello del codice del nocciolo. I processi di modo dell'utente funzionano in anello 3 e, nella maggior parte delle circostanze, non possono accedere direttamente allo spazio del nocciolo. Contando sull'anello 0 e sull'anello 3, tutto il software sulla macchina realmente è diviso in due mondi differenti: modo del nocciolo (che funzionano in anello 0) e modo dell'utente (che funziona in anello 3). Per non-x86 CPUs, i sistemi operativi utilizzano i concetti analogi per squillare 0 e l'anello 3 effettuati nei fissaggi di CPU's. Quasi tutto il supporto di CPUs una certa nozione di un modo privilegiato, dove il nocciolo vive e della a nonprivileged il modo per i processi dell'utente. Così, il vostro sistema operativo realmente consiste di due mondi: modo dell'utente e modo del nocciolo. Il modo dell'utente è che cosa tipicamente vedete e vi interagite con sopra una base giornaliera sul vostro sistema, poichè include i programmi fate funzionare, quali lle coperture di ordine, un GUI, un mail server, o un sistema di editazione testi. L'altri mondo, modo del nocciolo, bugie silenziosamente sotto l'accesso in carico di funzionamento intero ai fissaggi e cose generalmente di controllo. Quando un sistema carica il sistema in su, il nocciolo è caricato nella memoria e comincia l'esecuzione in anello 0, quindi generante il primo mondo (modo del nocciolo). Dopo che il nocciolo si convinca ad installare nella memoria, attiva i vari processi di utente-modo che permettono che i diversi utenti accedano al sistema e facciano funzionare i programmi, quindi generanti il mondo di utente-modo. È importante notare che il modo del nocciolo è un concetto molto diverso dai permessi del coordinatore o della radice. Quando un coordinatore fa funzionare un ordine, un dato programma esegue all'interno del modo dell'utente; cioè in anello 3. Dalla prospettiva del nocciolo, il coordinatore è giusto un altro utente, anche se importante, ma ancora qualcuno che vive in anello 3. Quando la maggior parte del funzionamento di programmi, controlla a volte deve passare dal modo dell'utente nel modo del nocciolo, come quando il programma deve interagirsi con fissaggi per la stampa allo schermo, ricevendo un pacchetto, o una certa altra azione. Quando questo accade, il controllo è passato molto con attenzione dal modo dell'utente al modo del nocciolo, attraverso le interfacce strettamente controllate. Il software che effettua questa transizione dall'anello 3 all'anello 0 si riferisce a come cancello di chiamata, poichè funge da cancello per i processi di utente-modo in software che vive nel modo del nocciolo. Quando i coordinatori chiedono una lista dei programmi correnti per mezzo degli attrezzi come UNIX ps, lsof, o ordini superiori o il responsabile di operazione di Windows, eseguono un ordine dal modo dell'utente, che chiede al nocciolo per elencare tutti i processi correnti. Il nocciolo afferra i dati dalle relative strutture di dati di nocciolo-modo, risponde all'ordine di utente-modo con le informazioni adatte ed i processi correnti sono visualizzati. Similmente, il coordinatore o gli utenti potrebbe chiedere una lista delle lime in un indice. Il nocciolo risponde con le informazioni adatte. O, voi potreste cercare che gli orificii del UDP o di TCP sono in uso, o se l'interfaccia della rete è nel modo promiscuo. Potreste persino fare funzionare un ispettore di integrità della lima per vedere se c'è ne delle vostre lime di sistema critiche sono state alterate con un utente-modo RootKit. Tutte queste interazioni e molto più, contano sul nocciolo per determinare la condizione della macchina. Quello è come è tutto il presunto da funzionare. Il nocciolo prende la cura del commercio e tutto è felice. ciò è un articolo aggiunto da Rafael Kwan
|
|||||
|