Kernel hibrida: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
TXiKiBoT (bicara | kontrib)
k bot Menambah: en:Hybrid kernel
kTidak ada ringkasan suntingan
Tag: Suntingan visualeditor-wikitext
 
(31 revisi perantara oleh 21 pengguna tidak ditampilkan)
Baris 1:
[[ImageBerkas:OS-structure2.svg|thumbjmpl|rightka|400px|Struktur sistem operasi berbasis kernel monolitik, mikrokernel, dan kernel hibridhibrida]]
{{terjemah|Inggris}}
 
'''Kernel hibridhibrida''' merupakan arsitektur [[kernel]] yang menggabungkan aspek-aspek yang terdapat pada [[mikrokernel]] dan [[kernel monolitik]] dalam pengembangan [[perangkat lunak]] [[sistem operasi]]. Pengkategorian kernel hibridhibrida dipandang kontroversial karena karakteristiknya yang sangat mirip dengan karakteristik kernel monolitik sehingga beberapa kalangan mencibir pengkategorian kernel hibridhibrida hanya sebatas diferensiasi untuk tujuan pemasaran. Umumnya pengkategorian yang lebih diterima adalah [[kernel monolitik]] dan [[mikrokernel]] (termasuk dalam hal ini [[nanokernel]] dan [[exokernel]] yang dipandang sebagai versi mikrokernel yang lebih ekstrimekstrem).
[[Image:OS-structure2.svg|thumb|right|400px|Struktur sistem operasi berbasis kernel monolitik, mikrokernel, dan kernel hibrid]]
'''Kernel hibrid'''merupakan arsitektur [[kernel]] yang menggabungkan aspek-aspek yang terdapat pada [[mikrokernel]] dan [[kernel]] dalam pengembangan [[perangkat lunak]] [[sistem operasi]]. Pengkategorian kernel hibrid dipandang kontroversial karena karakteristiknya yang sangat mirip dengan karakteristik kernel monolitik sehingga beberapa kalangan mencibir pengkategorian kernel hibrid hanya sebatas diferensiasi untuk tujuan pemasaran. Umumnya pengkategorian yang lebih diterima adalah [[kernel monolitik]] dan [[mikrokernel]] (termasuk dalam hal ini [[nanokernel]] dan [[exokernel]] yang dipandang sebagai versi mikrokernel yang lebih ekstrim).
 
Gagasan dibelakangdi belakang kernel hibridhibrida adalah membuat suatu struktur kernel yang serupa seperti mikrokernel, namun diimplementasikan sebagai kernel monolitik. Namun berbedaBerbeda dengan mikrokernel, semua (atau setidaknya hampir semua) layanan sistem terdapat pada ruang kernel dan bukan pada ruang pengguna. Seperti halnya pada kernel monolitik, tidak ada beban penurunan unjuk kerja seperti pada mikrokernel atas mekanisme penyampaian pesan, dan mekanisme proses lainnya, juga milikimemiliki kesepahamanpemahaman yang sama seperti kernel monolitik, tidak ada keuntungan apapun atas penyediaan layanan pada [[ruang pengguna]].
 
== Contoh ==
=== Kernel NT ===
[[ImageBerkas:Windows 2000 architecture.svg|thumbjmpl|275px|Arsitektur keluarga sistem operasi Windows NT terdiri atas dua modus (modus pengguna dan modus kernel) yang masing-masing memiliki beragam modul yang berbeda.]]
 
