Microkernel inserito Operasistema di controllo: Architecnologia, vantaggi

Prima di imparare MicroKernel, capiamo:

Cos'รจ il nocciolo?

Un kernel รจ una parte importante di un sistema operativo che gestisce le risorse di sistema. Funge anche da ponte tra il software e l'hardware del computer. รˆ uno dei primi programmi che viene caricato all'avvio dopo il bootloader. Il kernel รจ anche responsabile di offrire un accesso sicuro all'hardware della macchina per vari programmi. Decide anche quando e per quanto tempo una determinata applicazione utilizza hardware specifico.

Cos'รจ il Microkernel?

micronocciolo รจ un software o un codice che contiene la quantitร  minima richiesta di funzioni, dati e caratteristiche per implementare un sistema operativo. Fornisce un numero minimo di meccanismi, sufficiente per eseguire le funzioni piรน basilari di un sistema operativo. Consente l'implementazione di altre parti del sistema operativo poichรฉ non impone molte politiche.

I microkernel e i relativi ambienti utente sono solitamente implementati in formato C++ or Linguaggi di programmazione C con un po' di assemblaggio. Tuttavia, sono possibili altri linguaggi di implementazione con una codifica di alto livello.

Cos'รจ un kernel monolitico?

Il kernel monolitico esegue tutti i servizi di sistema di base come gestione dei processi, Gestione della memoria, comunicazione I/O e gestione degli interrupt, file system, ecc. nello spazio del kernel.

In questo tipo di approccio Kernel, l'intero sistema operativo viene eseguito come un singolo programma in modalitร  kernel. Il sistema operativo รจ scritto come una raccolta di procedure collegate tra loro in un grande programma binario eseguibile.

micronocciolo Architectura

Un Microkernel รจ la parte piรน importante per la corretta implementazione di un sistema operativo. Puoi vedere nel diagramma seguente che Microkernel soddisfa operazioni di base come la memoria, i meccanismi di pianificazione dei processi e la comunicazione tra processi.

micronocciolo Architectura
Basato su microkernel Operasistema di ting

Microkernel รจ l'unico software in esecuzione a livello privilegiato. Le altre importanti funzionalitร  del sistema operativo vengono rimosse dalla modalitร  kernel ed eseguite in modalitร  utente. Queste funzionalitร  possono essere driver di dispositivo, applicazioni, file server, comunicazione tra processi, ecc.

Componenti del microkernel

Un microkernel comprende solo le funzionalitร  principali del sistema. Un componente รจ incluso nel Microkernel solo se metterlo all'esterno interromperebbe la funzionalitร  del sistema. Tutti gli altri componenti non essenziali dovrebbero essere messi in modalitร  utente.

Le funzionalitร  minime richieste nel Microkernel sono:

  • Gestione della memoria meccanismi come gli spazi degli indirizzi dovrebbero essere inclusi nel Microkernel. Contiene anche funzionalitร  di protezione della memoria.
  • I meccanismi di pianificazione del processore dovrebbero contenere pianificatori di processi e thread.
  • La comunicazione tra processi gestisce i server che eseguono i propri spazi di indirizzi.

Differenza tra microkernel e kernel monolitico

Scheda Sintetica Nucleo monolitico MicroKernel
Basic รˆ un processo di grandi dimensioni in esecuzione in un unico spazio di indirizzi Puรฒ essere suddiviso in processi separati chiamati server.
Code Per scrivere un kernel monolitico รจ necessario meno codice. Per scrivere un microkernel รจ necessario piรน codice
Sicurezza Se un servizio va in crash, l'intero sistema collassa in un kernel monolitico. Se un servizio va in crash, ciรฒ non influisce mai sul funzionamento del microkernel.
Communication รˆ un singolo file binario statico I server comunicano tramite IPC.
Esempio Linux, BSD, Microsoft Windows (95,98, Io), Solaris, OS-9, AIX, DOS, XTS-400, ecc. L4Linux, QNX, SymbianK42, Mac OS X, Integrity, ecc.

Vantaggi del microkernel

Ecco i vantaggi/vantaggi dell'utilizzo di Microkernel

  • L'architettura del microkernel รจ piccola e isolata, quindi puรฒ funzionare meglio.
  • I microkernel sono sicuri perchรฉ includono solo i componenti che altrimenti interrompono la funzionalitร  del sistema.
  • L'espansione del sistema รจ piรน accessibile, quindi puรฒ essere aggiunta all'applicazione di sistema senza disturbare il kernel.
  • I microkernel sono modulari e i diversi moduli possono essere sostituiti, ricaricati, modificati senza nemmeno toccare il kernel.
  • Meno arresti anomali del sistema rispetto ai sistemi monolitici.
  • L'interfaccia del microkernel ti aiuta a imporre una struttura di sistema piรน modulare.
  • Senza ricompilare, aggiungi nuove funzionalitร 
  • Anche il malfunzionamento del server viene isolato come qualsiasi altro malfunzionamento del programma utente.
  • Il sistema microkernel รจ flessibile, quindi strategie e API diverse, implementate da server diversi, possono coesistere nel sistema.
  • Una maggiore sicurezza e stabilitร  si tradurranno in una diminuzione della quantitร  di codice che viene eseguito in modalitร  kernel

Svantaggio del Microkernel

Ecco gli svantaggi/contro dell'utilizzo del Microkernel:

  • Fornire servizi in un sistema microkernel รจ costoso rispetto al normale sistema monolitico.
  • Cambio di contesto o chiamata di funzione necessaria quando i driver sono implementati rispettivamente come procedure o processi.
  • Le prestazioni di un sistema microkernel possono essere indifferenti e possono portare ad alcuni problemi.

Sintesi

  • Un kernel รจ una parte importante di un sistema operativo che gestisce le risorse di sistema.
  • Un microkernel รจ un software o un codice che contiene la quantitร  minima richiesta di funzioni, dati e caratteristiche per implementare un sistema operativo.
  • Nell'approccio Monlytic Kernel, l'intero sistema operativo viene eseguito come un singolo programma in modalitร  kernel
  • Un Microkernel รจ la parte piรน importante per la corretta implementazione di un sistema operativo.
  • Un microkernel comprende solo le funzionalitร  principali del sistema.
  • Un kernel monolitico รจ un processo di grandi dimensioni in esecuzione in un unico spazio di indirizzi, mentre il Microkernel puรฒ essere suddiviso in processi separati chiamati server.
  • L'architettura del microkernel รจ piccola e isolata, quindi puรฒ funzionare meglio
  • Fornire servizi in un sistema microkernel รจ costoso rispetto al normale sistema monolitico

Riassumi questo post con: