Mikrokernel: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Jazle (bicara | kontrib)
kTidak ada ringkasan suntingan
InternetArchiveBot (bicara | kontrib)
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.2
 
(38 revisi perantara oleh 24 pengguna tidak ditampilkan)
Baris 1:
[[Berkas:OS-structure.svg|jmpl|450px|Stuktur sistem operasi berbasis mikrokernel monolitik]]
{{terjemah|Inggris}}
Dalam pengetahuan [[Ilmu Komputer]], '''mikrokernel''' merupakan seperangkat [[perangkat lunak]] dalam jumlah minimum yang meyediakan beragam mekanisme dasar yang dibutuhkan untuk bekerja sebagai sebuah [[Sistem Operasi|sistem operasi]], seperti halnya manajemen pengalamatan ruang tingkat rendah, manajemen [[thread]], dan [[Interprocess Communication|komunikasi antar proses]]. Dalam implementasinya mikrokernel merupakan satu-satunya perangkat lunak yang berjalan dengan tingkat kewenangan tertinggi (umumnya disebut sebagai modus supervisor atau modus kernel) dari serangkaian level kewenangan yang tersedia pada perangkat kerasnya. Layanan yang disediakan oleh sebuah sistem operasi beberapa diantaranya adalah [[device driver]], protokol jaringan, [[sistem berkas]], dan kode [[antarmuka pengguna]] yang berada dalam ruang pengguna.
[[Image:OS-structure.svg|thumb|450px|Structure of monolithic and microkernel-based operating systems, respectively]]
Dalam pengetahuan [[Ilmu Komputer]], mikrokernel merupakan modul inti yang meyediakan beragam mekanisme yang dibutuhkan untuk mengembangkan sebuah [[Sistem Operasi|sistem operasi]], seperti halnya manajemen pengalamatan ruang tingkat rendah, manajemen [[thread]], dan [[Interprocess Communication|komunikasi antar proses]]. Dalam implementasinya mikrokernel merupakan satu-satunya perangkat lunak yang berjalan dengan tingkat kewenangan tertinggi (umumnya disebut sebagai modus supervisor atau modus kernel) dari serangkaian level kewenangan yang tersedia pada perangkat kerasnya. Layanan yang disediakan oleh sebuah sistem operasi beberapa diantaranya adalah [[device driver]], [[protocol stack]], [[Sistem berkas]], dan kode [[antarmuka pengguna]] yang berada dalam [[Ruang pengguna]].
 
Mikrokernel sangat erat terkait dengan [[exokernel]]<ref name="Liedtke_96">{{cite journal
| last = Liedtke
| first = Jochen
Baris 12 ⟶ 11:
| volume = 39
| issue = 9
| pages = 70&ndash;7770–77
| issn =
| pmid =
Baris 25 ⟶ 24:
| laydate =
| quote =
}}</ref>
, serta memiliki banyak kesamaan dengan [[hypervisor]].<ref name="Heiser_UL_06">{{cite journal
| title=Are Virtual-Machine Monitors Microkernels Done Right?
| author=[[Gernot Heiser|Heiser, Gernot]]; Uhlig, Volkmar and LeVasseur, Joshua
Baris 33 ⟶ 32:
| issue=1
| pages=95–99
| month=January
| year=2006
| url=http://l4ka.org/publications/2006/p95-heiser.pdf
| publisher=ACM
| doi = 10.1145/1113361.1113363 <!--Retrieved from CrossRef by DOI bot-->
| format=PDF}}</ref>
| access-date=2009-03-23
namun implementasinya lebih bersifat minimalis, dan secara spesifik untuk mendukung pengimplementasian [[Mesin virtual]]. [[L4 microkernel]] sering juga disebut sebagai hypervisor, yang mengindikasikan kemungkinan pengimplementasian sebuah mikrokernel sebagai hypervisor. Istilah [[Nanokernel|nanokernel]] dalam sejarahnya digunakan untuk membedakan mikrokernel saat ini dengan istilah mikrokernel sebelumnya yang menyediakan layanan sistem aktual, namun secara prinsip minimalitas menurut [[Jochen Liedtke]] dalam desain [[L4 microkernel]] menyebutkan bahwa istilah-istilah tersebut memiliki arti yang kurang lebih sama; mikrokernel merupakan terminologi modern.
| archive-date=2008-05-09
| archive-url=https://web.archive.org/web/20080509165551/http://l4ka.org/publications/2006/p95-heiser.pdf
| dead-url=yes
}}</ref>
namun implementasinya lebih bersifat minimalis, dan secara spesifik untuk mendukung pengimplementasian [[mesin virtual]]. Mikrokernel L4 sering juga disebut sebagai ''hypervisor'', yang mengindikasikan kemungkinan pengimplementasian sebuah mikrokernel sebagai ''hypervisor''. Istilah nanokernel dalam sejarahnya digunakan untuk membedakan mikrokernel saat ini dengan istilah mikrokernel sebelumnya yang menyediakan layanan sistem aktual, tetapi secara prinsip minimalitas menurut Jochen Liedtke dalam disain mikrokernel L4 menyebutkan bahwa istilah-istilah tersebut memiliki arti yang kurang lebih sama.
 
