Kernel: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
ho reso la frase logica con l'affermazione successiva, si contraddiceva |
m Corretti wikilink |
||
(Una versione intermedia di un altro utente non mostrate) | |||
Riga 41:
{{vedi anche|microkernel}}
[[File:Kernel-microkernel.svg|thumb|Rappresentazione grafica di un microkernel]]
[[File:IBM AIX logo (2021).svg|thumb|Logo [[AIX (sistema operativo)|AIX]], sistema operativo, basato su microkernel]]
[[File:BeOS_screenshot.png|thumb|[[BeOS]], altro sistema operativo basato su microkernel]]
Riga 82:
In realtà vi sono ragioni da entrambe le parti.
I kernel monolitici tendono ad essere più semplici da progettare correttamente, e possono quindi evolversi più rapidamente di un sistema basato su microkernel. Ci sono storie di successi in entrambi gli schieramenti. I microkernel sono spesso usati in [[Sistema embedded|sistemi embedded]] in applicazioni [[Sistema critico|mission critical]] di automazione robotica o di medicina, a causa del fatto che i componenti del sistema risiedono in aree di memoria separate, private e protette. Ciò non è possibile con i kernel monolitici, nemmeno con i moderni moduli caricabili.
A parte il [[Mach (kernel)|kernel Mach]], che è il più noto microkernel di uso generico, molti altri microkernel sono stati sviluppati con scopi specifici. [[Kernel L3]] in particolare è stato creato per dimostrare che i microkernel non sono necessariamente lenti. La [[famiglia di microkernel L4]], successori di L3, dispongono di una implementazione chiamata [[Fiasco (informatica)|Fiasco]] in grado di eseguire il [[Linux (kernel)|kernel Linux]] accanto agli altri processi di L4 in spazi di indirizzamento separati.
Riga 115:
Tutto ciò ha un'importante implicazione: è possibile avere diversi libOS sul sistema. Se, per esempio, si installa un libOS che esporta un'API Unix e uno che esporta un'API Windows, è possibile eseguire simultaneamente applicazioni compilate per UNIX e per Windows. Lo sviluppo dei libOS avviene a livello utente, senza reboot, debug su console e in piena [[protezione della memoria]].
Al momento gli esokernel sono più che altro dei progetti di ricerca e non sono usati in sistemi operativi commerciali. Un esempio di sistema basato su esokernel è [[Nemesis (informatica)|Nemesis]], sviluppato dall'[[Università di Cambridge]], dall'[[Università di Glasgow]], da [[Citrix Systems]] e dall'[[Istituto reale di tecnologia|Istituto Svedese di Informatica]]. Anche il [[Massachusetts Institute of Technology|MIT]] ha sviluppato diversi sistemi basati su esokernel.
=== No Kernel ===
Riga 124:
== Bibliografia ==
* {{cita libro |cognome=Deitel |nome=Harvey M. |titolo=An introduction to operating systems |annooriginale=1982 |url=https://portal.acm.org/citation.cfm?id=79046&dl=GUIDE&coll=GUIDE |edizione=revisited first edition |anno=1984 |editore=Addison-Wesley |
* {{cita pubblicazione|cognome=Denning |nome=Peter J. |linkautore=Peter J. Denning |anno=1980 |mese=aprile|titolo=Why not innovations in computer architecture? |rivista=ACM SIGARCH Computer Architecture News |volume=8 |numero=2 |pp=4-7 |issn=0163-5964 |url=https://portal.acm.org/citation.cfm?id=859506&coll=&dl=ACM&CFID=15151515&CFTOKEN=6184618 }}
* {{cita pubblicazione|cognome=Brinch Hansen |nome=Per |anno=1970 |mese=aprile|titolo=The nucleus of a Multiprogramming System |rivista=Communications of the ACM |volume=13 |numero=4 |pp=238-241 |issn=0001-0782 |url=https://portal.acm.org/citation.cfm?id=362278&dl=ACM&coll=GUIDE&CFID=11111111&CFTOKEN=2222222 }}
* {{cita libro |cognome=Brinch Hansen |nome=Per |wkautore=Per Brinch Hansen |titolo=Operating System Principles |annooriginale=1973 |url=https://portal.acm.org/citation.cfm?id=540365 |editore=Prentice Hall |città=Englewood Cliffs |
* {{Cita pubblicazione|autore =[[Per Brinch Hansen]]|titolo = The evolution of operating systems|data = 2001|url= http://brinch-hansen.net/papers/2001b.pdf|formato = pdf|accesso = 24 ottobre 2006}} nel libro{{Cita libro | curatore-nome=Per | curatore-cognome=Brinch Hansen | titolo=Classic operating systems: from batch processing to distributed systems | anno=2001 | url=https://portal.acm.org/citation.cfm?id=360596&dl=ACM&coll=&CFID=15151515&CFTOKEN=6184618 | editore=Springer-Verlag | città= New York |pp=1-36 | capitolo=1 | urlcapitolo=http://brinch-hansen.net/papers/2001b.pdf | formato=pdf | isbn=0-387-95113-X }}
* {{cita pubblicazione|cognome=Levin |nome=R. |coautori=E. Cohen, W. Corwin, F. Pollack, W. Wulf |anno=1975 |titolo=Policy/mechanism separation in Hydra |rivista=ACM Symposium on Operating Systems Principles / Proceedings of the fifth ACM symposium on Operating systems principles |pp=132-140 |url=https://portal.acm.org/citation.cfm?id=806531&dl=ACM&coll=&CFID=15151515&CFTOKEN=6184618 }}
Riga 133:
* {{Cita libro |cognome=Lorin |nome=Harold |titolo=Operating systems |url=https://portal.acm.org/citation.cfm?id=578308&coll=GUIDE&dl=GUIDE&CFID=2651732&CFTOKEN=19681373 |anno=1981 |editore=Addison-Wesley |pp=161-186 |città=Boston, Massachusetts|isbn=0-201-14464-6 }}
* {{cita pubblicazione|cognome=Schroeder |nome=Michael D.|coautori=Jerome H. Saltzer |anno=1972 |mese=marzo|titolo=A hardware architecture for implementing protection rings |rivista=Communications of the ACM |volume=15 |numero=3 |pp=157-170 |issn=0001-0782 |url=https://portal.acm.org/citation.cfm?id=361275&dl=ACM&coll=&CFID=15151515&CFTOKEN=6184618 }}
* {{Cita libro |cognome=Shaw |nome=Alan C. |titolo=The logical design of Operating systems |url=https://portal.acm.org/citation.cfm?id=540329 |anno=1974 |editore=Prentice-Hall |
* {{Cita libro |cognome= Tanenbaum |nome=Andrew S. |wkautore=Andrew S. Tanenbaum |titolo=Structured Computer Organization |anno=1979 |editore=Prentice-Hall |città=Englewood Cliffs, New Jersey |lingua=en|isbn=0-13-148521-0 }}
* {{cita pubblicazione |cognome=Wulf |nome=W. |coautori=E. Cohen, W. Corwin, A. Jones, R. Levin, C. Pierson, F. Pollack |anno=1974 |mese=giugno |titolo=HYDRA: the kernel of a multiprocessor operating system |rivista=Communications of the ACM |volume=17 |numero=6 |pp=337-345 |issn=0001-0782 |url=https://portal.acm.org/citation.cfm?id=36 |urlmorto=sì }}
|