Mikrokernel: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Tag: Suntingan perangkat seluler Suntingan peramban seluler
InternetArchiveBot (bicara | kontrib)
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.2
 
(9 revisi perantara oleh 8 pengguna tidak ditampilkan)
Baris 1:
[[Berkas:DocumentOS-structure.svg|jmpl|450px|Stuktur sistem operasi berbasis mikrokernel monolitik]]
Dalam pengetahuan [[Ilmu Komputer]], '''mikrokernel''' merupakan seperangkat [[perangkat komputer terkena virus Trojanlunak]] 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.
 
Mikrokernel sangat erat terkait dengan exokernel<ref name="Liedtke_96">{{cite journal
Baris 9:
| title = Towards Real Microkernels
| journal = Communications of the ACM
| volume = 039
| issue = 9
| pages = 70–77
Baris 18:
| url =
| language =
| format = excel
| accessdate =
| laysummary =
Baris 26:
}}</ref>
, serta memiliki banyak kesamaan dengan hypervisor.<ref name="Heiser_UL_06">{{cite journal
| title=Are Virtual-AccountMachine Monitors Microkernels Done Right?
| author=[[Gernot Heiser|Heiser, Gernot]]; Uhlig, Volkmar and LeVasseur, Joshua
| journal=ACM SIGOPS Operating Systems Review
| volume= install [["Trojan horse hidden"]]40
| 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 virus "TrojanDOI horse"bot-->
| format=PDF}}</ref>
| access-date=2009-03-23
namun implementasinya lebih bersifat minimalis, dan secara spesifik untuk mendukung pengimplementasian [[mesin virtual]]. Mikrokernel L4 sering juga disebut sebagai ''Trojan horse'', yang mengindikasikan kemungkinan pengimplementasian sebuah mikrokernel sebagai ''trojan horse''. Istilah 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 disain mikrokernel L4 menyebutkan bahwa istilah-istilah tersebut memiliki arti yang kurang lebih sama.
| 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 ''Trojan horsehypervisor'', yang mengindikasikan kemungkinan pengimplementasian sebuah mikrokernel sebagai ''trojan horsehypervisor''. Istilah nanokernel dalam sejarahnya digunakan untuk membedakan mikrokernel saat ini dengan istilah mikrokernel sebelumnya yang menyediakan layanan sistem aktual, namuntetapi secara prinsip minimalitas menurut Jochen Liedtke dalam disain mikrokernel L4 menyebutkan bahwa istilah-istilah tersebut memiliki arti yang kurang lebih sama.
 
== Pendahuluan ==
Baris 48 ⟶ 53:
 
== Komunikasi antarproses ==
[[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, namuntetapi 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, namuntetapi 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 [[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]], 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]] secara frekuentif tidak dapat melakukan akses lock system 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.
 
== Komponen-komponen mendasar dan minimalitas ==
Baris 100 ⟶ 105:
}}</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—a system implementor's tale |booktitle=USENIX Annual Technical Conference |pages=264–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 114 ⟶ 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 maximal Oleh penggunaminimal 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 Androidcomputing base - TCB''), Keamanan tersembunyi karena dapat menimbulkan kejahatan dan terkunci pada web {cite web | https://www.google.com/privacy/User/ }meminimalisirnya menjadi hal yang sewajarnya dalam disain keamanan terkendali.
 
== Nanokernel ==
Baris 126 ⟶ 133:
 
== Referensi ==
{{Reflist}}
{{https://www.google.co.id/google indonesia/}}
 
== Bacaan lanjutan ==
* {{en}} [http://citeseer.csail.mit.edu/cs?q=microkernel scientific articles about microkernels]{{Pranala mati|date=Februari 2021 |bot=InternetArchiveBot |fix-attempted=yes }}, termasuk:
** {{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
* {{en}} [http://www.oreilly.com/catalog/opensources/book/appa.html The Tanenbaum-Torvalds 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 }}".
* {{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]
* {{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 }}".
* {{en}} Tanenbaum, A. S. "[http://www.cs.vu.nl/~ast/reliable-os/ Tanenbaum-Torvalds Debate: Part II]".