== Pendahuluan ==
Pada mulanya, kernel sistem operasi umumnya berukuran kecil, penyebabnya adalah besarnya [[Ingatan|ingatan]] komputer yang terbatas. Dengan semakin berkembangnya kapabiltaskapabilitas komputer, jumlah perangkat yang harus dikontroldikendalikan oleh suatu kernel menjadi meningkat pula. Namun pada masa-masa awal sejarah sistem operasi [[UNIX|unix]], kernel pada umumnya berukuran kecil, meskipun kernel-kernel tersebut menyediakan [[Device driver|device driver]] dan pengatur [[Sistem berkas|sistem berkas]]. Saat pengalamatan ruang meningkat dari 16 menjadi 32 bit, disain kernel diubahsuai menjadi tidak lagi bergantung pada arsitektur perangkat keras yang ada, dan ukuran kernel pun mulai tumbuh membesar.
 
Berkeley [[UNIX]] ([[BSD]]) tercatat sebagai yang memulai era kernel berukuran besar. Sebagai tambahan dari pengoperasian sistem yang paling mendasar seperti [[CPU]], media penyimpanan, dan [[pencetak]], BSD mulai menambahkan [[Sistem berkas|sistem berkas]], sistem jaringan TCP/IP yang lengkap, dan sejumlah perangkat "virtual" yang mengijinkanmengizinkan program yang ada untuk bekerja secara tersembunyi pada jaringan. Pertumbuhan ini berlanjut selama beberapa dekade dan menyebabkan kernel yang ada saat ini terdiri hingga jutaan baris kode. Sebagai akibat dari pertumbuhan ini pun, kernel yang ada saat ini lebih rentan terhadap [[Bug|bug]] dan menjadi lebih sulit untuk dikelola.
 
Mikrokernel didisaindirancang untuk mengatasi permasalahan yang disebabkan karena pertumbuhan kernel yang membesar dan kesulitan mengelolanya. Secara teori, disaindesain mikrokernel mengijinkanmengizinkan pengelolaan kode yang lebih mudah karena arsitekturnya yang mendistribusikan layanan pada divisiarea [[Ruang pengguna|ruang pengguna]]. Pengimplementasian seperti ini berdampak positif pula pada peningkatan keamanan dan stabilitas yangsistem disebabkan karena menurunnya jumlah kode yang berjalan pada modus kernel. Sebagai contoh, jika layanan jaringan tidak bekerja karena serangan ''buffer overflow'', sistem lainnya masih dapat berfungsi secara normal.
 
== Komunikasi Antarprosesantarproses ==
[[Interprocess Communication|Komunikasi antarproses]] (IPC) merupakan suatu mekanisme yang memungkinkan beberapa proses yang terpisah untuk saling berkomunikasi satu dengan lainnya, umumnya hal ini dilakukan dengan memanfaatkan mekanisme pengiriman pesan. Selain itu ingatan berbagi (''shared memory'') secara spesifik juga sering pula digunakan sebagai salah satu mekanisme komunikasi antarproses, tetapi demikian, umumnya makna IPC lebih mengarah pada komunikasi memanfaatkan mekanisme pengiriman pesan, dan lebih lanjut menjadi relevan terhadap mekanisme yang digunakan pada mikrokernel. IPC mengizinkan sistem operasi dibuat dari sejumlah program kecil yang disebut pelayan, yang digunakan oleh program lainnya dalam sistem, melalui IPC sebagai mediator. Hampir dari semua dukungan atas periferal perangkat keras ditangani melalui cara ini, dengan peladen atas device driver, protokol jaringan, sistem berkas, grafis, dan lain-lain.
 
