sejarah sistem operasi dari DOS, Mac, Windows, BSD, sampai Linux.
1980
• QDOS : Tim Paterson dari Seattle Computer menulis QDOS yang dibuat dari OS
terkenal pada masa itu, CP/M. QDOS (Quick and Dirty Operating System) dipasarkan
oleh Seatle Computer dengan nama 86-DOS karena dirancang untuk prosesor Intel 8086.
• Microsoft : Bill Gates dari Microsoft membeli lisensi QDOS dan menjualnya ke berbagai
perusahaan komputer.
1981
• PC DOS : IBM meluncurkan PC DOS yang dibeli dari Microsoft untuk komputernya
yang berbasis prosesor Intel 8086.
• MS DOS : Microsoft menggunakan nama MS DOS untuk OS ini jika dijual oleh
perusahaan diluar IBM.
1983
• MS DOS 2.0 : Versi 2.0 dari MS DOS diluncurkan pada komputer PC XT.
1984
• System 1.0 : Apple meluncurkan Macintosh dengan OS yang diturunkan dari BSD UNIX
. System 1.0 merupakan sistem operasi pertama yang telah berbasis grafis dan
menggunakan mouse.
• MS DOS 3.0 : Microsoft meluncurkan MS DOS 3.0 untuk PC AT yang menggunakan
chip Intel 80286 dan yang mulai mendukung penggunaan hard disk lebih dari 10 MB.
• MS DOS 3.1 : Microsoft meluncurkan MSDOS 3.1 yang memberikan dukungan
untuk jaringan.
1985
1986
• MS DOS 3.2 : Microsoft meluncurkan MS DOS 3.2 yang menambahkan dukungan untuk
floppy 3.5 inch 720 KB.
1987
• OS/2 : IBM memperkenalkan OS/2 yang telah berbasis grafis, sebagai calon pengganti
IBM PC DOS.
• MS DOS 3.3 : Microsoft meluncurkan MS DOS 3.3 yang merupakan versi paling populer
dari MS DOS.
• Windows 2.0 : Windows versi 2.0 diperkenalkan.
• MINIX : Andrew S. Tanenbaum mengembangkan Minix, sistem operasi berbasis Unix
yang ditujukan untuk pendidikan. MINIX nantinya menginspirasi pembuatan Linux.
1988
1989
• NetWare/386 (juga dikenal sebagai versi 3) diluncurkan oleh Novell untuk prosesor Intel
80386.
1990
• Perpisahan : Dua perusahaan raksasa berpisah, IBM berjalan dengan OS/2 dan Microsoft
berkonsentrasi pada Windows.
• Windows 3.0 : Microsoft meluncurkan Windows versi 3.0 yang mendapat sambutan
cukup baik.
• MSOffice : Microsoft membundel Word, Excel, dan PowerPoint untuk menyingkirkan
saingannya seperti Lotus 123, Wordstar, Word Perfect dan Quattro.
• DR DOS : Digital Research memperkenalkan DR DOS 5.0.
1991
• Windows 3.1 : Microsoft meluncurkan Windows 3.1 dan kemudian Windows for
Workgroups 3.11 di tahun berikutnya.
• 386 BSD : OS berbasis Open Source turunan dari BSD Unix didistribusikan oleh Bill
Jolitz setelah meninggalkan Berkeley Software Design, Inc (BSDI). 386 BSD nantinya
menjadi induk dari proyek Open Source BSD lainnya, seperti NetBSD, FreeBSD, dan
OpenBSD.
• Distro Linux : Linux didistribusikan dalam format distro yang merupakan gabungan dari
OS plus program aplikasi. Distro pertama Linux dikenal sebagai SLS (Softlanding
Linux System).
1993
1994
1996
1997
1998
• Windows 98 : Web browser Internet Explorer menjadi bagian penting dari Windows 98
dan berhasil menumbangkan dominasi Netscape Navigator.
• Server Linux : Linux mendapat dukungan dari banyak perusahaan besar, seperti IBM,
Sun Microsystem dan Hewlet Packard. Server berbasis Linux mulai banyak dipergunakan
menggantikan server berbasis Windows NT.
• Google : Search Engine terbaik hadir di Internet dan diketahui menggunakan Linux
sebagai servernya.
• Japan Goes Linux : TurboLinux diluncurkan di Jepang dan segera menjadi OS favorit di
Asia, khususnya di Jepang, China dan Korea.
• Mandrake : Gael Duval dari Brazil mengembangkan distro Mandrake yang diturunkan
dari Red Hat.
1999
• Support : Hewlett Packard mengumumkan layanan 24/7 untuk distro Caldera, Turbo
Linux, Red Hat dan SuSE.
• Corel Linux : Corel pembuat program Corel Draw, yang sebelumnya telah menyediakan
Word Perfect versi Linux, ikut membuat OS berbasis Linux dengan nama Corel Linux
dan yang nantinya beralih nama menjadi Xandros.
2000
• Mac OS/X : Mac OS diganti dengan mesin berbasis BSD Unix dengan kernel yang
disebut sebagai Mac OS/X.
• Windows 2000: Microsoft meluncurkan Windows 2000 sebagai penerus Windows NT.
• Windows Me : Microsoft meluncurkan Windows Me, versi terakhir dari Windows 95.
• China Goes Linux : Red Flag Linux diluncurkan dari Republik Rakyat China.
• Microsoft vs IBM : CEO Microsoft Steve Ballmer menyebut Linux sebagai kanker dalam
sebuah interview dengan Chicago SunTimes. Di lain pihak, CEO IBM Louis Gartsner
menyatakan dukungan pada Linux dengan menginvestasikan $ 1 milyar untuk
pengembangan Linux.
2001
2002
• Open Office : Program perkantoran berbasis Open Source diluncurkan oleh Sun
Microsystem.
• OS Lokal : OS buatan anak negeri berbasis Linux mulai bermunculan, diantaranya
Trustix Merdeka, WinBI, RimbaLinux, Komura.
2003
2004
• Ubuntu : Versi pertama Ubuntu diluncurkan dan didistribusikan ke seluruh dunia. Ada
beberapa versi distro yang dikeluarkan, yaitu Ubuntu (berbasis Gnome), Kubuntu
(berbasis KDE), Xubuntu (berbasis XFCE), dan Edubuntu (untuk pendidikan).
2005
• Unbreakable Linux : Oracle ikut membuat distro berbasis Linux yang diturunkan dari
Red Hat Enterprise.
• CHIPLux : Distro lokal terus bermunculan di tahun ini, bahkan Majalah CHIP yang lebih
banyak memberikan pembahasan tentang Windows juga tidak ketinggalan membuat
distro Linux dengan nama CHIPLux, yang diturunkan dari distro lokal PC LINUX
dari keluarga PCLinuxOS (varian Mandriva). CHIPLux merupakan distro lokal pertama
yang didistribusikan dalam format DVD.
2007
• Vista : Setelah tertunda untuk beberapa lama, Microsoft akhirnya meluncurkan Windows
Vista. Windows Vista memperkenalkan fitur 3D Desktop dengan Aero Glass, SideBar,
dan Flip 3D. Sayangnya semua keindahan ini harus dibayar mahal dengan kebutuhan
spesifikasi komputer yang sangat tinggi.
2008
Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditaruh pada
memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya
dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti
umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk,
manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software
tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan
oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut
dinamakan dengan "kernel" suatu Sistem Operasi.
Dalam banyak kasus, Sistem Operasi menyediakan suatu pustaka dari fungsi-fungsi
standar, dimana aplikasi lain dapat memanggil fungsi-fungsi itu, sehingga dalam setiap
pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut dari awal.
Sistem Operasi secara umum terdiri dari beberapa bagian:
Sebagai contoh, yang dimaksud sistem operasi itu antara lain adalah Windows, Linux, Free BSD,
Solaris, palm, symbian, dan sebagainya.
1. Keluarga Microsoft Windows - yang antara lain terdiri dari Windows Desktop
Environment (versi 1.x hingga versi 3.x), Windows 9x (Windows 95, 98, dan Windows
ME), dan Windows NT (Windows NT 3.x, Windows NT 4.0, Windows 2000, Windows
XP, Windows Server 2003, Windows Vista, Windows 7 (Seven) yang dirilis pada tahun
2009, dan Windows Orient yang akan dirilis pada tahun 2014)).
2. Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX,
keluarga BSD (Berkeley Software Distribution), GNU/Linux, MacOS/X (berbasis kernel
BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan GNU/Hurd.
3. Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Mac
atau Macintosh. Sistem operasi yang terbaru adalah Mac OS X versi 10.4 (Tiger). Awal
tahun 2007 direncanakan peluncuran versi 10.5 (Leopard).
Sedangkan komputer Mainframe, dan Super komputer menggunakan banyak sekali sistem
operasi yang berbeda-beda, umumnya merupakan turunan dari sistem operasi UNIX yang
dikembangkan oleh vendor seperti IBM AIX, HP/UX, dll.
1. DOS
DOS adalah singkatan dari Disk Operating System. DOS merujuk pada
perangkat sistem operasi yang digunakan di banyak komputer yang
menyediakan abstraksi dan pengelolaan perangkat penyimpan sekunder dan
informasinya. Misalnya penggunaan sistem file yang mengelola file-file yang ada
pada perangkat penyimpan. DOS biasanya dijalankan dari satu atau dua disc.
Hal ini karena pada masa DOS digunakan media penyimpan masih sangat
terbatas kemampuannya (paling besar mungkin hanya 1,4 Megabyte).
Ada banyak jenis DOS diantaranya Apple DOS, Commodore DOS, Atari
DOS dan lain-lain. Jenis ini sangat bergantung dengan jenis perangkat
komputernya. Jenis DOS yang paling terkenal adalah jenis DOS yang berjalan
pada mesin-mesin yang compatible dengan IBM Personal Computer.
Untuk menjalankan perintah-perintah sistem operasi, DOS menggunakan
perintah berbasis teks atau CLI. Setiap kali selesai mengetikkan suatu perintah,
kita harus menekan tombol ENTER untuk mengeksekusi perintah tersebut.
2. UNIX
UNIX adalah sistem operasi yang mula-mula dikembangkan oleh suatu
kelompok di AT & T pada laboatorium Bell. Unix banyak digunakan baik untuk
server maupun workstation. Linkungan Unix dan model program client-server
menunjukkan bahwa Unix lebih dikembangkan sebaga sistem operasi yang kuat
di jaringan komputer dari pada sistem operasi untuk computer personal.
UNIX dirancang untuk portable, multi-tasking, dan multi-user. Konsep
utama Unix antara lain banyak menggunakan file teks biasa untuk menyimpan
data, menggunakan sistem file berjenjang, memperlakukan perangkat sebagai
suatu file, dan menggunakan banyak program kecil yang eksekusinya pada CLI
dapat digabung dengan tanda pipeline (|). Pada Gambar 5.2 di atas, tampak
beberapa perintah UNIX yang digabung dengan pipeline. Konsep yang sangat
solid dan stabil membuat Unix banyak dijadikan dasar sistem operasi modern.
* Development Environment:
o cc —compiler untuk bahasa C
o as — machine-language assembler
o ld — linker, untuk menggabung file-file object
o lib — object-code libraries (diinstall di folder /lib atau /usr/lib) libc,
kumpulan pustaka untuk bahasa C
o make – program untuk mengkompilasi kode program
o include — file-file header untuk pengembangan perangkat lunak dan
menentukan standar interface
o Other languages — bahasa-bahasa pemrograman lain seperti
Fortran-77, Free Pascal, dan lain-lain.
* Commands:
o sh —"Shell" untuk melakukan pemrograman berbasis CLI atau
mengeksekusi perintah-perintah tertentu.
o Utilities — Sekumpulan perintah CLI yang berguna untuk fungsifungsi
yang bermacam-macam, meliputi:
1. System utilities — Program-program untuk pengelolaan
sistem seperti mkfs, fsck, dan lain-lain.
2. User utilities — Program-program untuk pengelolan
lingkungan kerja, seperti passwd, kill, dan lain-lain.
o Document formatting — Program untuk penyiapan dokumen seperti
nroff, troff, tbl, eqn, refer, dan pic. Beberapa sistem Unix modern
juga memasukkan aplikasi seperti TeX dan Ghostscript.
o Graphics — Sistem Unix modern menyediakan X11 sebagai sistem
standard windowing dan GUI.
3. Microsoft Windows
Micosoft Windows atau orang lebih sering menyebut Windows saja pada
awalnya hanyalah add-on dari MS-DOS karena tingginya tuntutan pada sistem
operasi yang berbasis GUI. Versi awal Windows berjalan di atas MS-DOS. Meski
demikian Windows versi awal telah menunjukkan beberapa fungsi-fungsi yang
umum dijumpai dalam sistem operasi, antara lain: memiliki tipe file executable
tersendiri, memiliki driver perangkat keras sendiri, dan lain-lain.
Secara konsep sebenarnya Windows lebih banyak ditujukan bagi
komputer personal. Pada awalnya Windows juga tidak mendukung konsep
multi-tasking dan multi-user. Akomodasi terhadap jaringan atau fungsi-fungsi
client-server juga tidak sekuat pada UNIX dan turunannya. Sehingga masalah
yang sering muncul di sistem operasi Windows adalah masalah keamanan yang
berhubungan dengan jaringan. Namun Windows memiliki kelebihan dari sisi
kemudahan pemakaian. Pada versi yang terbaru (Windows Vista) konsep multiuser
dan multi-tasking telah semakin matang. Selain itu tampilan GUI telah
dirubah dengan banyak menggunakan efek tiga dimensi.
4. Apple Mac OS
Seperti terlihat pada Gambar 5.10, Apple Mac OS merupakan turunan
dari UNIX melalui jalur BSD (Berkeley Software Distribution). Oleh karena itu
kekuatan dalam multi-tasking, multi-user, networking yang ada pada UNIX juga
dimiliki oleh Mac OS. Mac OS adalah sistem operasi berbasis GUI. Apple
merupakan pelopor dalam penggunaan GUI pada sistem operasi. Penggunaan
icon, mouse dan beberapa komponen GUI merupakan sumbangan yang luar
biasa bagi perkembangan sistem operasi berbasis GUI.
Versi awal dari Mac OS hampir secara penuh mengandalkan pada
kemampuan GUI-nya dan sangat membatasi penggunaan CLI (Gambar 5.15).
Meskipun sangat memudahkan namun ada beberapa kelemahan, antar lain:
multi-tasking yang tidak berjalan sempurna, pengelolaan memori yang terbatas,
dan konflik pada beberapa program yang ditanamkan. Memperbaiki sistem Mac
OS kadang-kadang menjadi suatu pekerjaan yang sangat melelahkan.
Pada Mac OS X (versi terbaru), semua kelemahan pada versi lama telah
coba dihilangkan. Multi-tasking telah berjalan dengan baik dan manajemen
memori yang jauh lebih baik. Selain itu tampilan GUI-nya disebut-sebut sebagai
yang terbaik di antara sistem operasi yang ada.
5. Linux
Linux sangat mirip dengan sistem-sistem UNIX, hal ini dikarenakan
kompatibilitas dengan UNIX merupakan tujuan utama desain dari proyek Linux.
Perkembangan Linux dimulai pada tahun 1991, ketika mahasiswa Finlandia
bernama Linus Torvalds menulis Linux, sebuah kernel untuk prosesor 80386,
prosesor 32-bit pertama dalam kumpulan CPU intel yang cocok untuk PC.
Dalam banyak hal, kernel Linux merupakan inti dari proyek Linux, tetapi
komponen lainlah yang membentuk secara komplit sistem operasi Linux. Dimana
kernel Linux terdiri dari kode-kode yang dibuat khusus untuk proyek Linux,
kebanyakan perangkat lunak pendukungnya tidak eksklusif terhadap Linux,
melainkan biasa dipakai dalam beberapa sistem operasi yang mirip UNIX.
Contohnya, sistem operasi BSD dari Berkeley, X Window System dari MIT, dan
proyek GNU dari Free Software Foundation.
Pembagian (sharing) alat-alat telah bekerja dalam dua arah. Sistem
perpustakaan utama Linux awalnya dimulai oleh proyek GNU, tetapi
perkembangan perpustakaannya diperbaiki melalui kerjasama dari komunitas
Linux terutama pada pengalamatan, ketidak efisienan, dan bugs. Komponen lain
seperti GNU C Compiler, gcc, kualitasnya sudah cukup tinggi untuk dipakai
langsung dalam Linux. Alat-alat administrasi network dibawah Linux berasal dari
kode yang dikembangkan untuk 4.3BSD, tetapi BSD yang lebih baru , salah
satunya FreeBSD, sebaliknya meminjam kode dari Linux, contohnya adalah
perpustakaan matematika Intel floating-point-emulation.
Saat ini, Linux merupakan salah satu sistem operasi yang
perkembangannya paling cepat. Kehadiran sejumlah kelompok pengembang,
tersebar di seluruh dunia, yang selalu memperbaiki segala fiturnya, ikut
membantu kemajuan sistem operasi Linux. Bersamaan dengan itu, banyak
pengembang yang sedang bekerja untuk memindahkan berbagai aplikasi ke
Linux (dapat berjalan di Linux).
Masalah utama yang dihadapi Linux dahulu adalah interface yang berupa
teks (text based interface). Ini membuat orang awam tidak tertarik
menggunakan Linux karena harus dipelajari terlebih dahulu dengan seksama
untuk dapat dimengerti cara penggunaannya (tidak user-friendly). Tetapi
keadaan ini sudah mulai berubah dengan kehadiran KDE dan GNOME. Keduanya
memiliki tampilan desktop yang menarik sehingga mengubah persepsi dunia
tentang Linux.
para arsitek sistem operasi mengembangkan kernel sistem operasi yang pada akhirnya terbagi
menjadi empat bagian yang secara desain berbeda, sebagai berikut:
• Kernel monolitik. Kernel monolitik mengintegrasikan banyak fungsi di dalam kernel dan
menyediakan lapisan abstraksi perangkat keras secara penuh terhadap perangkat keras yang
berada di bawah sistem operasi.
• Mikrokernel. Mikrokernel menyediakan sedikit saja dari abstraksi perangkat keras dan
menggunakan aplikasi yang berjalan di atasnya—yang disebut dengan server—untuk melakukan
beberapa fungsionalitas lainnya.
• Kernel hibrida. Kernel hibrida adalah pendekatan desain microkernel yang dimodifikasi. Pada
hybrid kernel, terdapat beberapa tambahan kode di dalam ruangan kernel untuk meningkatkan
performanya.
• Exokernel. Exokernel menyediakan hardware abstraction secara minimal, sehingga program
dapat mengakses hardware secara langsung. Dalam pendekatan desain exokernel, library yang
dimiliki oleh sistem operasi dapat melakukan abstraksi yang mirip dengan abstraksi yang
dilakukan dalam desain monolithic kernel.
Kernel monolitik
Pendekatan kernel monolitik didefinisikan sebagai sebuah antarmuka virtual yang berada pada
tingkat tinggi di atas perangkat keras, dengan sekumpulan primitif atau system call untuk
mengimplementasikan layanan-layanan sistem operasi, seperti halnya manajemen proses,
konkurensi (concurrency), dan manajemen memori pada modul-modul kernel yang berjalan di
dalam mode supervisor.
Meskipun jika setiap modul memiliki layanan operasi-operasi tersebut terpisah dari modul
utama, integrasi kode yang terjadi di dalam monolithic kernel sangatlah kuat, dan karena semua
modul berjalan di dalam address space yang sama, sebuah bug dalam salah satu modul dapat
merusak keseluruhan sistem. Akan tetapi, ketika implementasi dilakukan dengan benar, integrasi
komponen internal yang sangat kuat tersebut justru akan mengizinkan fitur-fitur yang dimiliki
oleh sistem yang berada di bawahnya dieksploitasi secara efektif, sehingga membuat sistem
operasi dengan monolithic kernel sangatlah efisien—meskipun sangat sulit dalam pembuatannya.
Pada sistem operasi modern yang menggunakan monolithic kernel, seperti halnya Linux,
FreeBSD, Solaris, dan Microsoft Windows, dapat memuat modul-modul yang dapat dieksekusi
pada saat kernel tersebut dijalankan sehingga mengizinkan ekstensi terhadap kemampuan kernel
sesuai kebutuhan, dan tentu saja dapat membantu menjaga agar kode yang berjalan di dalam
ruangan kernel (kernel-space) seminim mungkin.
Di bawah ini ada beberapa sistem operasi yang menggunakan Monolithic kernel:
• Kernel sistem operasi UNIX tradisional, seperti halnya kernel dari sistem operasi UNIX keluarga
BSD (NetBSD, BSD/I, FreeBSD, dan lainnya).
• Kernel sistem operasi GNU/Linux, Linux.
• Kernel sistem operasi Windows (versi 1.x hingga 4.x; kecuali Windows NT).
Mikrokernel
Pendekatan mikrokernel berisi sebuah abstraksi yang sederhana terhadap hardware, dengan
sekumpulan primitif atau system call yang dapat digunakan untuk membuat sebuah sistem
operasi agar dapat berjalan, dengan layanan-layanan seperti manajemen thread, komunikasi antar
address space, dan komunikasi antar proses. Layanan-layanan lainnya, yang biasanya disediakan
oleh kernel, seperti halnya dukungan jaringan, pada pendekatan microkernel justru
diimplementasikan di dalam ruangan pengguna (user-space), dan disebut dengan server.
Server atau disebut sebagai peladen adalah sebuah program, seperti halnya program lainnya.
Server dapat mengizinkan sistem operasi agar dapat dimodifikasi hanya dengan menjalankan
program atau menghentikannya. Sebagai contoh, untuk sebuah mesin yang kecil tanpa dukungan
jaringan, server jaringan (istilah server di sini tidak dimaksudkan sebagai komputer pusat
pengatur jaringan) tidak perlu dijalankan. Pada sistem operasi tradisional yang menggunakan
monolithic kernel, hal ini dapat mengakibatkan pengguna harus melakukan rekompilasi terhadap
kernel, yang tentu saja sulit untuk dilakukan oleh pengguna biasa yang awam.
Dalam teorinya, sistem operasi yang menggunakan microkernel disebut jauh lebih stabil
dibandingkan dengan monolithic kernel, karena sebuah server yang gagal bekerja, tidak akan
menyebabkan kernel menjadi tidak dapat berjalan, dan server tersebut akan dihentikan oleh
kernel utama. Akan tetapi, dalam prakteknya, bagian dari system state dapat hilang oleh server
yang gagal bekerja tersebut, dan biasanya untuk melakukan proses eksekusi aplikasi pun menjadi
sulit, atau bahkan untuk menjalankan server-server lainnya.
Sistem operasi yang menggunakan microkernel umumnya secara dramatis memiliki kinerja di
bawah kinerja sistem operasi yang menggunakan monolithic kernel. Hal ini disebabkan oleh
adanya overhead yang terjadi akibat proses input/output dalam kernel yang ditujukan untuk
mengganti konteks (context switch) untuk memindahkan data antara aplikasi dan server.
Kernel hibrida
Kernel hibrida aslinya adalah mikrokernel yang memiliki kode yang tidak menunjukkan bahwa
kernel tersebut adalah mikrokernel di dalam ruangan kernel-nya. Kode-kode tersebut ditaruh di
dalam ruangan kernel agar dapat dieksekusi lebih cepat dibandingkan jika ditaruh di dalam
ruangan user. Hal ini dilakukan oleh para arsitek sistem operasi sebagai solusi awal terhadap
masalah yang terjadi di dalam mikrokernel: kinerja.
Beberapa orang banyak yang bingung dalam membedakan antara kernel hibrida dan kernel
monolitik yang dapat memuat modul kernel setelah proses booting, dan cenderung
menyamakannya. Antara kernel hibrida dan kernel monolitik jelas berbeda. Kernel hibrida
berarti bahwa konsep yang digunakannya diturunkan dari konsep desain kernel monolitik dan
mikrokernel. Kernel hibrida juga memiliki secara spesifik memiliki teknologi pertukaran pesan
(message passing) yang digunakan dalam mikrokernel, dan juga dapat memindahkan beberapa
kode yang seharusnya bukan kode kernel ke dalam ruangan kode kernel karena alasan kinerja.
Di bawah ini adalah beberapa sistem operasi yang menggunakan kernel hibrida:
• BeOS, sebuah sistem operasi yang memiliki kinerja tinggi untuk aplikasi multimedia.
• Novell NetWare, sebuah sistem operasi yang pernah populer sebagai sistem operasi jaringan
berbasis IBM PC dan kompatibelnya.
• Microsoft Windows NT (dan semua keturunannya).
Exokernel
Sebenarnya, Exokernel bukanlah pendekatan kernel sistem operasi yang umum—seperti halnya
microkernel atau monolithic kernel yang populer, melainkan sebuah struktur sistem operasi yang
disusun secara vertikal.
Ide di balik exokernel adalah untuk memaksa abstraksi yang dilakukan oleh developer sesedikit
mungkin, sehingga membuat mereka dapat memiliki banyak keputusan tentang abstraksi
hardware. Exokernel biasanya berbentuk sangat kecil, karena fungsionalitas yang dimilikinya
hanya terbatas pada proteksi dan penggandaan sumber daya.
Kernel-kernel klasik yang populer seperti halnya monolithic dan microkernel melakukan
abstraksi terhadap hardware dengan menyembunyikan semua sumber daya yang berada di bawah
hardware abstraction layer atau di balik driver untuk hardware. Sebagai contoh, jika sistem
operasi klasik yang berbasis kedua kernel telah mengalokasikan sebuah lokasi memori untuk
sebuah hardware tertentu, maka hardware lainnya tidak akan dapat menggunakan lokasi memori
tersebut kembali.
Exokernel mengizinkan akses terhadap hardware secara langsung pada tingkat yang rendah:
aplikasi dan abstraksi dapat melakukan request sebuah alamat memori spesifik baik itu berupa
lokasi alamat physical memory dan blok di dalam hard disk. Tugas kernel hanya memastikan
bahwa sumber daya yang diminta itu sedang berada dalam keadaan kosong—belum digunakan
oleh yang lainnya—dan tentu saja mengizinkan aplikasi untuk mengakses sumber daya tersebut.
Akses hardware pada tingkat rendah ini mengizinkan para programmer untuk
mengimplementasikan sebuah abstraksi yang dikhususkan untuk sebuah aplikasi tertentu, dan
tentu saja mengeluarkan sesuatu yang tidak perlu dari kernel agar membuat kernel lebih kecil,
dan tentu saja meningkatkan performa.
Exokernel biasanya menggunakan library yang disebut dengan libOS untuk melakukan abstraksi.
libOS memungkinkan para pembuat aplikasi untuk menulis abstraksi yang berada pada level
yang lebih tinggi, seperti halnya abstraksi yang dilakukan pada sistem operasi tradisional, dengan
menggunakan cara-cara yang lebih fleksibel, karena aplikasi mungkin memiliki abstraksinya
masing-masing. Secara teori, sebuah sistem operasi berbasis Exokernel dapat membuat sistem
operasi yang berbeda seperti halnya Linux, UNIX, dan Windows dapat berjalan di atas sistem
operasi tersebut.