Anda di halaman 1dari 20

MAKALAH SISTEM OPERASI

Judul : Kernel
Dosen : Tb Dedy Fuady , ST, MM

Disusun Oleh :
Kelompok 10
Nama : Faiki

Nama : Budiman

Nama :M Furqon

UNIVERSITAS BANTEN JAYA


FAKULTAS ILMU KOMPUTER TEKNIK INFORMATIKA
Kata pengantar
Segala puji bagi Allah SWT. yang telah memberikan kami kemudahan
sehingga dapat menyelesaikan makalah ini. Tanpa pertolongan-Nya mungkin
penyusun tidak akan sanggup menyelesaikannya dengan baik. Shalawat dan salam
semoga terlimpah curahkan kepada baginda tercinta kita yakni Nabi Muhammad
SAW.
Makalah ini disusun dan dibuat berdasarkan materi-materi yang ada dan
kami sajikan berdasarkan pengamatan dari berbagai sumber. Makalah yang
berjudul “Kernel” ini pun bertujuan agar dapat menambah pengetahuan dan
wawasan Mahasiswa/i, serta agar dapat memahami secara menyeluruh pentingnya
memahami Kernel dan dapat diaplikasikan dengan baik. Walaupun makalah ini
tidak sempurna dan memerlukan perbaikan tapi juga memiliki detail yang cukup
jelas bagi pembaca.
Penyusun juga mengucapkan terima kasih kepada Dosen Sistem Operasi
yakni Bapak Keukeu Rohendi, S.Kom, M.Kom. yang telah membimbing
penyusun agar dapat mengerti tentang bagaimana cara menyusun makalah yang
baik dan sesuai kaidah.
Semoga makalah ini dapat memberikan pengetahuan yang lebih luas
kepada pembaca. Walaupun makalah ini memiliki kelebihan dan kekurangan.
Penyusun membutuhkan kritik dan saran dari pembaca yang membangun. Atas
perhatian dan partisipasi dari Bapak dan Ibu dosen serta teman-teman sekalian,
penyusun mengucapkan terima kasih.

Padang,30 desember2019

Penyusun.Kelompok I0
KATA PENGANTAR ........................................................................................... i
DAFTAR ISI ......................................................................................................... ii
PEMBAHASAN ....................................................................................................1
A. Definisi Kernel ............................................................................................1
B. Fungsi Kernel ..............................................................................................3
C. Kategori Kernel ...........................................................................................5
D. Sejarah Kernel ............................................................................................10
E. Konsep Kernel ...........................................................................................12
F. Struktur Kernel ..........................................................................................13
G. Kedudukan Kernel dalam Sistem Operasi .................................................13
PENUTUP .............................................................................................................14
A. Kesimpulan ................................................................................................14
B. Kritik dan Saran .........................................................................................14
DAFTAR PUSTAKA
PEMBAHASAN

A. Definisi Kernel
Kernel merupakan jantung dari sistem operasi. Semua proses input dan
output yang berlangsung selama komputer berjalan diatur oleh kernel, seperti
pembacaan dan penulisan terhadap disk, manajemen memory, dan penjadwalan
program aplikasi.1
Kernel merupakan program komputer yang mengatur permintaan akan
input/output dari perangkat lunak, dan menerjemahkannya ke dalam instruksi-
instruksi pada CPU, ataupun komponen elektronik lainnya dalam sebuah
komputer. Kernel merupakan bagian yang sangat mendasar pada sistem operasi
komputer masa kini. Karena akses terhadap perangkat keras terbatas, sedangkan
ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan,
maka kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program
dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan
sebagai multiplexing.
Akses kepada perangkat keras secara langsung merupakan masalah yang
kompleks, oleh karena itu kernel biasanya mengimplementasikan
sekumpulan abstraksi hardware. Abstraksi-abstraksi tersebut merupakan sebuah
cara untuk menyembunyikan kompleksitas, dan memungkinkan akses kepada
perangkat keras menjadi mudah dan seragam. Sehingga abstraksi pada akhirnya
memudahkan pekerjaan programer.
Pada dasarnya, untuk menjalankan sebuah komputer tidak harus
menggunakan kernel sistem operasi. Sebuah program dapat saja langsung
dijalankan oleh komputer, yaitu saat sebuah program komputer akan digunakan
tanpa bantuan abstraksi perangkat keras atau bantuan sistem operasi. Teknik ini
umumnya digunakan oleh komputer-komputer generasi awal, sehingga bila ingin
berpindah dari satu program ke program lain, pengguna harus mereset dan
menjalankan kembali program-program tersebut.2
Adapun definisi dari lain Kernel :
 Kernel merupakan Sebuah perangkat yang berfungsi sebagai mediator atau