IPC dapat pula berjalan secara sinkronis, dan asinkronis. Analogi IPC asinkronis pada komunikasi jaringan contohnya: pesan dikirim oleh program pengirim dan melanjutkan proses tanpa menunggu pesan baliknya. Program penerima menampung/mengecek keberadaan pesan yang harus diproses baik secara inisialisasi mandiri, atau diingatkan oleh suatu mekanisme notifikasi. IPC asinkronis mensyaratkan kernel mengelola penampung dan mengimplementasikan antrian atas pesan-pesan tersebut, dan berkompromi terhadap kemungkinan terjadinya ''buffer overflow''; Kernel juga harus melakukan duplikasi pesan (pengirim-ke-kernel dan kernel-ke-penerima). Sementara pada IPC sinkronis, pihak pertama (baik pengirim atau penerima) yang melakukan blokade hingga pihak yang dituju siap untuk melakukan proses IPC. Modus IPC sinkronis tidak membutuhkan pengelolaan penampung di sisi kernel, ataupun duplikasi pesan, tetapi komunikasi yang bersifat sinkronis seperti ini akan menyebabkan pemrograman menjadi lebih sulit. Kebanyakan programer lebih memilih menggunakan modus asinkronis untuk pengiriman dan modus sinkronis untuk penerimaan.
[[Interprocess Communication|Komunikasi antarproses]] (IPC) merupakan suatu mekanisme yang memungkinkan suatu proses yang terpisah untuk berkomunikasi dengan proses lainnya, biasanya hal ini dilakukan dengan memanfaatkan mekanisme pengiriman pesan. Disamping itu [[Ingatan berbagi]] (''shared memory'') secara spesifik juga sering pula digunakan sebagai salah satu mekanisme yang digunakan untuk komunikasi antarproses, namun demikian, umumnya makna IPC lebih mengarah pada komunikasi memanfaatkan mekanisme pengiriman pesan, dan lebih lanjut menjadi relevan terhadap mekanisme yang digunakan pada mikrokernel. IPC mengijinkan sistem operasi dibuat dari sejumlah program kecil yang disebut pelayan, yang digunakan oleh program lainnya dalam sistem, melalui IPC sebagai mediator. Hampir dari semua dukungan atas periferal perangkat keras ditangani memalui cara ini, dengan peladen atas device driver, protokol jaringan, sistem berkas, grafis, dan lain-lain.
 
IPC dapat pula berjalan secara sinkronis, dan asinkronis. Analogi IPC asinkronis pada komunikasi jaringan contohnya: Pesan dikirim oleh program pengirim dan melajutkan proses tanpa menunggu pesan baliknya. Program penerima menampung/mengecek keberadaan pesan yang harus diproses baik secara inisialisasi mandiri, atau diingatkan oleh suatu mekanisme notifikasi. IPC asinkronis mensyaratkan kernel mengelola penampung dan mengimplementasikan antrian atas pesan-pesan tersebut, dan berkompromi terhadap kemungkinan terjadinya "buffer-overflow"; Kernel juga harus melakukan duplikasi pesan (pengirim-ke-kernel dan kernel-ke-penerima). Sementara pada IPC sinkronis, pihak pertama (baik pengirim atau penerima) yang melakukan blokade hingga pihak yang dituju siap untuk melakukan proses IPC. modus IPC sinkronis tidak membutuhkan pengelolaan penampung di sisi kernel, ataupun duplikasi pesan, namun komunikasi yang bersifat sinkronis seperti ini akan menyebabkan pemrograman menjadi lebih sulit. Kebanyakan programer lebih memilih menggunakan modus asinkronis untuk pengiriman dan modus sinkronis untuk penerimaan.
 