Contoh yang sangat dikenal atas implementasi kernel hibridhibrida adalah arsitektur dari jajaran sistem operasi windows berbasis NT ([[Windows NT]], [[Windows 2000]], [[Windows XP]], [[Windows Server 2003]], [[Windows Vista]], [[Windows Server 2008]], dan [[Windows 7]]). Windows berbasis NT seringkalisering kali diklasifikasikan sebagai kernel hibridhibrida (atau makrokernel<ref name=Microsoft_2007>{{cite web | title = MS Windows NT Kernel-mode User and GDI White Paper | publisher = Microsoft Corporation | date = 2007 | url = http://www.microsoft.com/technet/archive/ntwrkstn/evaluate/featfunc/kernelwp.mspx?mfr=true | accessdate = 2007-03-01}}</ref>) daripada sebagai kernel monolitik sebab subsistem emulasi yang terdapat pada NT berjalan pada modus pengguna, dan bukan pada modus kernel seperti yang terdapat pada kernel monolitik. Dan lebih jauh karena tujuan disainnya serupa dengan tujuan disain Mach (salah satu mikrokernel generasi pertama). Sebaliknya, alasan bahwa NT bukanlah termasuk sebagai mikrokernel karena sebagian besar komponen sistem berjalan pada alamat ruang yang sama dengan kernel, seperti halnya pada disain kernel monolitik.
===Kernel NT===
 
====Description Deksripsi ====
[[Image:Windows 2000 architecture.svg|thumb|275px|Arsitektur keluarga sistem operasi Windows NT terdiri atas dua modus (modus pengguna dan modus kernel) yang masing-masing memiliki beragam modul yang berbeda.]]
Disain Windows NT memiliki banyak kesamaan dengan yang terdapat pada Mach, salah satu mikrokernel generasi pertama, dan bagian yang terpenting adalah memiliki struktur atas sejumlah koleksi modul yang berkomunikasi melalui antarmuka yang umum dikenal, yang pada mikrokernel kecil hal ini terbatas pada fungsi-fungsi inti seperti penanganan interup level-utama, penjadualan thread, dan sinkronisasi proses-proses sederhana. Hal tersebut memungkinkan tiap-tiap modul untuk menggunakan mekanisme pemanggilan langsung ataupun menggunakan mekanisme [[Komunikasi antarproses|IPC]] sebagai media komunikasi antar modul. Kesamaan tujuan disain lainnya dengan Mach termasuk dalam hal ini dukungan terhadap bermacam-macam arsitektur, yaitu sebuah kernel dengan tingkat abstraksi yang cukup untuk memungkinkan beragam karakteristik sistem operasi diimplementasikan pada tingkatan di atasnya, dan pengorganisasian yang berbasis objek.<ref name=Microsoft_2007/><ref name=Silberschatz_2005>{{cite book | last = Silberschatz | first = Abraham | coauthors = Peter Baer Galvin and Greg Gagne | title = Operating System Concepts; 7th Edition | publisher = John Wiley & Sons Inc | date = 2005 | location = Hoboken, New Jersey | url = http://higheredbcs.wiley.com/legacy/college/silberschatz/0471694665/appendices/appb.pdf | isbn = 978-0-471-69466-3}}</ref><ref name=Microsoft_2007>{{cite web | title = MS Windows NT Kernel-mode User and GDI White Paper | publisher = Microsoft Corporation | date = 2007 | url = http://www.microsoft.com/technet/archive/ntwrkstn/evaluate/featfunc/kernelwp.mspx?mfr=true | accessdate = 2007-03-01}}</ref>
 
Alasan bahwa NT bukanlah sebuah sistem berbasis mikrokernel dalam hal ini karena hampir semua subsistem menyediakan layanan sistem, termasuk bagian eksekutif, berjalan pada modus kernel (dalam ruang alamat yang sama dengan mikrokernel), dan bukan pada modus pengguna seperti yang terdapat pada disain mikrokernel. Atribut ini yang membuat NT serupa dengan versi-versi awal Mach, demikian juga sistem komersilkomersial lainnya yang berbasis Mach.
Contoh yang sangat dikenal atas implementasi kernel hibrid adalah arsitektur dari jajaran sistem operasi windows berbasis NT ([[Windows NT]], [[Windows 2000]], [[Windows XP]], [[Windows Server 2003]], [[Windows Vista]], [[Windows Server 2008]], dan [[Windows 7]]). Windows berbasis NT seringkali diklasifikasikan sebagai kernel hibrid (atau makrokernel<ref name=Microsoft_2007>{{cite web | title = MS Windows NT Kernel-mode User and GDI White Paper | publisher = Microsoft Corporation | date = 2007 | url = http://www.microsoft.com/technet/archive/ntwrkstn/evaluate/featfunc/kernelwp.mspx?mfr=true | accessdate = 2007-03-01}}</ref>) daripada sebagai kernel monolitik sebab subsistem emulasi yang terdapat pada NT berjalan pada modus pengguna, dan bukan pada modus kernel seperti yang terdapat pada kernel monolitik. Dan lebih jauh karena tujuan disainnya serupa dengan tujuan disain Mach (salah satu mikrokernel generasi pertama). Sebaliknya, alasan bahwa NT bukanlah termasuk sebagai mikrokernel karena sebagian besar komponen sistem berjalan pada alamat ruang yang sama dengan kernel, seperti halnya pada disain kernel monolitik.
 
====Deksripsi= Kernel Plan 9 ===
{{see also|Plan 9 from Bell Labs}}
Disain Windows NT memiliki banyak kesamaan dengan yang terdapat pada Mach, salah satu mikrokernel generasi pertama, dan bagian yang terpenting adalah memiliki struktur atas sejumlah koleksi modul yang berkomunikasi melalui antarmuka yang umum dikenal, yang pada mikrokernel kecil hal ini terbatas pada fungsi-fungsi inti seperti penanganan interup level-utama, penjadualan thread, dan sinkronisasi proses-proses sederhana. Hal tersebut memungkinkan tiap-tiap modul untuk menggunakan mekanisme pemanggilan langsung ataupun menggunakan mekanisme [[Komunikasi antarproses|IPC]] sebagai media komunikasi antar modul. Kesamaan tujuan disain lainnya dengan Mach termasuk dalam hal ini dukungan terhadap bermacam-macam arsitektur, yaitu sebuah kernel dengan tingkat abstraksi yang cukup untuk memungkinkan beragam karakteristik sistem operasi diimplementasikan pada tingkatan di atasnya, dan pengorganisasian yang berbasis objek.<ref name=Silberschatz_2005>{{cite book | last = Silberschatz | first = Abraham | coauthors = Peter Baer Galvin and Greg Gagne | title = Operating System Concepts; 7th Edition | publisher = John Wiley & Sons Inc | date = 2005 | location = Hoboken, New Jersey | url = http://higheredbcs.wiley.com/legacy/college/silberschatz/0471694665/appendices/appb.pdf | isbn = 978-0-471-69466-3}}</ref><ref name=Microsoft_2007>{{cite web | title = MS Windows NT Kernel-mode User and GDI White Paper | publisher = Microsoft Corporation | date = 2007 | url = http://www.microsoft.com/technet/archive/ntwrkstn/evaluate/featfunc/kernelwp.mspx?mfr=true | accessdate = 2007-03-01}}</ref>
==== Deskripsi ====
Salah satu dari tujuan utama disain kernel Plan 9 adalah untuk menyediakan seluruh sumber daya seperti berkas dan penggunaan protokol komunikasi tunggal baik untuk akses terhadap sumberdaya lokal dan remot. Kernel Plan 9 menggunakan baik modus kernel dan modus pengguna. Contoh subsistem yang berjalan pada modus kernel adalah ''device driver'', sementara yang berjalan pada modus pengguna adalah subsistem manajemen jaringan (IP stack), konsol-serial, kotak surat. Disebabkan karena antarmuka keduanya yang sama menyebabkan modul-modul baru bisa dipindahkan atau ditambahkan ke dalam/di luar [[kernel]] tanpa melakukan perubahan pada sistem.<ref name = "Collyer">{{cite web | url = http://www.collyer.net/who/geoff/9book.pdf | title = Why Plan 9 matters | first = Geoff | last = Collyer | accessdate = 2006-09-12 | format = [[PDF]] | archive-date = 2006-06-29 | archive-url = https://web.archive.org/web/20060629103122/http://www.collyer.net/who/geoff/9book.pdf | dead-url = yes }}</ref>
 
==== Klasifikasi ====
Alasan bahwa NT bukanlah sebuah sistem berbasis mikrokernel dalam hal ini karena hampir semua subsistem menyediakan layanan sistem, termasuk bagian eksekutif, berjalan pada modus kernel (dalam ruang alamat yang sama dengan mikrokernel), dan bukan pada modus pengguna seperti yang terdapat pada disain mikrokernel. Atribut ini yang membuat NT serupa dengan versi-versi awal Mach, demikian juga sistem komersil lainnya yang berbasis Mach.
Disebabkan karena penggunaan yang intensif atas peladen berkas pada modus pengguna bersama-sama dengan modul sistem pada modus kernel, Plan 9 menjadi salah satu kandidat untuk disertakan sebagai kernel hibrida.
 
== Kontraversi ==
In describing NT, the list of which subsystems do not run in kernel mode is far shorter than the list of those that do. The user-mode subsystems on NT include one or more emulation subsystems, each of which provides an operating system personality to applications, the [[Session Manager Subsystem]] (smss.exe), which starts the emulation subsystems during system startup and the [[Local Security Authority Subsystem Service]] (lsass.exe), which enforces security on the system. The subsystems are not written to a particular OS personality, but rather to the native NT API (or [[Native API]]).
Seperti yang telah disebutkan di atas, kernel hibrida memiliki banyak kemiripan seperti kernel monolitik yakni tidak ada penurunan unjuk kerja pada beberapa mekanisme yang ada, dan tidak memiliki layanan di ruang pengguna.
 
Hal ini menimbulkan kontraversi, apakah dengan membuat satu struktur kernel yang serupa seperti mikrokernel namun diimplementasikan sebagai kernel monolitik membuat satu perbedaan yang fundamental yang mengharuskan sebuah kategori baru ditambahkan?
The primary operating system personality on Windows is the [[Windows API]], which is always present. The emulation subsystem which implements the Windows personality is called the [[Client/Server Runtime Subsystem]] (csrss.exe). On versions of NT prior to 4.0, this subsystem process also contained the window manager, graphics device interface and graphics device drivers. For performance reasons, however, in version 4.0 and later, these modules (which are often implemented in user mode even on monolithic systems, especially those designed without internal graphics support) run as a kernel-mode subsystem.<ref name=Microsoft_2007>{{cite web | title = MS Windows NT Kernel-mode User and GDI White Paper | publisher = Microsoft Corporation | date = 2007 | url = http://www.microsoft.com/technet/archive/ntwrkstn/evaluate/featfunc/kernelwp.mspx?mfr=true | accessdate = 2007-03-01}}</ref>
 
=== Pendukung ===
As of 2007, one other operating system personality, [[UNIX]], is offered as an optionally installed system component on certain versions of Windows Vista and Windows Server 2003 R2. The associated subsystem process is the Subsystem for UNIX-Based Applications (psxss.exe), which was formerly part of a Windows add-on called Windows [[Services for Unix]]. An [[OS/2]] subsystem (os2ss.exe) was supported in older versions of Windows NT, as was a very limited [[POSIX]] subsystem (psxss.exe). The POSIX subsystem was supplanted by the UNIX subsystem, hence the identical executable name.<ref name=Probert2005>{{cite web | last = Probert | first = Dave | title = Overview of Windows Architecture | work = Using Projects Based on Internal NT APIs to Teach OS Principles | publisher = Microsoft Research/Asia - Beijing | date = 2005 | url = http://research.microsoft.com/ur/asia/curriculum/download/BeijingPresentation.ppt | accessdate = 2007-03-01}}</ref>
Microsoft biasanya menggunakan pengertian "mikrokernel", kadang kala "mikrokernel yang dimodifikasi", atau "[[makrokernel]]"<ref name=Microsoft_2007/> saat menjelaskan tentang kernel dalam arsitektur jajaran sistem operasi Windows NT. Keseluruhan arsitektur dikatakan sebagai komposisi atas "mikrokernel termodifikasi", pengendali, [[Hardware abstraction layer|HAL]], dan [[Graphics Device Interface|GDI/GDI+]] seluruhnya berjalan pada ruang kernel.
 
=== Oposisi ===
Applications that run on NT are written to one of the OS personalities, and not to the native NT API, which is largely undocumented (with the exception of routines used in device driver development). An OS personality is implemented via a set of user-mode DLLs (see [[Dynamic-link library]]), which are mapped into application processes' address spaces as required, together with an emulation subsystem server process (as described previously). Applications access system services by calling into the OS personality DLLs mapped into their address spaces, which in turn call into the NT run-time library (ntdll.dll), also mapped into the process address space. The NT run-time library services these requests by trapping into kernel mode to either call kernel-mode Executive routines or make [[Local Procedure Call]]s (LPCs) to the appropriate user-mode subsystem server processes, which in turn use the NT API to communicate with application processes, the kernel-mode subsystems and each other.<ref name=Probert2005>{{cite web | last = Probert | first = Dave | title = Overview of Windows Architecture | work = Using Projects Based on Internal NT APIs to Teach OS Principles | publisher = Microsoft Research/Asia - Beijing | date = 2005 | url = http://research.microsoft.com/ur/asia/curriculum/download/BeijingPresentation.ppt | accessdate = 2007-03-01}}</ref>
Banyak pakar sistem operasi dan kernel tidak mengakui kategori ini dan menganggapnya tidak memiliki arti, semata-mata untuk tujuan pemasaran.
 
[[Linus Torvalds]] saidmengatakan ofatas thishal issueini:
===Plan 9 kernel===
====Description====
One of the main design goals is to represent all resources as files and use a single communication protocol for both local and remote resources. The [[Plan 9 from Bell Labs|Plan 9]] kernel uses both in-kernel (kernel mode) but more commonly user mode servers. Communication with user mode servers — [[file server|fileservers]] — uses [[9P]]. Kernel mode examples are device drivers and network interfaces (ethernet). Examples of user mode are networking (IP stack), environment, mailboxes, serial-console multiplexor, spam filter, CD interpreter, foreign filesystems and tapes, backup system, window system, and /proc. Because the interface to ‘in-kernel’ and ‘user space’ file servers is the same this also means that components can be moved (or reimplemented) inside and/or outside the kernel without making any changes to the system; for example there have been implementations of the ip stack and graphics systems of both kinds, and they can even coexists in the same running system thanks to the use of namespaces<ref name = "Collyer">{{cite web | url = http://www.collyer.net/who/geoff/9book.pdf | title = Why Plan 9 matters | first = Geoff | last = Collyer | accessdate = 2006-09-12 | format = [[PDF]]}}</ref>.
 
====Classification====
Due to the extensive use of user mode fileservers together with some in-kernel systems, this is a simpler candidate for inclusion as a hybrid kernel.
 
==Controversy==
As mentioned above, a hybrid kernel is like a monolithic kernel in that there is no performance overhead associated with microkernel and there are none of the benefits of having services in user space.
 
That leads to the controversy — does having a microkernel-like structure in a monolithic kernel make such a distinct difference that another category of kernels is needed?
 
===Proponents===
Microsoft normally uses the term "microkernel" and sometimes "modified microkernel", "modified microkernel or [[macrokernel]]"<ref name =Microsoft_2007>{{cite web | title = MS Windows NT Kernel-mode User and GDI White Paper | publisher = Microsoft Corporation | date = 2007 | url = http://www.microsoft.com/technet/archive/ntwrkstn/evaluate/featfunc/kernelwp.mspx?mfr=true | accessdate = 2007-03-01}}</ref> when describing the kernel part of the [[architecture of the Windows NT operating system line]]. The whole architecture is said to be composed of a "modified microkernel", drivers, [[Architecture of the Windows NT operating system line#Executive|Executive]], and [[Hardware abstraction layer|HAL]], and [[Graphics Device Interface|GDI/GDI+]] all in kernel space. There are user space APIs supporting different OS environments.
 
===Opponents===
Many operating systems and kernel experts have dismissed the label as meaningless, and just marketing:
 
[[Linus Torvalds]] said of this issue:
{{quote|As to the whole ‘hybrid kernel’ thing — it’s just marketing. It’s ‘oh, those microkernels had good PR, how can we try to get good PR for our working kernel? Oh, I know, let’s use a cool name and try to imply that it has all the PR advantages that that other system has’.<ref>{{cite web | url = http://www.realworldtech.com/forums/index.cfm?action=detail&id=66630&threadid=66595&roomid=11 | title = Linus Torvalds, Real World Technologies Discussion Forum | accessdate = 2006-05-09}}</ref>}}
 
[[Sonny Rao]] ofsebagai theanggota tim IBM LTC Kernel Performance File/IO team saidmengatakan:
{{quote|It’s wrong... I think this talk... was born from some kind of half-assed marketing game to try and make XXX kernel seem ‘more advanced.’ ‘Micro’ and ‘hybrid’ are always better, more advanced than ‘Monolithic’ right??"<ref>{{cite web | url = http://www.realworldtech.com/forums/index.cfm?action=detail&id=66596&threadid=66595&roomid=11 | title = Sonny Rao, Real World Technologies Discussion Forum | accessdate = 2006-05-08}}</ref>}}
 
== Implementasi ==
* Kernel [[BeOS]]
** Kernel [[Haiku]] kernel
* [[Syllable]]
* [[BSD]]
** [[DragonFly BSD]]
** [[DragonFly BSD]] (first non-[[Mach kernel|Mach]] BSD OS to use a hybrid kernel, concepts inspired by [[AmigaOS]])
** Kernel [[XNU]] kernel (core of [[Darwin (operating system)|Darwin]], used in [[Mac OS X]])
* kernel [[NetWare]] kernel<ref> [http://www.usenix.org/publications/library/proceedings/sf94/full_papers/minshall.a An Overview of the NetWare Operating System]([[2007-02-07]])</ref>
* Kernel [[Plan 9 from Bell Labs|Plan 9]] kernel
** Kernel [[Inferno (operating system)|Inferno]] kernel
* [[Architecture of Windows NT|NTKernel kernelNT]] (useddigunakan pada sistem inoperasi Windows [[Windows NT|NT]], [[Windows 2000|2000]], [[Windows Server 2003|2003]]; [[Windows XP|XP]], [[Windows Vista|Vista]], [[Windows Server 2008|2008]], [[Windows 7|7]])
** Kernel [[ReactOS]] kernel
 
== Lihat pula ==
* [[Exokernel]]
* [[Nanokernel]]
 
== Catatan ==
<!--
See http://en.wiki-indonesia.club/wiki/Wikipedia:Footnotes for an explanation of how
to generate footnotes using the <ref> and </ref> tags, and the template below
-->
{{reflist}}
<references/>
 
== Referensi ==
* {{en}} [http://www.realworldtech.com/forums/index.cfm?action=detail&id=66630&threadid=66595&roomid=11 Linus Torvalds on Real World Tech ]
* {{en}} [http://www.realworldtech.com/forums/index.cfm?action=detail&id=66595&threadid=66595&roomid=11 Hybrid Kernel category criticised ]
* {{en}} [httphttps://web.archive.org/web/20060315213024/http://www.sysinternals.com/Information/NativeApi.html Sysinternals article about the NT Native API]
 
{{computer-stub}}
{{Sistem operasi}}
[[Kategori:Teknologi sistem operasi]]
 
[[Kategori:Teknologi sistem operasi]]
[[cs:Hybridní jádro]]
[[de:Hybridkernel]]
[[en:Hybrid kernel]]
[[es:Núcleo híbrido]]
[[ko:하이브리드 커널]]
[[pl:Jądro hybrydowe]]
[[pt:Kernel híbrido]]
[[ru:Гибридное ядро]]
[[sk:Hybridné jadro]]