Disusun Oleh :
KELOMPOK 12
2019
KOMPONEN SISTEM OPERASI
1.1 KERNEL
Dalam ilmu komputer, kernel adalah suatu perangkat lunak yang menjadi
bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam
program aplikasi untuk mengakses perangkat keras komputer secara aman.
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
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.
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
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.
Windows
Pada sistem operasi Windows, kernel ditangani oleh file kernel32.dll. Kernel ini
menangani manajemen memori, operasi masukan / keluaran dan interrupt.
Ketika boot Windows, kernel32.dll di-load ke dalam spasi protected memory
sehingga spasi memorinya tidak digunakan oleh aplikasi lain. Apabila ada
aplikasi yang mencoba mengambil spasi memori kernel32.dll, akan muncul
pesan kesalahan "invalid page fault".
EKSEKUSI PROGRAM
Umumnya sistem operasi yang ada saat ini sudah mendukung pemanfaatan
multitasking yang memungkinkan beberapa program komputer dijalankan pada
saat yang bersamaan di sebuah komputer. Untuk dapat menjalankan beberapa
program tersebut pada saat yang bersamaan, sistem operasi memanfaatkan
mekanisme penjadualan proses yang merupakan suatu mekanisme yang akan
mengatur pengalihan prosesor dalam melakukan pemrosesan sehingga
beberapa program komputer tersebut dapat berinteraksi dengan pengguna saat
dijalankan.[10] Di sisi perangkat keras yang digunakan, prosesor modern saat ini
umumnya telah mendukung beberapa core prosesor yang dipancangkan sebagai
sebuah prosesor yang memungkinkannya menjalankan beberapa program
sekaligus.[11]
Pengertian Interrupt
yang diberi nomor 0 s/d 255. Nomor interupsi 0 s/d 1Fh disediakan oleh ROM
BIOS yaitu suatu IC di dalam komputer yang mengatur operasi dasar komputer.
Jadi jika terjadi interupsi dengan nomor 0 s/d 1Fh maka secara default komputer
akan beralih ke ROM BIOS dan melaksanakan program yang terdapat disana.
Program yg melayani suatu interupsi dinamakan Interrupt Handler
Ketika sebuah perangkat keras memicu interupsi, kernel sistem operasi akan
memutuskan bagaimana menangani kejadian ini, dengan menjalankan kode
pemrosesan. Besarnya kode yang dijalankan tergantung pada prioritas interupsi
(misalnya: orang biasanya akan merespon alarm detektor kebakaran sebelum
menjawab telepon). Penanganan interupsi hardware biasanya didelegasikan ke
perangkat lunak device driver , yang mungkin salah satu bagian dari kernel
sistem operasi, atau bagian dari program lain, atau keduanya. Device driver
kemudian dapat menyampaikan informasi ke program yang berjalan dengan
berbagai cara.
Sebuah program mungkin juga untuk memicu interupsi kepada sistem operasi.
Jika sebuah program ingin mengakses hardware misalnya, dia dapat
menginterupsi kernel sistem operasi, yang menyebabkan kontrol untuk
dikembalikan ke kernel. Kernel kemudian akan memproses permintaan tersebut.
Jika sebuah program ingin sumber daya tambahan (atau ingin menumpahkan
sumber daya) seperti memori, ia akan memicu interupsi untuk mendapatkan
perhatian kernel.
Jenis-Jenis Interrupts
• Internal HW interruptions
• External HW interupstions
printers, dsb.
• Software interruptions
• DOS interruptions
• BIOS interupstions
Interrupt 2/5
Perbedaannya:
DOS int. lebih mudah digunakan, namun lebih lambat, karena int. jenis ini
menggunakan BIOS, BIOS int. lebih cepat, namun banyak kerugiannya karena
BIOS bagian HW dan HW-specific
Pemilihan interupts tergantung pada karakteristik yang akan kita berikan pada
program: SPEED BIOS int; PORTABILITY DOS int.
2. Interrupt DOS
Interrupt 20h-FFh (32 - 255) adalah interrupt DOS, dan hanya ada
pada komputer yang menggunakan sistem operasi DOS dan interrupt
handlernya di-load ke memori oleh DOS pada saat DOS digunakan.
Lokasi Interrupt Vector table-nya ada di alamat absolut 07Fh-3FFh
MODE
MANAJEMEN MEMORY
Memori adalah pusat dari operasi pada sistem komputer modern, berfungsi
sebagai tempat
Memori adalah array besar dari word atau byte, yang disebut alamat. CPU
mengambil instruksi dari memory berdasarkan nilai dari program counter.
Sedangkan manajemen memori adalah suatu kegiatan untuk mengelola memori
komputer. Proses ini menyediakan cara mengalokasikan memori untuk proses
atas permintaan mereka, membebaskan untuk digunakan kembali ketika tidak
lagi diperlukan serta menjaga alokasi ruang memori bagi proses. Pengelolaan
memori utama sangat penting untuk sistem komputer, penting untuk memproses
dan fasilitas masukan/keluaran secara efisien, sehingga memori dapat
menampung sebanyak mungkin proses dan sebagai upaya agar pemogram atau
proses tidak dibatasi kapasitas memori fisik di sistem komputer.
a. Jenis Memori
• Memori Kerja
ROM/
PROM/EPROM/EEPROM
RAM
Cache
memory
• Memori Dukung
Floppy
Harddisk
CD
b. Fungsi manajemen memori :
dikelola sebaikbaiknya
agar :
4. Transfer data dari/ke memori utama ke/dari CPU dapat lebih efisien.
1. Isi Memori
operand, hasilnya ada yang dikirim kembali ke memory. Sebagai catatan, unit
memory hanya
karena itu, kita dapat mengabaikan bagaimana alamat memori dibangkitkan oleh
program, yang
berjalan.
Pengikatan alamat adalah cara instruksi dan data (yang berada di disk sebagai
file yang dapat
user (user process) untuk meletakkan di sembarang tempat dari memori fisik.
Sehingga,
meskipun alamat dari komputer dimulai pada 00000, alamat pertama dari proses
user tidak perlu
harus dimulai 00000. Instruksi pengikatan instruksi dan data ke alamat memori
dapat dilakukan
pada saat :
o Compile time
Jika lokasi memori diketahui sejak awal, kode absolut dapat dibangkitkan,
apabila terjadi
o Load time
Harus membangkitkan kode relokasi jika lokasi memori tidak diketahui pada saat
waktu
kompilasi.
o Execution time
b. Dinamic Loading
disimpan pada disk dalam format relocatable load. Mekanisme dari dynamic
loading adalah
dahulu dan dieksekusi. Bila suatu routine perlu memanggil routine lain,
routine yang dipanggil lebih dahulu diperiksa apakah rutin yang dipanggil sudah
diload.
Jika
mengubah
tabel alamat.
Keuntungan dari dynamic loading adalah rutin yang tidak digunakan tidak pernah
diload.
Skema ini lebih berguna untuk kode dalam jumlah besar diperlukan untuk
menangani
kasuskasus
yang jarang terjadi seperti error routine. Dinamic loading tidak memerlukan
c. Dinamic Linking
diperlakukan seperti obyek modul yang lain dan dikombinasikan dengan loader
ke dalam binary
subroutine library. Tanpa fasilitas ini, semua program pada sistem perlu
mempunyai copy dari
d. Overlay
Sebuah proses dapat lebih besar daripada jumlah memori yang dialokasikan
untuk proses, teknik
overlay biasanya digunakan untuk kasus ini. Teknik Overlay biasanya digunakan
untuk
memungkinkan sebuah proses mempunyai jumlah yang lebih besar dari memori
fisik daripada
Alamat yang dibangkitkan oleh CPU disebut alamat logika (logical address)
dimana alamat
terlihat sebagai uni memory yang disebut alamat fisik (physical address). Tujuan
utama
skema waktu kompilasi dan waktu pengikatan alamat pada alamat logika dan
alamat memori
adalah sama. Tetapi hasil skema waktu pengikatan alamat waktu eksekusi
berbeda. dalam hal ini,
alamat logika disebut dengan alamat maya (virtual address). Himpunan dari
semua alamat logika
yang dibangkitkan oleh program disebut dengan ruang alamat logika (logical
address space);
himpunan dari semua alamat fisik yang berhubungan dengan alamat logika
disebut dengan ruang
alamat fisik (physical address space). Memory Manajement Unit (MMU) adalah
perangkat keras
yang memetakan alamat virtual ke alamat fisik. Pada skema MMU, nilai register
relokasi
ditambahkan ke setiap alamat yang dibangkitkan oleh proses user pada waktu
dikirim ke
memori.
3. Swapping
proses harus berada di memori untuk dieksekusi. Proses juga dapat ditukar
(swap) sementara
keluar memori ke backing store dan kemudian dibawa kembali ke memori untuk
melanjutkan
eksekusi. Backing store berupa disk besar dengan kecepatan tinggi yang cukup
untuk meletakkan
copy dari semua memory image untuk semua user, sistem juga harus
menyediakan akses
4. Alokasi Berurutan
o Sistem operasi biasanya diletakkan pada alamat memori rendah dengan vektor
interupsi
allocation.
proses user dieksekusi di memori tinggi. Kode dan data sistem operasi harus
diproteksi dari
berbeda yang berada di antrian input (input queue) yang menunggu dibawa ke
memori. Terdapat
dua skema yaitu partisi tetap (fixed partition) dimana memori dibagi dalam
sejumlah partisi tetap
dan setiap partisi berisi tepat satu proses. Jumlah partisi terbatas pada tingkat
multiprogramming.
(MFT). Skema yang kedua adalah partisi dinamis (variable partition) merupakan
MFT yang
c. Fragmentasi
Fragmentasi Eksternal terjadi pada situasi dimana terdapat cukup ruang memori
total untuk
dan
bestfit.
Fragmentasi Internal terjadi pada situasi dimana memori yang dialokasikan lebih
besar
dari pada memori yang diminta tetapi untuk satu partisi tertentu hanya berukuran
kecil sehingga
tidak digunakan.
5. Paging
Setiap sistem operasi mempunyai metode sendiri untuk menyimpan tabel page.
Beberapa sistem
operasi mengalokasikan sebuah tabel page untuk setiap proses. Pointer ke tabel
page disimpan
dengan nilai register lainnya dari PCB. Pada dasarnya terdapat 3 metode yang
berbeda untuk
paging.
• Tabel page disimpan pada main memori dan menggunakan page table base
registe” (PTBR)
entry).
• Menggunakan perangkat keras cache yang khusus, kecil dan cepat yang
disebut associative
c. Proteksi
Pada model page, proteksi memori menggunakan bit proteksi yang diasosiasikan
untuk setiap
frame. Biasanya bit proteksi disimpan pada tabel page. Satu bit mendifinisikan
satu page untuk
nomor frame yang benar. Level proteksi yang lebih baik dapat dicapai dengan
menambah jumlah
d. Multilevel Paging
Model multilevel paging digunakan pada sistem yang mempunyai ruang alamat
logika yang
sangat besar yaitu antara 232 s/d 264. Pada sistem ini, tabel page akan menjadi
sangat besar.
Misalnya untuk sistem dengan ruang alamat logika 32 bit dan ukuran page 4K
byte, maka tabel
page berisi 1 juta entry (232 / 212). Solusinya yaitu dengan melakukan partisi
tabel ke beberapa
e. Shared Page
Pada skema paging, dimungkinkan untuk sharing kode umum. Bentuk ini penting
terutama pada
compiler dan sistem window). Kode yang dibagi harus berada pada lokasi ruang
alamat logika
yang sama untuk semua proses.
6. Segmentasi
panjang. Spesifikasi alamat berupa nama segmen dan offset. Segment diberi
nomor dan disebut
dengan nomor segmen (bukan nama segmen) atau segment number. Segmen
dibentuk secara
dipetakan ke main memori sebagai array linier dalam byte tetapi memori dilihat
sebagai
Sebuah program adalah kumpulan segmen. Suatu segmen adalah unit logika
seperti program
utama, prosedur, fungsi, metode, obyek, variabel lokal, variabel global, blok
umum, stack, tabel
.
b. Arsitektur Segmentasi
Alamat logika terdiri dari dua bagian yaitu nomor segmen (s) dan offset (d) yang
dituliskan
dengan .
o Segmen limit merupakan panjang segmen Seperti tabel page, tabel segmen
dapat berupa
o Segmenttable
segment table.
o Segmenttable
length register (STLR) digunakan untuk menyimpan nilai jumlah segmen yang
digunakan program.
o Untuk alamat logika (s, d), pertama diperiksa apakah segment number s legal
(s < STLR),
segment table.
segmen readonly
atau execute only, segmen data dapat diproteksi sebagai segmen readwrite.
Pemetaan pada perangkat keras memory akan memeriksa bit proteksi untuk
mencegah akses
yang illegal.
memori utama untuk dieksekusi oleh prosesor. Pada hampir semua sistem
multiprograming
modern, hal ini meliputi teknik canggih yang dikenal sebagai virtual memori. Pada
gilirannya
virtual memori didasarkan pada penggunaan salah satu atau dua buah teknik
dasar yaitu
sederhana yang tidak melibatkan virtual memori. Di bawah ini ada beberapa
teknik untuk
manajemen memori yang dibuat menjadi tabel dengan menampilkan kekurangan
dan
MEMORY VIRTUAL
Memori virtual adalah sebuah mekanisme yang digunakan oleh aplikasi untuk
menggunakan sebagian dari memori sekunder seolah-olah ia menggunakannya
sebagai RAM fisik yang terinstal di dalam sebuah sistem. Mekanisme ini
beroperasi dengan cara memindahkan beberapa kode yang tidak dibutuhkan ke
sebuah berkas di dalam hard drive yang disebut dengan
Bab 7 : Virtual Memori 216 Setiap program yang dijalankan harus berada di
memori. Memori merupakan suatu tempat penyimpanan utama ( primary
storage) yang bersifat sementara (volatile). Ukuran memori yang terbatas dapat
menimbulkan masalah bagaimana menempatkan program yang berukuran yang
lebih besar dari ukuran memori fisik (memori utama) dan masalah penerapan
multiprogramming yang membutuhkan tempat yang lebih besar di memori.
Gbr.7.1. Memori Virtual Memori virtual memisahkan antara memori logis dan
memori fisiknya. Memori logis merupakan kumpulan keseluruhan halaman dari
suatu program. Tanpa memori virtual, memori logis akan langsung dibawa ke
memori fisik (memori utama). Di sinilah memori virtual melakukan pemisahan
dengan menaruh memori logis ke
secondary storage
(
disk
disk
disk
sekunder dan dapat diambil sesuai dengan kebutuhan. Jadi jika proses yang
sedang berjalan membutuhkan instruksi atau data yang terdapat pada suatu
halaman
Bab 7 : Virtual Memori 217 tertentu maka halaman tersebut akan dicari di
memori utama. Jika halaman yang diinginkan tidak ada maka akan dicari ke
disk
sekunder.
7.3.
Konsep
Virtual Memory
Pada desain sistem memori virtual, memori utama menyimpan sebagian alamat
proses yang sering digunakan dan bagian lain disimpan dalam
disk
dan diambil sesuai dengan keinginan. Sehingga akan muncul anggapan bahwa
waktu akses akan terjadi lebih banyak di memori utama daripada di
disk
pages
virtual pages
page frames
yang berukuran sama dan diidentifikasikan dengan nomor
page frames
page
page
ke nomor frame
page
Mapping
page
invers
page
ke nomor
virtual page
page
page
yang sama, bisa dilaksanakan tetapi merupakan fungsi yang tidak begitu
diperlukan. Sistem
paging
page
page
page
d out (disimpan ke
disk
page
disk
page
item
dapat mengalami
paging
, maka
item
item
yang menempati ruang virtual, yang di akses dengan alamat virtual, dan ruangan
yang ada dialokasikan untuk informasi
mapping
. Sistem operasi