== Peladen ==
Peladen mikrokernel pada dasarnya merupakan program [[Jurik|jurikdaemon]] biasa seperti umumnya, dengan pengecualian kernel memberikan sejumlah kewenangan untuk berinteraksi dengan sebagian dari ingatan fisik yang biasanya dibatasi untuk program pada umumnya. Dengan cara demikian, hal ini memungkinkan para peladen, khususnya device driver, bisa berinteraksi secara langsung dengan perangkat keras.
 
Seperangkat peladen pada mikrokernel untuk kebutuhan umum melingkupi peladen [[Sistem berkas|sistem berkas]], peladen device driver, peladen jaringan, pelanden tampilan, dan peladen antar muka pengguna. Seperangkat peladen tersebut secara kasar adalah menyediakan sejumlah layanan yang sama yang diberikan pada kernel monolithic UNIX. Peladen yang dibutuhkan akan dijalankan pada saat sistem mulai berjalan dan secara aktif menyediakan layanan, seperti berkas, jaringan, dan akses terhadap perangkat, pada program-program aplikasi. Dengan sejumlah peladen yang berjalan pada lingkungan aplikasi pengguna seperti ini, pengembangan sebuah peladen sama seperti halnya halnya pengembangan aplikasi umum biasa.
 
Seperangkat peladen pada mikrokernel untuk kebutuhan umum melingkupi peladen [[sistem berkas]], peladen device driver, peladen jaringan, pelanden tampilan, dan peladen antar muka pengguna. Seperangkat peladen tersebut secara kasar adalah menyediakan sejumlah layanan yang sama yang diberikan pada kernel monolitik UNIX. Peladen yang dibutuhkan akan dijalankan pada saat sistem mulai berjalan dan secara aktif menyediakan layanan, seperti berkas, jaringan, dan akses terhadap perangkat, pada program-program aplikasi. Dengan sejumlah peladen yang berjalan pada lingkungan aplikasi pengguna seperti ini, pengembangan sebuah peladen sama seperti halnya halnya pengembangan aplikasi umum biasa.
== Device Driver ==
 
== Device driver ==
[[Device driver]] secara frekuentif melakukan akses pengingat langsung ([[DMA]]), dengan demikian device driver bisa melakukan pennulisan dan relokasi atas ingatan fisik, termasuk pula struktur data kernel, oleh karena itu terhadap driver tersebut perlu diberikan kewenangan khusus (''trusted''). Kekeliruan konsepsi yang terjadi menganggap bahwa untuk device driver seperti itu haruslah merupakan bagian dari kernel. Padahal faktanya, driver tidak selalu menjadi bagian yang tidak terpisahkan dari kernel.
 
Baris 74 ⟶ 76:
 
== Unjuk kerja ==
Pada sistem berbasis mikrokernel, permintaan atas suatu layanan melalaui IPC sebenarnya membutuhkan sumber daya yang lebih besar dibandingkan pada sistem dengan kernel berbasis monolithicmonolitik yang hanya menggunakan pemanggilan tunggal secara internal sistem. Dengan demikian unjuk kerja sistem berbasis mikrokernel mungkin menimbulkan potensi masalah, sebagai contoh, unjuk kerja mikrokernel generasi pertama, Mach dan Chorus, menunjukkan hasil yang mengecewakan.<ref name="Chen_Bershad_93">{{cite conference
| first = Bradley
| last = Chen
Baris 80 ⟶ 82:
| title = The Impact of Operating System Structure on Memory System Performance
| booktitle = 14th ACM Symposium on Operating System Principles
| pages = 120&ndash;33120–33
| publisher =
| month = December
Baris 94 ⟶ 96:
| title = Achieved IPC performance (still the foundation for extensibility)
| booktitle = 6th Workshop on Hot Topics in Operating Systems
| pages = 28&ndash;3128–31
| publisher = IEEE
| month = May | year = 1997
Baris 102 ⟶ 104:
| id =
}}</ref><ref name="Gray_CCMH_05">{{cite conference
|first=Charles |last=Gray |coauthors=Chapman, Matthew; Chubb, Peter; Mosberger-Tang, David; [[Gernot Heiser|Heiser, Gernot]] |title=Itanium&mdash;aItanium—a system implementor's tale |booktitle=USENIX Annual Technical Conference |pages=264&ndash;278264–278 |date=April 2005|location=Annaheim, CA, USA |url=http://www.usenix.org/publications/library/proceedings/usenix05/tech/general/gray.html
}}</ref><ref name="vanSchaik_Heiser_07">{{cite conference
{{cite conference
| first = Carl
| last = van Schaik
Baris 110 ⟶ 111:
| title = High-performance microkernels and virtualisation on ARM and segmented architectures
| booktitle = 1st International Workshop on Microkernels for Embedded Systems
| pages = 11&ndash;2111–21
| publisher = NICTA
| date = January 2007
Baris 117 ⟶ 118:
| accessdate = 2007-04-01
| id =
| archive-date = 2007-04-26
}}</ref>
| archive-url = https://web.archive.org/web/20070426092901/http://ertos.nicta.com.au/publications
 
| dead-url = yes
}}</ref>
 
