SISTEM PAGING DAN SEGMENTASI
SISTEM OPERASI
SISTEM PAGING
Adalah sistem
manajemen pada sistem operasi dalam mengatur program yang sedang berjalan.
Program yang berjalan harus dimuat di memori utama. Kendala yang terjadi
apabila suatu program lebih besar dibandingkan dengan memori utama yang
tersedia.
Untuk mengatasi hal tersebut Sistem Paging mempunyai 2 solusi, yaitu:
Untuk mengatasi hal tersebut Sistem Paging mempunyai 2 solusi, yaitu:
Solusi
memori maya, yaitu :
1.
Konsep overlay
Program
dipecah menjadi bagian-bagian yang dapat dimuat memori,disebut overlay.
2.
Konsep memori maya
Memory maya
adalah kemampuan mengalamati memori melebihi memori utama yang tersedia.konsep
memori maya pertama kali dikemukakan Fotheringham pada 1961 untuk sistem
komputer atlas di Universitas Manchester,Inggris.
Memori maya dapa
dilakukan dengan tiga cara,yaitu:
A. Paging
B. Segmentasi
C. kombinasi
paging dan segmentasi.
Deskripsi
sistem paging
Beberapa
istilah pada sistem paging adalah:
v Alamat
maya
Alamat maya adalah alamat yang
dihasilkan dengan perhitungan menggunakan index register,base register,segmen
register dan sebagainya.Ruang alamat yanag dibentuk alamat maya disebut ruang alamat maya,V.Jumlah
alamat pada V disimbolkan dengan |V|.
v Alamat
nyata
Alamat nyata adalah alamat yang tersedia
dimemori utama fisik.Ruang alamat yang
dibentuk alamat nyata disebut ruang alamat ,R.Jumlah alamat pada R
disimbolkan dengan |R|.
v Page
Page adalah unit terkecil virtual
address space.
v Page
frame
Page frame adalah unit terkecil memori
fisik.
v Page
fault
Page fault adalah exception untuk
permintaan alokasi ‘page’ ke memori.
v MMU
(Memory Management Unit)
Chip
atau kumpulan chip yang memetakan alamat maya ke alamat fisik
·
Pada komputer tanpa
memori maya,alamat langsung diletakkan ke bus dan menyebabkan word memori fisik
alamat itu dibaca atau ditulis
·
Pada komputer dengan
memori maya,alamat tidak diletakkan ke bus secara langsung,tapi lewat MMU yang
kemidian memetakan alamat maya ke alamat memori fisik.
Pemetaan
alamat
MMU
mempunyai fungsi sebagai berikut:
v Pemetaan
memori maya ke memori fisik
v Bila
alamat memori yang diminta tidak tersedia di memori fisik ,MMU menerbitkan
exception page fault yang melewatkan ke sistem operasi untuk menanganinya.
Skema
pemetaan
Pemetaan
dapat dirumuskan secara formal sebagai berikut:
Misalkan
Ruang alamat maya adalah V={0,1,...,v-1}
Ruang
alamat fisik adalah M={0,1,...,m-1}
Umumnya
ruang alamat maya lebih besar dibanding alamt fisik (v>m).
F(x)=
Implementasi
pemetaan (bagian internal MMU)
Komponen
terpenting MMU adalah:
1)
Register alamat maya
2)
Tabel page
3) Register
alamat fisik
Penggantian
page
Algoritma
penggantian page antara lain:
1)
Algoritma penggantian
page acak
Mekanisme algoritma
Setiap terjadi page
fault,page yang diganti dipilih secara acak.
Teknik ini sangat
buruk,percobaan menunjukkan rate page fault sanggat tinggi.
2)
Algoritma penggantian
page optimal
Mekanisme algoritma
Dasat algoritma ini
adalah memilih page yang berpeluang dipakai kembali dimasa datang paling kecil.
Algoritma penggantian
page optimal penting untuk kajian teoritis ,sebagai pembanding bagi
algoritma-algoritma pengganti page yang lain.
3)
Algoritma penggantian
page NRU(not recently used)
Mekanisme algoritma
Pada algoritma ini,page
diberi dua bit mencatat status page ,bit R dan M,yaitu:
Bit R :reference (menyatakan page sedang diacu)
Bit R=1 berarti sedang diacu
Bit R=0 berarti tidak sedang
diacu
Bit M :modified(menyatakan page telah
dimodifikasi)
Bit M=1 berarti dimodifikasi
Bit M=0 berarti tidak dimodifikasi
Dengan 2 bit,maka
page-page dikeompokan menjadi 4 kelas page,yaitu:
Kelas 0:tidak sedang diacu,belum
dimodifikasi(R=0,M=0)
Kelas 1:tidak sedang diacu,telah
dimodifikasi(R=0,M=1)
Kelas 2:sedang diacu,belum
dimodifikasi(R=1,M=0)
Kelas 3:sedang diacu,telah
dimodifikasi(R=1,M=1)
4)
Algoritma penggantian
page FIFO(fist-in,first-out)
Mekanisme algoritma
Algoritma ini
memerlukan pengelola senarai page di memori.elemen terdapat senarai adalah page
tertua dan ujung belakang adalah page paling mutakhir dtang
·
Bila terjadi page
fault,page elemen terdepan(page tertua)diganti dan page baru ditambahkn diujung
belakang senarai.
Algoritma FIFO murni jarang
digunakan ,tetapi dikombinasi(dimodifikasi)
5)
Modifikasi terhadap
FIFO
Kelemahan FIFO adalah
algoritma dapat memilih memindahkan page yang sering digunakan yang lama berada
dimemori.
Variasi dari FIFO
antara lain:
·
Algoritma penggantian
page kesempatan kedua
Mekanisme algoritma
Ø Saat
terjadi page fault,algoritma memilih page elemen terdepan diganti bila bit
bernilai 0
Ø Bila
bit R bernilai 1,maka bit page terdepan senarai direset menjadi 0 dan
diletakakan ujung belakang senarai.
·
Algoritma penggantian
page clock
Algoritma penggantian
page clock merupakan perbaikan algorima pertama.
Mekanisme algoritma:
Ø Pada
algoritma ini ,semua page merupakan senarai melingkar membentuk pola terdapat
penunjuk ke page tertua
6)
Algoritma penggantian
page LRU(least recently used)
Mekanisme algoritma
Algoritma LRU adalah
ketika terjadi page fault maka memindahkan page yang tak digunakan paling lama.
10.3.2 Pemodelan
algoritma paging
1.
Anomali pada FIFO
2.
Mesin abstrak eksekusi
program
Masalah-masalah
utama pada sistem paging
a) Working
set model
b) Kebijakan
penggantian lokal vs global
c) Frekuensi
page fault
d) Ukuran
page
Masalah-masalah
implemenatasi sistem paging
a)
Backup instruksi
b) Buffer
I/O
c)
Pemakaian page bersama
d)
Bacing store
e)
Paging daemon
f)
Penangan page fault
SEGMENTASI
Deskripsi Segmentasi
Segmentasi adalah sebuah bagian dari managemen
memori yang mengatur pengalamatan dari memori yang terdiri dari
segmen-segmen. logical address space adalah kumpulan dari
segmen-segmen yang mana tiap-tiap segmen mempunyai nama dan panjang. alamat
tersebut menunjukkan alamat dari segmen tersebut dan offset-nya
didalam segmen-segmen tersebut. pengguna kemudian menentukan pengalamatan dari
setiap segmen menjadi dua bentuk, nama segmen dan offset dari segmen tersebut
(Hal ini berbeda dengan pemberian halaman, dimana pengguna hanya menentukan
satu buah alamat, dimana pembagian alamat menjadi dua dilakukan oleh perangkat
keras, semua ini tidak dapat dilihat oleh user).
Untuk kemudahan pengimplementasian, segmen-segmen
diberi nomor dan direferensikan dengan menggunakan penomoran tersebut, daripada
dengan menggunakan nama. maka, logical address space terdiri
dari dua tupleyaitu: (nomor-segmen, offset) Pada umumnya, program
dari pengguna akan dikompilasi, dan kompilator tersebut akan membuat
segmen-segmen tersebut secara otomatis. Jika mengambil contoh kompilator dari
Pascal, maka kemungkinan kompilator tersebut akan membuat beberapa segmen yang
terpisah untuk
1.
Variabel
Global;
Prosedur dari pemanggilan stack, untuk menyimpan
parameter dan pengembalian alamat;
2.
Porsi
dari kode untuk setiap prosedur atau fungsi; dan
3.
Variabel
lokal dari setiap prosedur dan fungsi.
Tiap segmen
memori berisi barisan linear alamat 0 sampai maksimum. Panjang tiap segmen
dapat berbeda sampai panjang segmen maksimum. Panjang segmen dapat berubah
selama eksekusi. Dalam segmentasi memungkinkan pemrogram memandang memori
berisi banyak ruang alamat atau segmen.
Spesifikasi alamat pada memori
bersegmen ada dua dimensi. Alamat terdiri dari 2 bagian :
1.
Nomor segmen
2.
Alamat pada segmen itu
(offset)
Segmen dapat berisi :
·
Prosedur
·
Array
·
Stack
·
Atau kumpulan variable
skalar
Teknik segmentasi mempunyai
keunggulan dibanding ruang alamat tak bersegmen, yaitu :
1.
Menyederhanakan
penanganan struktur data yang berkembang
2.
Kompilasi ulang
independen tanpa mentautkan kembali (Relink) seluruh program
3.
Memudahkan pemkaian
memori bersama diantara proses-proses
4.
Memudahkan untuk
proteksi
Berikut skema sistem kombinasi
paging dan segementasi :
Contoh
sistem dengan memori maya :
1.
Memori
maya dengan segmentasi murni
Perangkat
memberikan pengauan memori suatu segmen tertentu. Pilihan segmen dapat dibuat
dengan sembarang kombinasi berikut :
·
Intruksi
·
Target dari suatu
alamat(program atau data)
·
Status saat itu
(proses, sistem, atau interupsi )
Keunggulan :
Segmen-segmen berkorespondensi dengan
unit-unit program, sehingga segmen-segmen ideal untuk proteksi dan pemakaian
bersama. Biasanya program hanya menggunakan beberapa segmen sehingga hanya
ruang kecil yang diperlukan. Informasi deskriptor dapat disimpan di register di
MMU.
Kelemahan:
Segmen-segmen berukuran bervariasi
menyebabkan fragmentasi eksternal dan sulit menyeleseikan pertumbuhan dinamis.
Segmen-segmen tidak memetakan blok-blok disk untuk memori maya secara alami.
Contoh sistem : Intel 80386
2.
One
level paging
Nomor
page maya digunakan sebagai indeks ke table pagr (pagr table) yang biasanya
berlokasi dimemori utama. Isian table page berisi nomor page fisik dan bit-bit
proteksi. Offset pada page fisik sama dengan offset pada page maya. Dalam
beberapa kasus, register panjang (length)digunakan untuk menetapkan akhir table
page untuk menghindari ruang yang disiakan untuk isian-isian tak berguna.
Keunggulan
Semua bentuk paging mengeliminasi
fragmentasi eksternal dan menyederhanakan alokasi dan pertumbuhan dinamis.
Kelemahan
Sejumlah besar ruang memori utama
yang dicadangkan untuk table page sehingga menyediakan ruang alamat mya besar
dengan page-page berukuran tertentu.
Contoh sistem : Dec PDP-11, DEC
VAX, Data general eclipse, Motorola MC68030
3.
Two
level paging
Keunggulan
Mekanisme ini mengkombinasikan
keunggulan segmentasi dan paging. Pemakaian bersama dapat dilakukan di level
segmen, mereduksi kebutuhan isian – isian table page yang redundan. Table-table
page tidak perlu berada dimemori utama dan tidak perlu kontigu dimemori utama.
Hal ini memungkinkan alokasi dan pertumbuhan table page yang sederhana dan
memungkinkan menggunkan ruang alamat maya relatif besar.
Kelemahan
Ruang alamat maya sangat besar
(misalnya 4 gygabyte) memerlukan jumlah ruang besar table segmen yang harus
disimpan di memori utama danharus kontigu. Contoh Sistem : DEC VAX, IBM S/370
4.
Three-Level
Paging
Translasi nomor page maya ke nomor
page fisik memerlukan tiga tahap. Tiap field indeks ditambahkan alamat dasar
table yang berkorespondensi untuk menemukan isian table berikutnya. Kemudian
isian table menyediakan bit-bit proteksi dan alamat dasar table berikutnya.
Keunggulan
Mekanisme table page banyak tingkat
untuk inplementasi memori maya dengan ruang alamat sangat besar. Table page
banyak tingkat memerlukan table-table page besar. Implementasi ruang memori
maya sangat besar dengan table tidak terlalu banyak.
Kelemahan
Alokasi dan pertumbuhan dinamis
table segmen menjadi sulit.
Contoh sistem : SUN SPARC,
menggunakan table page tiga tingkat.
5.
Four
– Level Paging
Translasi nomor page maya ke nomor
page fisik memerlukan empat tahap. Tiap field indeks ditambahkan alamat dasar
table yang berkorespondensi untuk menemukan isian table berikutnya. Kemudian
isian table menyediakan bit-bit proteksi dan alamat dasar table berikutnya.
Keunggulan
Mekanisme ini berguna untuk program
yang menggunakan ruang alamat memori yang sangat besar. Program-program LISP
besar yang secara kontinyu mengalokasikan dan melepaskan daerah memori adalah
tipe aplikasi yang cocok dengan mekanisme ini. Kelemahan
Kondisi terburuk yang memungkin
adalah kondisi untuk translasi memerlukan sebanyak empat pengacuan memori,
masing-masing menghasilkan page fault. Karena kebanyakan page hanya memiliki
beberapa isian, table-table akan mempunyai fragmentasi internal sangat besar.
Contoh sistem : Motorola MC68030
Studi
kasus tentang fasilitas memori di intel x86
Fasilitas manajemen memori di intel
x486
Pemrosesan i486 membantu sistem
operasi mengelola memori. Saat bebrpa program berjalan pada waktu yang sama,
pemrosesan membri ruang alamat independen untuk masing-masing program. Dukungan
manajemen memori intel x486 sangat fleksble mencakup lima ragam teknik memori.
Manajemen memori di i486 terdiri
dari :
·
Segmentasi
Memberikan
masing-masing program suatu ruang alamat terproteksi
·
Paging
Mendukung lingkungan
dimana ruang alamat besar disimulasikan menggunakan sejumlah RAM dan
penyimpanan sekunder.
Studi
kasus tentang manajemen memori di MS-DOS dan Linux
MS DOS
Ruang alamat proses terbagi menjadi
emapt segmen dengan ukuran dan properti kerumitan ini disebabkan arsitektur
mesin intel 8086/88. Intel 8086/88 mempunyai emapt segmen memori yaitu :
·
CS(Code segment) untuk
mencatat kode program
·
DS(Data Segment) untuk
mencatat data
·
SS(Stack Segment) untuk
mencatat stack
·
ES(Extra Segment) untuk
tambahan
PERBEDAAN SEGMENTASI DAN SISTEM PAGING
Ada beberapa perbedaan antara Segmentasi dan Paging diantaranya adalah:
1.
Segmentasi melibatkan
programer (programer perlu tahu teknik yang digunakan), sedangkan dengan paging, programer tidak perlu
tahu teknik yang digunakan.
2.
Pada segmentasi
kompilasi dilakukan secara terpisah sedangkan pada paging, kompilasinya tidak
terpisah.
3.
Pada segmentasi
proteksinya terpisah sedangkan pada paging proteksinya tidak terpisah.
4.
Pada segmentasi ada shared code sedangkan pada paging tidak ada shared code.
5.
Pada segmentasi
terdapat banyak ruang alamat linier sedangkan pada paging hanya terdapat satu ruang alamat
linier.
6.
Pada segmentasi
prosedur dan data dapat dibedakan dan diproteksi terpisah sedangkan pada paging prosedur dan data tidak dapat
dibedakan dan diproteksi terpisah.
7.
Pada segmentasi
pengubahan ukuran tabel dapat dilakukan dengan mudah sedangkan pada Paging pengubahan ukuran tabel tidak dapat
dilakukan dengan mudah.
8.
Segmentasi digunakan
untuk mengizinkan program dan data dapat dipecahkan jadi ruang alamat mandiri
dan juga untuk mendukung sharing dan proteksi sedangkan paging digunakan untuk mendapatkan ruang
alamat linier yang besar tanpa perlu membeli memori fisik lebih.
Sumber :
·
Bambang
Harianto,"sistem Operasi"
·
ikc.dinus.ac.id/umum/ibam/ibam-os-html/x3571.html (27 Juni 2013)
Tidak ada komentar:
Posting Komentar