Kernel Linux
Desintha Ratna Wardani1, Ria Malindasari2,
Yesi Yunita3, Yunianingsih Laila4
Kernel Linux
Kernel Linux
adalah kernel yang digunakan dalam sistem operasi GNU/Linux. Kernel ini
merupakan turunan dari keluarga sistem operasi UNIX, dirilis dengan menggunakan
lisensi GNU General Public License (GPL), dan dikembangkan oleh pemrogram di
seluruh dunia. Linux merupakan contoh utama dari perangkat lunak bebas dan
sumber terbuka.
Linux pada
awalnya dibuat oleh seorang mahasiswa Finlandia yang bernama Linus Torvalds.
Dulunya Linux merupakan proyek hobi yang diinspirasikan dari Minix, yaitu
sistem UNIX kecil yang dikembangkan oleh Andrew Tanenbaum. Linux versi 0.01
dikerjakan sekitar bulan Agustus 1991. Kemudian pada tanggal 5 Oktober 1991, Linus
mengumumkan versi resmi Linux, yaitu versi 0.02 yang hanya dapat menjalankan
shell bash (GNU Bourne Again Shell) dan gcc (GNU C Compiler).
Saat ini Linux
adalah sistem UNIX yang sangat lengkap, bisa digunakan untuk jaringan,
pengembangan software dan bahkan untuk pekerjaan sehari-hari. Linux sekarang
merupakan alternatif sistem operasi yang jauh lebih murah jika dibandingkan
dengan sistem operasi komersial (misalnya Windows 9.x/NT/2000/ME). Linux
mempunyai perkembangan yang sangat cepat. Hal ini dapat dimungkinkan karena
Linux dikembangkan oleh beragam kelompok orang. Keragaman ini termasuk tingkat
pengetahuan, pengalaman serta geografis. Agar kelompok ini dapat berkomunikasi
dengan cepat dan efisien, internet menjadi pilihan yang sangat tepat.
Karena kernel
Linux dikembangkan dengan usaha yang independent, banyak aplikasi yang
tersedia, sebagai contoh, ,C Compiler menggunakan gcc dari Free Software
Foundation GNU’s Project. Compiler ini banyak digunakan pada lingkungan
Hewlett-Packard dan Sun.
Sekarang ini, banyak aplikasi Linux yang dapat digunakan untuk keperluan kantor
seperti untuk spreadsheet, word processor, database dan program editor grafis
yang memiliki fungsi dan tampilan seperti Microsoft Office, yaitu Star Office.
Selain itu, juga sudah tersedia versi Corel untuk Linux dan aplikasi seperti
Matlab yang pada Linux dikenal sebagai Scilab.
Linux bisa
didapatkan dalam berbagai distribusi (sering disebut Distro). Distro adalah
bundel dari kernel Linux, beserta sistem dasar linux, program instalasi, tools
basic, dan program-program lain yang bermanfaat sesuai dengan tujuan pembuatan
distro. Ada banyak sekali distro Linux, diantaranya :
RedHat, distribusi yang paling populer, minimal di Indonesia. RedHat merupakan
distribusi pertama yang instalasi dan pengoperasiannya mudah.
Debian, distribusi yang mengutamakan kestabilan dan kehandalan, meskipun
mengorbankan aspek kemudahan dan kemutakhiran program. Debian menggunakan .deb
dalam paket instalasi programnya.
Slackware,
merupakan distribusi yang pernah merajai di dunia Linux. Hampir semua
dokumentasi Linux disusun berdasarkan Slackware. Dua hal penting dari Slackware
adalah bahwa semua isinya (kernel, library ataupun aplikasinya) adalah yang
sudah teruji. Sehingga mungkin agak tua tapi yang pasti stabil. Yang kedua
karena dia menganjurkan untuk menginstall dari source sehingga setiap program
yang kita install teroptimasi dengan sistem kita. Ini alasannya dia tidak mau
untuk menggunakan binary RPM dan sampai Slackware 4.0, ia tetap menggunakan
libc5 bukan glibc2 seperti yang lain.
SuSE,
distribusi yang sangat terkenal dengan YaST (Yet another Setup Tools) untuk
mengkonfigurasi sistem. SuSE merupakan distribusi pertama dimana instalasinya
dapat menggunakan bahasa Indonesia.
Mandrake,
merupakan varian distro RedHat yang dioptimasi untuk pentium. Kalau komputer
kita menggunakan pentium ke atas, umumnya Linux bisa jalan lebih cepat dengan
Mandrake.
WinLinux, distro yang dirancang untuk diinstall di atas partisi DOS (WIndows).
Jadi untuk menjalankannya bisa di-klik dari Windows. WinLinux dibuat
seakan-akan merupakan suatu program aplikasi under Windows.
Dan masih banyak distro-distro lainnya yang telah tersedia maupun yang akan
muncul.
Kelebihan Linux
Di sini akan
dijelaskan beberapa kelebihan dari sistem operasi Linux/UNIX dibandingkan
dengan dengan sistem operasi yang lain. Dan berikut ini adalah beberapa fakta
dari hal-hal yang menguntungkan dengan menggunakan program dan file-file Linux/UNIX
:
Pada
dasarnya semua data tersimpan di dalam harddisk walau ada beberapa kondisi
dimana data tersimpan di disket. Linux/UNIX memberikan beberapa proses spesial
dimana terminal, printer dan device. hardware lainnya dapat diakses seperti
kita mengakses file yang tersimpan dalam harddisk atau disket.
Ketika program
dijalankan, program tersebut dijalankan dari harddisk ke dalam RAM dan setelah
dijalankan akan dinamakan sebagai proses.
Linux/UNIX
menyediakan servis untuk membuat, memodifikasi program, proses dan file.
Linux/UNIX mendukung struktur file yang bersifat hirarki.
Linux/UNIX
adalah salah satu sistem operasi yang termasuk ke dalam kelas sistem operasi
yang dapat melakukan multitasking. Multitasking sendiri adalah keadaan dimana
suatu sistem operasi dapat melakukan banyak kerjaan pada saat yang bersamaan.
Selain
multitasking, Linux/UNIX juga dapat mendukung multiuser. Yaitu sistem operasi
yang pada saat bersamaan dapat digunakan oleh lebih dari satu user yang masuk
ke dalam sistem. Bahkan untuk Linux juga mendukung untuk multiconsole dimana
pada saat bersamaan di depan komputer langsung tanpa harus melalui jaringan dan
memungkinkan lebih dari satu user masuk ke dakam sistem.
Kekurangan Linux
Banyak pengguna
yang belum terbiasa dengan Linux dan masih ‘Windows minded’, takut untuk
beralih dari Windows.
Dukungan
perangkat keras dari vendor-vendor tertentu yang tidak terlalu baik pada Linux.
Untuk mencari daftar perangkat keras yang didukung pada Linux, kita dapat
melihatnya di Linux-Drivers.org atau LinuxHardware.org.
Proses instalasi
software / aplikasi yang tidak semudah di Windows. Instalasi software di Linux,
akan menjadi lebih mudah bila terkoneksi ke internet atau bila mempunyai CD /
DVD repository-nya. Bila tidak, maka kita harus men-download satu per satu
package yang dibutuhkan beserta dependencies-nya.
Bagi
administrator sistem yang belum terbiasa dengan Unix-like (seperti Linux), maka
mau tidak mau harus mempelajari hal ini. Sehingga syarat untuk menjadi
administrator adalah manusia yang suka belajar hal-hal baru dan terus-menerus
belajar.
Aplikasi-aplikasi
di Linux belum seampuh aplikasi di Windows.
Struktur direktori dan hak-akses yang membingungkan bagi yang sudah terbiasa
dengan Windows dan belum mengenal UNIX/Linux sama sekali.
Pengenalan
Linux
Kata
"Linux" untuk saat ini sudah tidak asing lagi bagi para pengguna
internet dan komunitas mahasiswa yang memiliki hobby untuk mencoba
software-software baru. Secara teknis dan singkat dapat dikatakan, Linux adalah
suatu system operasi yang bersifat multi user dan multi tasking, yang dapat
berjalan di berbagai platform termasuk prosesor Intel 386 maupun yang lebih
tinggi. Sistem operasi ini mengimplementasikan standar POSIX. Linux dapat
berinteroperasi secara baik dengan sistem operasi yang lain, termasuk Apple,
Microsoft dan Novell.
Nama Linux
sendiri diturunkan dari pencipta awalnya, Linus Torvalds, yang sebetulnya
mengacu pada suatu kumpulan software lengkap yang bersama-sama dengan kernel
menyusun suatu sistem operasi yang lengkap. Lingkungan sistem operasi ini
mencakup ratusan program, termasuk kompiler, interpreter, editor dan utilitas.
Perangkat bantu yang mendukung konektifitas, ethernet, SLIP dan PPP dan
interoperabilitas. Produk perangkat lunak yang handal (reliable), termasuk
versi pengembangan terakhir. Kelompok pengembang yang tersebar di seluruh dunia
yang telah bekerja dan menjadikan Linux portabel ke suatu platform baru, begitu
juga mendukung komunitas pengguna yang memiliki beragam kebutuhan dan juga
pengguna dapat turut serta bertindak sebagai tim pengembang sendiri.
- Perbedaan Mendasar Linux
Satu hal yang membedakan Linux terhadap sistem operasi lainnya adalah
harga. Linux ini lebih murah dan dapat diperbanyak serta didistribusikan
kembali tanpa harus membayar fee atau royalti kepada seseorang. Tetapi ada hal
lain yang lebih utama selain pertimbangan harga yaitu mengenai source code.
Source code Linux tersedia bagi semua orang sehingga setiap orang dapat
terlibat langsung dalam pengembangannya. Kebebasan ini telah memungkinkan para
vendor perangkat keras membuat driver untuk device tertentu tanpa harus
mendapatkan lisensi source code yang mahal atau menandatangani Non Disclosure
Agreement (NDA). Dan itu juga telah menyediakan kemungkinan bagi setiap orang
untuk melihat ke dalam suatu sistem operasi yang nyata dan berkualitas
komersial. Karena Linux itu tersedia secara bebas di internet, berbagai vendor
telah membuat suatu paket distrbusi yang dapat dianggap sebagai versi kemasan
Linux. Paket ini termasuk lingkungan Linux lengkap, penagkat lunak untuk
instalasi dan mungkin termasuk perangkat lunak khusus dan dukungan khusus
- Perbedaan Linux Terhadap Sistem Operasi
Lainnya
Linux
disusun berdasarkan standar sistem operasi POSIX yang sebenarnya diturunkan
berdasarkan fungsi kerja UNIX. UNIX kompatibel dengan Linux pada level system
call, ini berarti sebagian besar program yang ditulis untuk UNIX atau Linux
dapat direkompilasi dan dijalankan pada sistem lain dengan perubahan yang
minimal. Secara umum dapat dikatakan Linux berjalan lebih cepat dibanding UNIX
lain pada hardware yang sama. Dan lagi UNIX memiliki kelemahan yaitu tidak
bersifat free.
MS-DOS
memiliki kemiripan dengan Linux yaitu file sistem yang bersifat hirarkis.
Tetapi MS-DOS hanya dapat dijalankan pada prosesor x86 dan tidak mendukung
multi user dan multi tasking, serta tidak bersifat free. Juga MSDOS tidak
memiliki dukungan yang baik agar dapat berinteroperasi dengan sistem operasi
lainnya, termasuk tidak tersedianya perangkat lunak network, program pengembang
dan program utilitas yang ada dalam Linux.
MSWindows menawarkan
kemampuan grafis yang ada pada Linux termasuk kemampuan networking tetapi tetap
memiliki kekurangan yang ada pada MS-DOS. Windows NT yang juga tersedia untuk
Digital Alpha selain prosesor x86. Namun Windows NT ini masih juga memiliki
beberapa kekurangan yang telah ada pada MS-DOS.Waktu untuk menemukan suatu bug
dalam suatu system operasi ini tak sebanding dengan harga yang harus dibayar.
Sistem operasi Apple untuk Macintosh hanya dapat berjalan di sistem
Mac. Juga memiliki kekurangan dari sisi ketersediaan perangkat bantu pengembang
(development tool) dan juga kurang dapat secara mudah untuk berintoperasi
dengan sistem operasi lainnya. Apple juga telah memungkinkan Linux dapat
dijalankan pada PowerMac.
Macam-macam Kernel
ร Monolithic
Kernel/Kernel Monolitik
Pendekatan monolithic kernel 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.
Dengan Kernel monolitik lebih baik dari segi
security, sebuah kernel builtin (monolitik) akan relatif aman. Namun dari segi
kemudahan, jika kita menambah atau mengganti suatu hardware, maka otomatis
harus mengkompilasi ulang kernel .Namun demikian, skema kernel bagaimana yang
lebih sesuai, itu bisa diklarifikasi sesuai kebutuhan dan implementasi sistem
yang digunakan. Jika kernel monolitik ingin di jadikan modular, itu bisa
dilakukan oleh dari kernel monolitik, dengan cara setelah konfigurasi
ditetapkan dalam kernel monolitik dan di kompilasi maka dapat di ambil,
bagian-bagian mana saja yang akan dipisahkan untuk dijadikan modul-modul.
Kernel monolitik merupakan suatu arsitektur
kernel yang melingkupi keseluruhan dari sistem operasi untuk berjalan pada
ruang kernel dalam modus supervisor. Berbeda dengan arsitektur kernel lainnya
(mikrokernel, kernel hibrida), kernel monolitik menyediakan layananan virtual
atas perangkat keras secara penuh pada level tingkat tinggi, disertai dengan
serangkaian layanan pada level tingkat bawah yang bersifat primitif sebagai
layanan basis sistem operasi seperti manajemen proses, konkurensi, dan manajemen
ingatan dalam satu atau beberapa modul.
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).
ร Microkernel
Pendekatan Microkernel 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 pendekatanmicrokernel justru
diimplementasikan di dalam ruangan pengguna (user-space), dan disebut dengan server.
Server 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 menggunakanmicrokernel disebut jauh lebih
stabil dibandingkan dengan monolithic
kernel, karena sebuah server yang
gagal bekerja, tidak akan menyebabkan kernelmenjadi 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 microkernelumumnya secara dramatis
memiliki kinerja di bawah kinerja sistem operasi yang menggunakan monolithic kernel. Hal ini disebabkan
oleh adanya overheadyang
terjadi akibat proses input/output dalam kernelyang ditujukan untuk mengganti konteks (context switch) untuk memindahkan
data antara aplikasi dan server.
Beberapa
sistem operasi yang menggunakan microkernel:
·
IBM AIX, sebuah versi UNIX
dari IBM
·
Amoeba, sebuah kernel yang
dikembangkan untuk tujuan edukasi
·
Kernel Mach, yang digunakan di
dalam sistem operasi GNU/Hurd, NexTSTEP, OPENSTEP, dan Mac OS/X
·
Minix, kernel yang
dikembangkan oleh Andrew Tanenbaum untuk tujuan edukasi
·
Symbian OS, sebuah sistem
operasi yang populer digunakan pada hand phone, handheld device, embedded device,
dan PDA Phone.
ร Rancangan Mikrokernel
Pada pembahasan di atas sempat disinggung
istilah "kernel". Apakah kernel itu? Kernel adalah komponen sentral
dari sistem operasi. Ia mengatur hal-hal seperti interrupt handler(untuk
menyediakan layanan interupsi), process scheduler(membagi-bagi proses dalam
prosesor), memory management, I/O, dan sebagainya. Atau dengan kata lain, ia
adalah jembatan antara hardware dengan software. Cara tradisional untuk
membangun sistem operasi adalah dengan membuat kernel monolitis, yaitu semua
fungsi disediakan oleh kernel, dan ini menjadikan kernel suatu program yang
besar dan kompleks. Cara yang lebih modern, adalah dengan menggunakan
kernel mikro. Pada awalnya, konsep mikro kernel dikembangkan pada sistem operasi
Mach. Ide dasar dari pengembangan kernel mikro adalah bahwa hanya fitur-fitur
yang perlu saja yang diimplementasikan dalam kernel (mengenai fitur-fitur apa
saja yang perlu diimplementasikan, ini bisa berbeda tergantung desain sistem
operasi).
Walaupun garis pembatas mengenai apa
saja yang berada di dalam dan luar kernel mikro bisa berbeda antara desain yang
satu dengan yang lain, namun ada karakteristik yang umum, yaitu servis-servis
yang umumnya menjadi bagian sistem operasi menjadi subsistem eksternal yang
bisa berinteraksi satu sama lain dan dengan kernel tentunya. Ini mencakup
device driver, file system, virtual memory manager, windowing system, dan
security devices. Pendekatan kernel mikro menggantikan pendekatan berlapis yang
vertikal tradisional. Komponen-komponen sistem operasi yang berada di luar
kernel mikro diimplementasikan sebagai server process dan berkomunikasi dengan
message passing via kernel mikro. Misalnya jika user ingin membuat berkas baru,
dia mengirim pesan ke file system server, atau jika ingin membuat proses baru,
dia mengirimkan pesan ke process server.
ร Kelebihan
MikroKernel:
·
Interface yang seragam. Proses
tidak lagi dibedakan, baik antara kernel-level maupun user-level, karena
semuanya berkomunikasi via message passing.
·
Extensibility. Bisa
menambahkan fitur-fitur baru tanpa perlu melakukan kompilasi ulang.
·
Flexibility . Fitur-fitur yang
sudah ada bisa dikurangi, atau dimodifikasi sesuai dengan kebutuhan sehingga
menjadi lebih efisien. Misalnya tidak semua pengguna membutuhkan security yang
sangat ketat, atau kemampuan untuk melakukan distributed computing.
·
Portability . Pada kernel
mikro, semua atau sebagian besar kode yang prosesor-spesifik berada di
dalamnya. Jadi, proses porting ke prosesor lain bisa dilakukan dengan relatif
sedikit usaha. Pada kelompok desktop misalnya, tampaknya dominasi Intel makin
kuat. Tapi, sampai seberapa lama itu bisa bertahan? Karena itulah, portability
adalah salah satu isu yang sangat penting
·
Reliability . Semakin besar
suatu software, maka tentulah semakin sulit untuk menjamin reliability-nya.
Desain dengan pendekatan berlapis sangatlah membantu, dan dengan pendekatan
kernel mikro bisa lebih lagi. Kernel mikro dapat dites secara ekstensif .Karena
dia menggunakan API yang sedikit, maka bisa meningkatkan kualitas code di luar
kernel.
·
Support for object-oriendted
OS. Model kernel mikro sangat sesuai untuk mengembangkan sistem operasi yang
berbasis object-oriented. Contoh sistem operasi yang menggunakan kernel mikro
adalah TRU64 UNIX, MacOSX, dan QNX.
ร Hybrid
Kernel/Kernel hibrida
Hybrid
kernel aslinya adalah microkernel yang
memiliki kode yang tidak menunjukkan bahwa kernel tersebut adalah microkernel di dalam
ruangan kernel-nya.
Kode-kode tersebut ditaruh di dalam ruangankernel 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 microkernel:
kinerja.
Beberapa
orang banyak yang bingung dalam membedakan antara Hybrid kernel dan monolithic kernel yang dapat memuat modul kernel setelah
proses booting, dan cenderung menyamakannya. Antara hybrid kernel dan monolithic kernel jelas berbeda.
Hybrid
kernel berarti bahwa konsep yang digunakannya diturunkan dari konsep desainmonolithic kernel dan microkernel. Hybrid kerneljuga memiliki secara
spesifik memiliki teknologi pertukaran pesan (message passing) yang digunakan dalam microkernel, 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 Hybrid
kernels:
·
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.
Daftar Pustaka
Desintha Ratna
Wardani. 11110841, Ria
Malindasari. 15110850, Yesi Yunita. 18110626, Yunianingsih Laila. 18110775
KERNEL LINUX
Jurnal. Jurusan
Sistem Informasi, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas
Gunadarma, 2013.
Kata Kunci : Kernel Linux, UNIX, GNU.
(11 halaman)
Kernel Linux adalah kernel yang digunakan dalam sistem
operasi GNU/Linux. Kernel ini merupakan turunan dari keluarga sistem operasi
UNIX, dirilis dengan menggunakan lisensi GNU General Public License (GPL), dan
dikembangkan oleh pemrogram di seluruh dunia. Linux merupakan contoh utama dari
perangkat lunak bebas dan sumber terbuka.
Linux pada awalnya dibuat
oleh seorang mahasiswa Finlandia yang bernama Linus Torvalds. Dulunya Linux
merupakan proyek hobi yang diinspirasikan dari Minix, yaitu sistem UNIX kecil
yang dikembangkan oleh Andrew Tanenbaum. Linux versi 0.01 dikerjakan sekitar
bulan Agustus 1991. Kemudian pada tanggal 5 Oktober 1991, Linus mengumumkan
versi resmi Linux, yaitu versi 0.02 yang hanya dapat menjalankan shell bash
(GNU Bourne Again Shell) dan gcc (GNU C Compiler).
Daftar Pustaka :
(2010)