== Keamanan ==
Manfaat tingkat keamanan yang lebih baik atas pengimplementasian mikrokernel seringkalisering kali didiskusikan.<ref>[[Andrew S. Tanenbaum|Tanenbaum, Andrew S.]], [http://www.cs.vu.nl/~ast/reliable-os/ Tanenbaum-Torvalds debate, part II]</ref><ref>Tanenbaum, A., Herder, J. and Bos, H. (May 2006).</ref> Dalam konteks keamanan, prinsip minimalitas mikrokernel merupakan suatu konsekuensi manfaat langsung atas prinsip kewenangan minimal (''least privilege''), terkait dengan implementasi seluruh kode hanya membutuhkan kewenangan minimal yang dibutuhkan sebatas untuk menjalankan fungsionalitasnya. Sejauh kernel (kode yang berjalan dengan kewenangan penuh atas perangkat keras) senantiasa menjadi bagian dari basis komputasi tepercaya (''trusted computing base - TCB''), meminimalisirnya menjadi hal yang sewajarnya dalam disain keamanan terkendali.
 
The security benefits of microkernels have been frequently discussed.<ref>[[Andrew S. Tanenbaum|Tanenbaum, Andrew S.]], [http://www.cs.vu.nl/~ast/reliable-os/ Tanenbaum-Torvalds debate, part II]</ref><ref>Tanenbaum, A., Herder, J. and Bos, H. (May 2006). </ref> In the context of security the minimality principle of microkernels is a direct consequence of the principle of [[least privilege]], according to which all code should have only the privileges needed to provide required functionality. Minimality requires that a system's [[trusted computing base]] (TCB) should be kept minimal. As the kernel (the code that executes in the privileged mode of the hardware) is always part of the TCB, minimizing it is natural in a security-driven design.
 
Consequently, microkernel designs have been used for systems designed for high-security applications, including [[KeyKOS]], [[Extremely Reliable Operating System|EROS]] and military systems. In fact [[common criteria]] (CC) at the highest assurance level (EAL7) has an explicit requirement that the target of evaluation be “simple”, an acknowledgment of the practical impossibility of establishing true trustworthiness for a complex system.
 
Recent work on microkernels is focusing on formal specifications of the kernel API, and formal proofs of security properties of the API. The first example of this is a mathematical proof of the confinement mechanisms in EROS, based on a simplified model of the EROS API.<ref>{{cite conference
| first = Jonathan S.
| last = Shapiro
| authorlink = Jonathan Shapiro
| coauthors = Weber, Samuel
| title = Verifying the EROS Confinement Mechanism
| booktitle = IEEE Conference on Security and Privacy
| pages =
| publisher =
| date =
| location =
| url = http://www.eros-os.org/papers/oakland2000.ps
| doi =
| id =
| accessdate = }}</ref> More recently, a comprehensive set of machine-checked proofs has been performed of the properties of the protection model of the seL4 version of L4.<ref>{{Citation
| first = Dhammika
| last = Elkaduwe
| author-link =
| first2 = Gerwin
| last2 = Klein
| first3 = Kevin
| last3 = Elphinstone
| author2-link =
| editor-last =
| editor-first =
| editor2-last =
| editor2-first =
| contribution =
| contribution-url =
| title =Verified Protection Model of the seL4 Microkernel
| year = 2007
| pages =
| place =
| publisher = submitted for publication
| url = http://ertos.org/publications/papers/Elkaduwe_GE_07.abstract
| doi =
| id = }}</ref>
 
Some projects go even further, aiming at complete formal verification, i.e. a mathematical proof that the kernel's implementation is consistent with its specification, which then provides a guarantee that the properties proved about the API actually hold for the real kernel. This degree of assurance goes beyond even CC EAL7. Such proofs are being attempted for [[Coyotos]] and [http://ertos.org/research/l4.verified seL4].
 
== Nanokernel ==
InDalam [[computerilmu science]]komputer, the termistilah '''nanokernel''' oratau '''picokernel''' historicallylebih referredmengarah topada:
# ASebuah kernel where thedengan total amountjumlah of kernel codekode, i.e. codeyang executingberjalan indalam themodus privilegedkewenangan modepenuh ofatas theperangkat hardwarekeras, issangat very smallkecil. The termIstilah '''picokernel''' waskadang-kadang sometimesdigunakan useduntuk tolebih furthermenekankan emphasizepada smallkecilnya sizeukuran. TheSementara termistilah '''nanokernel''' waspertama coinedkali bydikemukakan oleh [[Jonathan S. Shapiro]] indalam the papermakalah [http://citeseer.ist.psu.edu/135535.html ''The KeyKOS NanoKernel Architecture'']. Ityang wasmerupakan arespon sardonictajam responseatas tomikrokernel Mach, whichyang claimedmengklaim tomikrokernal bemeski akode microkernelyang whileada beingbersifat monolithicmonolitik, essentiallytidak unstructuredterstruktur, anddan slowerlebih thanlamban thedari systemssistem ityang soughtada to replace. Subsequent reuse of and response to the term, including the picokernel coinage, suggest that the point was largely missed. Both '''nanokernel''' and '''picokernel''' have subsequently come to have the same meaning expressed by the term [[microkernel]]sebelumnya.
# Sebuah virtualisasi lapisan yang terdapat pada sistem operasi; lebih tepatnya mengacu pada sebuah hypervisor
# A virtualization layer underneath an operating system; this is more correctly referred to as a [[hypervisor]].
# Sebuah abstraksi lapisan perangkat keras yang bekerja pada bagian tingkat-terbawah dari kernel.
# A [[hardware abstraction layer]] that forms the lowest-level part of a kernel, sometimes used to provide [[Real-time computing|real-time]] functionality to normal OS's, like [[Adeos]].
 
There is also at least one case where the term nanokernel is used to refer not to a small kernel, but one that supports a nanosecond clock resolution. [http://www.eecis.udel.edu/~mills/database/papers/nano/nano2.pdf]
 
==See also==
*[[Kernel (computer science)]]
**[[Exokernel]], a research kernel architecture with a more minimalist approach to kernel technology.
**[[Hybrid kernel]]
**[[Monolithic kernel]]
**[[Loadable kernel module]]
*[[Trusted computing base]]
 
== ReferencesReferensi ==
{{Reflist}}
 
== Bacaan lanjutan ==
==Further reading==
* {{en}} [http://citeseer.csail.mit.edu/cs?q=microkernel scientific articles about microkernels]{{Pranala (onmati|date=Februari [[CiteSeer]])2021 |bot=InternetArchiveBot |fix-attempted=yes }}, includingtermasuk:
** {{en}} {{cite journal | author= Dan Hildebrand|title=An Architectural Overview of QNX|journal=Proceedings of the Workshop on Micro-kernels and Other Kernel Architectures | year=1992 |id=ISBN 1-880446-42-1 | pages=113–126 }} - the basic QNX reference.
** {{en}} {{cite journal | title = Can We Make Operating Systems Reliable and Secure? | author = Tanenbaum, A., Herder, J. and Bos, H. | journal = Computer | month = May | year = 2006 | url = http://www.computer.org/portal/site/computer/menuitem.eb7d70008ce52e4b0ef1bd108bcd45f3/index.jsp?&pName=computer_level1&path=computer/homepage/0506&file=cover1.xml&xsl=article.xsl | pages = 44–51 | access-date = 2021-02-28 | archive-date = 2017-06-21 | archive-url = https://web.archive.org/web/20170621194406/https://www.computer.org/portal/site/computer/menuitem.eb7d70008ce52e4b0ef1bd108bcd45f3/index.jsp?&pName=computer_level1&path=computer%2Fhomepage%2F0506&file=cover1.xml&xsl=article.xsl | dead-url = yes }} -the basic reliable reference.
** {{en}} {{cite journal |title=Microkernel Operating System Architecture and Mach | author=Black, D.L., Golub, D.B., Julin, D.P., Rashid, R.F., Draves, R.P., Dean, R.W., Forin, A., Barrera, J., Tokuda, H., Malan, G., and Bohman, D. |journal=J. Of Information Processing|volume=14(4) | month=March | year=1992 }} - the basic Mach reference.
* {{en}} [http://c2.com/cgi/wiki?MicroKernel MicroKernel page] from the [[Portland Pattern Repository]]
* The{{en}} [[http://www.oreilly.com/catalog/opensources/book/appa.html The Tanenbaum-Torvalds debate]Debate, 1992.01.29]
* {{en}} Tanenbaum, A. S. "[http://www.computer.org/portal/site/computer/menuitem.5d61c1d591162e4b0ef1bd108bcd45f3/index.jsp?&pName=computer_level1_article&TheCat=1005&path=computer/homepage/0506&file=cover1.xml&xsl=article.xsl& Can We Make Operating Systems Reliable and Secure?] {{Webarchive|url=https://web.archive.org/web/20180618202352/https://www.computer.org/portal/site/computer/menuitem.5d61c1d591162e4b0ef1bd108bcd45f3/index.jsp?&pName=computer_level1_article&TheCat=1005&path=computer%2Fhomepage%2F0506&file=cover1.xml&xsl=article.xsl& |date=2018-06-18 }}".
**[http://www.oreilly.com/catalog/opensources/book/appa.html The Tanenbaum-Torvalds Debate, 1992.01.29]
* {{en}} Torvalds, L. [http://www.realworldtech.com/forums/index.cfm?action=detail&id=66630&threadid=66595&roomid=11 Linus Torvalds about the microkernels again, 2006.05.09]
** Tanenbaum, A. S. "[http://www.computer.org/portal/site/computer/menuitem.5d61c1d591162e4b0ef1bd108bcd45f3/index.jsp?&pName=computer_level1_article&TheCat=1005&path=computer/homepage/0506&file=cover1.xml&xsl=article.xsl& Can We Make Operating Systems Reliable and Secure?]".
* {{en}} Shapiro, J. "[http://www.coyotos.org/docs/misc/linus-rebuttal.html Debunking Linus's Latest] {{Webarchive|url=https://web.archive.org/web/20160922022726/http://www.coyotos.org/docs/misc/linus-rebuttal.html |date=2016-09-22 }}".
** Torvalds, L. [http://www.realworldtech.com/forums/index.cfm?action=detail&id=66630&threadid=66595&roomid=11 Linus Torvalds about the microkernels again, 2006.05.09]
** Shapiro{{en}} Tanenbaum, JA. S. "[http://www.coyotoscs.orgvu.nl/docs~ast/miscreliable-os/linus Tanenbaum-rebuttal.htmlTorvalds DebunkingDebate: Linus'sPart LatestII]".
** Tanenbaum, A. S. "[http://www.cs.vu.nl/~ast/reliable-os/ Tanenbaum-Torvalds Debate: Part II]".
 
{{computer-stubSistem operasi}}
 
[[Kategori:Teknologi sistem operasi]]
[[Category:Operating system technology]]
[[Category:Microkernels]]
 
[[fi:Käyttöjärjestelmän ydin#Mikroydin]]
[[ca:Microkernel]]
[[cs:Mikrojádro]]
[[de:Mikrokernel]]
[[en:Microkernel]]
[[es:Micronúcleo]]
[[fr:Noyau de système d'exploitation#Systèmes à micro-noyaux]]
[[it:Kernel#Microkernel]]
[[hu:Mikrokernel]]
[[ja:マイクロカーネル]]
[[nl:Microkernel]]
[[no:Mikrokjerne]]
[[pl:Mikrojądro]]
[[pt:Micro-kernel]]
[[ru:Микроядро]]
[[sk:Mikrokernel]]
[[sv:Mikrokärna]]
[[uk:Мікроядро]]