sebuah perangkat yang membuat komunikasi antara perangkat lunak dan
perangkat keras komputer.
 Kernel adalah sebuah perangkat yang menyediakan pelayanan terhadap sistem
seperti pengaturan memori untuk proses yang sedang berjalan, pengaturan file
dan pengaturan inpu dan output pada komputer.3

gambar: struktur kerja Kernel Sistem Operasi4

Sebuah kernel sistem operasi tidak bisa dicontoh dan dibutuhkan untuk
menjalankan sebuah komputer. Program dapat langsung dijalankan secara
langsung di dalam sebuah mesin (contohnya adalah CMOS Setup) sehingga para
pembuat program tersebut membuat program tanpa adanya dukungan dari sistem
operasi atau hardware abstraction. Cara kerja seperti ini, adalah cara kerja yang
digunakan pada zaman awal-awal dikembangkannya komputer (pada sekitar tahun
1950). Kerugian dari diterapkannya metode ini adalah pengguna harus melakukan
reset ulang komputer tersebut dan memuatkan program lainnya untuk berpindah
program, dari satu program ke program lainnya.

Selanjutnya, para pembuat program tersebut membuat beberapa komponen


program yang sengaja ditinggalkan di dalam komputer, seperti
halnya loader atau debugger, atau dimuat dari dalam ROM (Read-Only Memory).
Seiring dengan perkembangan zaman komputer yang mengalami akselerasi yang
signifikan, metode ini selanjutnya membentuk apa yang disebut dengan kernel
sistem operasi.5
B. Fungsi Kernel
Fungsi utama kernel adalah untuk mengelola sumber daya komputer dan
memungkinkan program lain untuk menjalankan dan menggunakan sumber daya
koputer tersebut. Untuk menjalankan aplikasi suatu kernel pertama kali harus
menyediakan space address untuk aplikasi lalu men-load file yang berisi kode
aplikasi ke dalam memory, mempersiapkan stack untuk program dan percabangan
ke lokasi lain untuk program, dan kemudian baru memulai eksekusi program.
Berikut beberapa fungsi kernel:
1. Pengurusan proses
Tugas utama sebuah system pengoperasian kernel ialah membenarkan
aplikasi yang lain untuk berjalan dan menyokong mereka dengan ciri-ciri
tambahan, seperti pengabstrakan perkakasan, untuk menjalan proses, kernel
mesti memuat turun failnya kepada ingatan, menyediakan stack untuk program
dan pergi ke lokasi yang diberikan di dalam program, ini memulakan
perjalanan sesebuah program, cara ini dipanggil scheduling. Dalam sistem
berbilang kerja, kernel secara asasnya akan memberikan setiap program sedikit
masa dan menukarkan dari proses ke proses dengan cepat dengan itu ia akan
muncul kepada pengguna jika proses ini dijalankan secara terus menerus.
Kernel mesti juga menyediakan proses ini untuk berkomunikasi, ini dikenali
sebagai inter-process communication. Ini kemungkinan ada multipemprosesan
yang menyokong kernel tersebut.6

2. Pengurusan ingatan
Kernel mempunyai akses penuh dalam ingatan sistem dan
menyediakan cara-cara untuk membenarkan userland program untuk
mengakses memori ini dengan selamat. Cara pertama untuk mengurus ingatan
ialah virtual addressing, biasanya arkib dengan mukasurat
atau segmentation. Virtual addressing membenarkan kernel untuk memberikan
alamat fizikal yang muncul sebagai alamat yang lain iaitu virtual address, ini
membenarkan setiap program mempercayai ia hanya satu program (sebahagian
daripada kernel) yang berjalan, dan ini mengelakkan aplikasi daripada
berlanggar antara satu sama lain.
3. Pengurusan peranti
Dalam arahan untuk melakukan sesuatu tugas, kernel perlu untuk
mengakses perbagai peranti yang bersambungan di dalam komputer, sebagai
contoh, dalam arahan untuk memaparkan pengguna apa-apa sahaja, pemacu
monitor perlu untuk muncul, peranti ini boleh dikawal melalui pemacu, di
mana ia mesti dibuat oleh pembangun dan/atau disediakan oleh pengilang
sesuatu peranti tersebut.
Pengurus peranti pertamanya akan melakukan semakan keatas bas
perkakasan yang berbeza (seperti USB, PCI), dalam arahan unruk mengesan
semua peranti yang telah dipasang dan kemudiannya mencari pemacu yang
bersesuaian, selepas ini, semuanya bergantung kepada jenis kernel dan rekaan
kernel.
4. Sistem panggilan
Dalam arahan untuk menyediakan kerja yang berguna, program
userland mesti mempunyai akses kepada semua perkhidmatan yang disediakan
oleh kernel. Ini dilaksanakan secaar berbeza-beza oleh kernel yang berlainan,
tetapi mesti disediakan oleh C library, dimana ia menukarkan kelemahan
kesemua system panggilan, sama ada diberikan atau melalui memori yang
dikongsi.7

5. Shell
Shell adalah perisian atau aplikasi yang menjadi alat untuk
perhubungan antara pangguna untuk berhubung dengan sistem operasi, shella
akan membaca apa sahaja yang dimasukkan oleh pengguna dan memahaminya
sebagai arahan untuk menjalankan perisian lain, memanipulasi fail, dan
memberikan output. Shell juga turut dikenali sebagai command line interface.
Terdapat pelbagai shell untuk Unix/Linux. Korn shell atau POSIX shell adalah
shell yang biasa di kebanyakkan jenis unix atau linux.8
C. Kategori Kernel
 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. 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.9

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
Mikrokernel menyediakan sedikit saja dari abstraksi perangkat keras
dan menggunakan aplikasi yang berjalan di atasnya yang disebut dengan server
untuk melakukan beberapa fungsionalitas lainnya. 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.10

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.
Beberapa sistem operasi yang menggunakan mikrokernel:
 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.11

 Kernel hibrida
Kernel hibrida adalah pendekatan desain microkernel yang
dimodifikasi. Pada hybrid kernel, terdapat beberapa tambahan kode di dalam
ruangan kernel untuk meningkatkan performanya. 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).12

 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. 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 dibalik 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.13
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.14
D. Sejarah Kernel
Dari keempat kategori kernel yang disebutkan diatas, kernel Linux
termasuk kategori monolithic kernel. Kernel Linux berbeda dengan sistem Linux.
Kernel Linux merupakan sebuah perangkat lunak orisinil yang dibuat oleh
komunitas Linux, sedangkan sistem Linux, yang dikenal saat ini, mengandung
banyak komponen yang dibuat sendiri atau dipinjam dari proyek pengembangan
lain.
Kernel Linux pertama yang dipublikasikan adalah versi 0.01, pada tanggal
14 Maret 1991. Sistem berkas yang didukung hanya sistem berkas Minix. Kernel
pertama dibuat berdasarkan kerangka Minix (sistem UNIX kecil yang
dikembangkan oleh Andy Tanenbaum). Tetapi, kernel tersebut sudah
mengimplementasi proses UNIX secara tepat.
Pada tanggal 14 Maret 1994 dirilis versi 1.0, yang merupakan tonggak
sejarah Linux. Versi ini adalah kulminasi dari tiga tahun perkembangan yang
cepat dari kernel Linux. Fitur baru terbesar yang disediakan adalah jaringan. Versi
1.0 mampu mendukung protokol standar jaringan TCP/IP. Kernel 1.0 juga
memiliki sistem berkas yang lebih baik tanpa batasan-batasan sistem berkas
Minix. Sejumlah dukungan perangkat keras ekstra juga dimasukkan ke dalam rilis
ini. Dukungan perangkat keras telah berkembang termasuk diantaranya floppy-
disk, CD-ROM, sound card, berbagai mouse, dan keyboard internasional.15
Dukungan juga diberikan terhadap modul kernel yang loadable dan
unloadable secara dinamis. Satu tahun kemudian dirilis kernel versi 1.2. Kernel ini
mendukung variasi perangkat keras yang lebih luas. Pengembang telah
memperbaharui networking stack untuk menyediakan support bagi protokol IPX,
dan membuat implementasi IP lebih lengkap dengan memberikan fungsi
accounting dan firewalling. Kernel 1.2 ini merupakan kernel Linux terakhir yang
PC-only. Konsentrasi lebih diberikan pada dukungan perangkat keras dan
memperbanyak implementasi lengkap pada fungsi-fungsi yang ada.
Pada bulan Juni 1996, kernel Linux 2.0 dirilis. Versi ini memiliki dua
kemampuan baru yang penting, yaitu dukungan terhadap multiple architecture dan
multiprocessor architectures. Kode untuk manajemen memori telah diperbaiki
sehingga kinerja sistem berkas dan memori virtual meningkat. Untuk pertama
kalinya, file system caching dikembangkan ke networked file systems, juga sudah
didukung writable memory mapped regions. Kernel 2.0 sudah memberikan
kinerja TCP/IP yang lebih baik, ditambah dengan sejumlah protokol jaringan
baru. Kemampuan untuk memakai remote netware dan SMB (Microsoft
LanManager) network volumes juga telah ditambahkan pada versi terbaru ini.
Tambahan lain adalah dukungan internal kernel threads, penanganan
dependencies antara modul-modul loadable, dan loading otomatis modul
berdasarkan permintaan (on demand). Konfigurasi dinamis dari kernel pada run
time telah diperbaiki melalui konfigurasi interface yang baru dan standar.
Semenjak Desember 2003, telah diluncurkan Kernel versi 2.6, yang
dewasa ini (2008) telah mencapai patch versi 2.6.26.1
(http://kambing.ui.edu/kernel-linux/v2.6/). Hal-hal yang berubah dari versi 2.6 ini
ialah:
 Subitem M/K yang dipercanggih.
 Kernel yang pre-emptif.
 Penjadwalan Proses yang dipercanggih.
 Threading yang dipercanggih.
 Implementasi ALSA (Advanced Linux Sound Architecture) dalam kernel.16
 Dukungan sistem berkas seperti: ext2, ext3, reiserfs, adfs, amiga ffs, apple
macintosh hfs, cramfs, jfs, iso9660, minix, msdos, bfs, free vxfs, os/2 hpfs,
qnx4fs, romfs, sysvfs, udf, ufs, vfat, xfs, BeOS befs (ro), ntfs (ro), efs (ro).17
E. Konsep Kernel
Kernel adalah jembatan antara hardware dan aplikasi-aplikasi yang
menerjemahkan bahasa software sehingga mampu dimengerti oleh hardware dan
hardware akan segera memprosesnya sesuai dengan permintaan. Akibatnya hal
tersebut memungkinkan pengguna untuk menggunakan atau bekerja dengan
komputernya melalui software. Hal-hal yang dilakukan oleh Kernel :
 Interrupt handler, yang mampu menangani I/O request
 Memory management untuk melakukan hal-hal tersebut, beberapa
orang/kelompok mempunyai pertimbangan dan arahan pengembangan yang
berbeda. Hal ini yang menyebabkan Operating System muncul dalam
berbagai jenis, seperti :
 Windows 3.11 dengan metoda non pre-emptive multitasking yang
kemudian dikembangkan dalam Windows 9x menjadi Pre-Emptive
MultiTasking.
 Windows yang menggunakan Driver untuk mengakses hardware,
berbeda dengan Unix lainnya yang memasukkannya ke dalam kernel.
Linux, MacOS dan BeOS adalah hibrid dari dua konsep ini, sebagian
(yang esensial) dimasukkan ke dalam kernel dan sisanya dijadikan
module-module (karena tidak semua komputer perlu/sama).
Sedangkan shell adalah jembatan antara User Input dengan Kernel,
berfungsi memberikan fasilitas pada Pengguna agar bisa berinteraksi dengan
Komputer (baik Software maupun Hardware). Ilustrasi Shell: Shell dalam
Windows95 dikenal sebagai Windows Explorer, sedangkan untuk Windows 98
telah diubah menjadi Internet Explorer (4.0 dan 5.0). Alternatif lain shell untuk
Windows adalah LiteStep, yang memberikan tampilan Windows menyerupai
XWindow Afterstepnya Unix. Shell lebih dikenal oleh para pengguna Unix,
antara lain : csh, tcsh, bash, pdksh, sh, dan lain-lain.18
F. Struktur Kernel
Pada sistem operasi Linux juga memiliki struktur kernel yang bisa
dikelompokkan menjadi beberapa kernel. Adapun strukturnya adalah sebagai
berikut :
1. Penjadwal Proses (Process Scheduler), bertanggung jawab mengatur proses
dalam mengakses CPU, memastikan bahwa masing-masing proses
memperoleh sumber daya yang layak, dan memastikan bahwa hardware
akan bereaksi berdasarkan perintah kernel tepat pada waktunya.
2. Manajer Memori (Memory Manager), mengatur beberapa proses saling
berbagi memori secara aman, dan bahkan mendukung penggunaan memori
lebih besar dari pada memori fisik. Hal ini dilakukan dengan swapping
memori yang tidak dipergunakan ke dalam media simpan yang permanen,
dan dikembalikan lagi ke memori fisik saat akan dimanfaatkan.
3. File Sistem Virtual (Virtual File Systems), mengabstrasikan semua device
ke dalam file sistem yang dikenal. Bahkan sebagai tambahan, VFS juga
mendukung file sistem dari sistem operasi lain.
4. Interface Jaringan (Network Interface), memberikan akses kepada beberapa
standar jaringan dan berbagai macam hardware jaringan.
5. Komunikasi Antar Proses (Inter Process Communication), mengatur
mekanisme komunikasi proses satu dengan lainnya.19
G. Kedudukan Kernel dalam Sistem Operasi
Kernel sistem operasi adalah di luar proses. Ketika proses running
diinterupsi atau memanggil system call, maka konteks pemroses proses ini
disimpan dan kendali dilewatkan ke kernel. Sistem operasi mempunyai daerah
memori dan stack sendiri untuk pemanggilan prosedur. Sistem operasi melakukan
fungsi yang diinginkan dan mengembalikan konteks proses yang diinterupsi.
Eksekusi proses pemakai yang diinterupsi dilanjutkan.20

Alternatif lain, sistem operasi menyimpan lingkungan proses, melakukan


penjadwalan dan menjadwalkan proses lain. Konsep proses hanya diterapkan
untuk program-program pemakai. Kode sistem operasi dieksekusi sebagai entitas
terpisah, beroperasi pada mode kernel. Proses adalah non-kernel, sedangkan
sistem oeprasi adalah kernel yang bukan proses.21
PENUTUP

A. Kesimpulan
Kernel merupakan jantung dari sistem operasi. Semua proses input dan
output yang berlangsung selama komputer berjalan diatur oleh kernel, seperti
pembacaan dan penulisan terhadap disk, manajemen memory, dan penjadwalan
program aplikasi. Kernel merupakan program komputer yang mengatur
permintaan akan input/output dari perangkat lunak, dan menerjemahkannya ke
dalam instruksi-instruksi pada CPU, ataupun komponen elektronik lainnya dalam
sebuah komputer. Fungsi utama kernel adalah untuk mengelola sumber daya
komputer dan memungkinkan program lain untuk menjalankan dan menggunakan
sumber daya koputer tersebut. Kernel terbagi dalam empat kategori : kernel
monolitik, mikrokernel, kernel hibrida dan exokernel.
Dari keempat kategori kernel yang disebutkan diatas, kernel Linux
termasuk kategori monolithic kernel. Kernel Linux berbeda dengan sistem Linux.
Kernel Linux merupakan sebuah perangkat lunak orisinil yang dibuat oleh
komunitas Linux, sedangkan sistem Linux, yang dikenal saat ini, mengandung
banyak komponen yang dibuat sendiri atau dipinjam dari proyek pengembangan
lain. Pada sistem operasi Linux juga memiliki struktur kernel yang bisa
dikelompokkan menjadi lima : penjadwalan proses, Manajer memori, File sistem
virtual, interface jaringan dan komunikasi antar proses.
B. Kritik dan Saran
Dalam penyusunan makalah yang berjudul “Kernel” masih banyak
terdapat kekurangan. Terutama dalam hal sumber, materi dan penyajian. Semoga
makalah ini bermanfaat bagi kita semua dan dapat menjadi bahan rujukan dalam
kegitan proses perkuliahan.
Penulis berharap banyak pada para pembaca yang budiman agar dapat
memberikan kritik dan saran yang membangun kepada penulis demi sempurnanya
makalah ini dan penulisan makalah dikesempatan selanjutnya.

DAFTAR PUSTAKA

Hariyanto, Bambang. 2000. Sistem Operasi (Edisi Kedua). Bandung :

INFORMATIKA Bandung.

Santoso, Budi Halus2005. Perancangan Sistem Operasi. Yogyakarta : ANDI

Yogyakarta.

https://id.wikipedia.org/wiki/Kernel_(ilmu_komputer)

http://www.teorikomputer.com/2016/01/pengertian-dan-fungsi-kernel-pada.html

http://ghadinkz23.blogspot.co.id/2011/10/pengertian-kernel.html

http://ichsantcb.blogspot.co.id/2013/03/pengertian-dan-fungsi-kernel.html
http://os-assignment.blogspot.co.id/2013/07/kernel-dan-konsep-dasar-sistem-

operasi.html

http://beckellroom.blogspot.co.id/2009/01/pengertian-tentang-kernel-kernel-

adalah.html

http://irvan999.blogspot.co.id/2009/03/konsep-kernel-dan-shell.html

Anda mungkin juga menyukai