Anda di halaman 1dari 38

Kelemahan

. dealokasi sulit silakukan karna terjadi beberapa operasi penggabungan simpul-


simpul di senarai.

9.4 strategi alokasi memori

Terdapat beragam strategi alokasi proses ke memori. Alokasi harus mencari


sekumpulan blok memori yang ukurannya mencukupi untuk memuat proses yaitu
libang kosong yang sama atau lebih besar dibanding ukuran memori yang
diperlukan proses.

Beragam algoritma itu antara lain:

. first-fit algorithm

. next-fit algorithm

. best-fit algorithm

. worst-fit algorithm

. quick-fit algorithm

9.4.1 first-fit algorithm

Strategi ini dapat dilakukan pada pencatatan memori dengan peta bit maupun
senarai berkait. Manajer memori menelusuri peta bit atau senarai berkait sampai
menemukan lubang besar yang memadai untuk ditempati proses. Lubang di bagi
dua, untuk proses dan lubang yang tidak di gunakan kecuali ketika lubang besar
itu tepat sama dengan ukuran yang diperlukan proses.

Keunggulan

Algoritma ini akan menemukan lubang memori paling cepat disbanding algoritma-
algoritma lain.
9.4.2 next-fit algorithm

Strategi ini dapat dilakukan pada pencatatan memori dengan peta bit maupun
senarai berkait. Meknisme algoritma ini sama dengan algoritma first fit algorithm,
hanya penelusuran tidak dimulai dari awal tapi dimulai dari posisi terakhir kali
menemukan segmen untuk proses.

Simulasi oleh bays (1977) menunjukan next fit algorithm berkinerja lebih buruk
dibanding first fit algorithm.

9.4.3 best-fit algorithm

Strategi ini dapat dilakukan pada pencatatan memori dengan peta bit maupun
senarai berkait. Algoritma mencari sampai akhir dan mengambil lubang terkecil
yang dapat memuat proses. Algoritma ini mencoba menemukan lubang yang
mendekati ukuran yang diperlukan.

Kelemahan

. best fit algorithm sangat lambat dibanding first fit algorithm karna selalu
menelusuri seluruhnya setiap kali di panggil.

. best fit algorithm ternyata juga menghasilkan memori di boroskan lebih banyak
dibanding first fit atau next fit karna first fit dan next fit selalu mengisi lubang kecil
yang digunakan.

9.4.4 worst-fit algorithm

Strategi ini dapat dilakukan pada pencatatan memori dengan peta bit maupun
senarai berkait.

Selalu mencari lubang besar yang tersedia sehingga lubang dapat dipecah
menjadi cukup besar agar berguna untuk proses-proses berikutnya. Simulasi
menunjukkan worst-fit algorithm bukan gagasan yang bagus.
9.4.5 Quick-fit algorithm

Strategi ini hanya untuk pencatatan memori dengan senarai berkait.

Keempat algoritma dapat dipercepat dengan mengelola dua senarai yaitu

. senarai untuk proses

. senarai untuk lubang memori

Dengan cara ini, saat alokasi hanya perlu menginspeksi senarai lubang memori
tidak perlu melakukan penelusuran di senarai proses.

Keunggulan

Teknik ini mempercepat pencarian lubang atau penempatan proses.

Kelemahan

Kompleksitas dealokasi memori bertambah dan melambatkan dealokasi


memori karna memori yang dibebaskan harus dipindahkan dari senarai proses
kesenarai lubang.

Quick fit
Cara di atas dapat di perluas, algoritma mengelola sejumlah senarai lubang
memori dengan beragam ukuran yang paling sering diminta.

Contoh

Algoritma mengelola senarai lubang sebagai berikut:

1.senarai 8 kilobyte

2.senarai12kilobyte

3.senarai 20 kilobyte

4.senarai 40 kilobyte

5.senarai 60 kilobyte
6.dan seterusnya.

Senarai mencatat lubang-lubang memori sesuai ukuran lubang. Lubang-lubang


memori dimuat di senarai sesuai ukuran terdekat, misalnya lubang memori 42
dimuat pada senarai 40 kilobyte.

Dengan beragam senarai maka alokasi memori dapat dilakukan dengan cepat
yaitu tinggal mencari senarai terkecil yang dapat menampung proses.

Keunggulan
Algoritma ini sangat cepat dalam alokasi proses.

Kelemahan
Dealokasi sulit dilakukan.

ketika proses berakhir atau dipindah keluar (swap out) maka menemukan
tetangga-tetangga memori yang dipakai proses untuk penggabungan sangat lama.
Jika penggabungan tidak dilakukan, memori akan segera menjadi banyak lubang
kecil yang tidak berguna.

9.5 Sistem Buddy


System buddy adalah algoritma pengelolaan memori yang memanfaatkan
kelebihan penggunaan biner untuk pengalamatan memori. Karakteristik bilangan
biner digunakan untuk mempercepat penggabunan lubang-lubang berdekatan
ketika proses berakhir atau dikeluarkan.

1, 2, 4, 8, 16 byte dan seterusnya, sampai kapasitas memori . pada computer


dengan 1 megabyte memori maka dapat terdapat 21 senarai yaitu dari 1 byte
sampai 1 megabyte.
Mekanisme pengelolaan
. awalnya semua memori adalah bebas an hanya satu senarai 1 megabyte berisi
satu isian tunggal satu lubang 1 mega byte. Senarai senarai lain adalah kosong.

Missalnya proses baru berukuran 85 kilobyte, mekanisme yang dijalankan adalah


sebagai berikut:

. karna hanya terdapat senarai berisi 2k, maka permintaan 85 kilobyte


dialokasikan ke ukuran yang terdekat yaitu berarti 128 kilobyte, 2k terkecil yang
mampu memuat.

. karna tidak tersedia blok berukuran 128 kilobyte, atau 256 kilobyte atau 512
kilobyte, maka blok 1 megabyte dipecah menjadi dua blok 512 kilobyte. Blok-blok
pecahan disebut buddies. Satu beralamat mulai dari o dan lainnya mulai alamat
512 k.

. salah satu blok 512 kilobyte , yang beralamat o dipecah lagi menjadi menjadi
dua blok buddies 256 kilobyte. Satu beralamat mulai dari nol dan lainnya mulai
alamat 256 kilobyte

. blok 256 pada alamat o, kemudian di pecah menjadi 2 blok buddies 128 kilobyte
. blok yang pertama dialokasikan ke proses yang baru.

Keunggulan
System buddy mempunyai keunggulan dibandingkan dengan algoritma-algoritma
yang mengurutkan blok-blok berdasar ukuran. Ketika blok berukuran 2k
dibebaskan, maka manajer memori hanya mencari pada senarai lubang 2k untuk
memeriksa apakah dapat dilakukan penggabungan. Pada algoritma-algoritma lain
yang memungkinkan blok-blok memori dipecah dalam sembarang ukuran, seluruh
senarai harus dicari.

Alokasi dan dealokasi pada system buddy dapat dilakukan dengan cepat.

Kelemahan
Utilitasi memori pada system buddy sangat tidak efesien.

Masalah ini muncul dari kenyataan semua permintaan dibulatkan ke 2k terdekat


yang dapat memuat. Proses berukuran 35 kilobyte harus dialoksikan di 64
kilobyte, terdapat 29 kilobyte yang disiakan.

Overhead ini disebut fragmentasi internal karna memori yang disiakan adalah
internal terdapat segmen-segmen yang dialokasikan.

9.6 alokasi ruang swap pada disk


Strategi algoritma yang dibahas adalah untuk mencatat memori utama. Ketika
proses akan dimasukkan ke memori utama (swap in), system dapat menemukan
ruang untuk proses-proses itu.

Terdapat 2 strategi utama penempatan proses yang dikeluarkan dari memori


utama (swap out) ke disk, yaitu:

.ruang disk tempat swap dialokasikan begitu diperlukan

.ruang disk tempat swap dialokasikan lebih dulu


Ruang disk tempat swap dialokasikan begitu diperlukan
Ketika proses harus dikeluarkan dari memori utama, ruang disk segera
dialokasikan sesuai ukuran proses. Untuk itu, diperlukan algoritma untuk
mengelola ruang disk seperti untuk mengelola memori utama, ketika proses
dimasukkan kembali kememori utama, segera ruang disk untuk swap
didealokasikan.

Ruang disk tempat swap dialokasikan lebih dahulu


Saat proses diciptakan, ruang swap pada disk dialokasikan. Ketika proses harus di
keluarkan dari memori utama, proses slalu ditempatkan ke ruang yang telah
dialokasikan, bukan ke tempat-tempat berbeda setiap kali terjadi swap out. Ketika
proses berakhi, ruang swap pada disk dialokasikan.

Daftar istilah

Swapping

Dynamic partition

Memory compaction

Bit map

First fit algorithm

Next fit algorithm

Best fit algorithm


Worst fit algorithm

Quick fit algorithm

Buddy systems
BAB 10

SISTEM PAGING

10.1 MEMORI MAYA


Program yang dijalankan harus dimuat dimemori utama. Masalah muncul ketika
program lebih besar disbanding memori utama yang tersedia terdapat dua solusi
masalah ini yaitu : oferlay memori maya (virtual memori)

10.1.1 Konsep Overlay

Program dipecah menjadi bagian bagian yang dapat dimuat memori, disebut
oferlay yang belum diperlukan (tidak sedang dieksekusi) disimpan di disk, overlay
ini dimuat ke memori begitu diperlukan (kode dioverlay akan dieksekusi).

Pertukaran overlay masuk dan keluar memori dilakukan system operasi.


Pembagian program menjadi overlay overlay dilakukan pemrogram. Pembagian
program menjadi potongan – potongan kecil dan modular menghabiskan banyak
waktu.

Lembar 10.1 menunjukan struktur umum overlay


gambar 10-1 structur umum overlay

Teknik overlay telah ditinggalkan karena teknik memori maya telah


diimplementasikan dengan murah dan berkinerja bagus.

10.1.2 konsep memori maya


Memori maya adalah kemampuan mengalamati ruang memori melebihi memori
utama yang tersedia. Konsep memori maya pertama kali dikemukakan fothering
pada 1961 untuk system computer atlas diuniversitas manchaster, inggris.

Gagasan memori maya adalah ukuran gabungan program, data, dan stak
melampui jumlah memori fisik yang tersedia. System operasi dapat menyimpan
bagian- bagian proses yang sedang digunakan dimemori utama dan sisanya di
disk. Begitu bagian di disk diperlukan maka bagian dimemori yang tidak
diperlukan disingkirkan diganti bagian di disk yang diperlukan itu.
Penggunaan
Penggunaan program 10 mb dapat berjalan dimesin 2 mb yaitu memilih bagian
proses sebesar 2 mb secara hati – hati dan ditaruh dimemori. Bagian – bagian
proses disuap antara disk dan memori saat diperlukan secara otomatis oleh
system operasi.

Memori maya dan multi programing.


Memori maya dapat diakukan pada system multi programing. Misalnya 10
program 2 mb dapat berjalan dimemori 4 mb.

Tiap program dialokasikan 256 kb dan bagian – bagian proses disuap masuk
keluar memori dapat diperlukan.

Memori maya meningkatkan efisiensi system multi programing. Memori maya


dan multiprogramming adalah dua konsep yang saling melengkapi. Saat proses
menunggu bagian disuap masuk ke memori, menuggu selesainya operasi masuk
atau keluaran, proses diblok, jatah layanan pemroses diberikan ke proses lain.
Rincian managemen memori maya transparan bagi pemrogram. Pemrogram
merasa mempunyai memori sangat besar disbanding memori fisik yang tersedia.
Secara praktis, pemrograman dihilangkan hambatan keterbatasan memori fisik
tanpa bersusah mengatasi sendiri. Memori dapat mengubah kode program
kecepatan eksekusi melambat dipengaruhi waktu tunda pengambilan bagian –
bagian proses dimemori sekunder saat proses berjalan.

Prinsip berikut berlaku:


kecepata maximum eksekusi proses di memori maya dapat sama tapi tidak
pernah, melampaui kecepatan eksekusi proses yang sama disitem tanpa memori
maya.
Memori maya dapat dilakukan dengan 3 cara yaitu:

1. paging

2. segmentasi

3. kombinasi paging dan segmentasi

Bab ini membahas system paging. Bab 11 membahas segmentasi serta kombinasi
paging dan segmentasi disertai contoh memori maya beragam system computer.

10.2 Deskripsi system paging


System paging mengimplementasikan ruang alamat besar pada memori kecil
menggunakan index register, best register, dan segmen register, dll.

Pemakaian seolah mempunya ruang memori sangat besar tanpa mengelola


overlay.

Beberapa istilah pada system paging adalah

• alamat maya(virtual addres)

• alamat nyata (real addres)

• page

• page frame

• page fault

• MMU

Alamat maya
Alamat maya adalah alamat yang dihasilkan perhitungan menggunakan index
register, best register, segmen register, dan sebagainya. Ruang alamat yang
dibentuk alamat maya disebut ruang alamat maya (virtual address space), V.
jumlah alamat pada V disimbolkan dengan |V|.

Alamat maya ini yang diacu proses yang running.

Alamat nyata
Alamat nyata adalah alamat dimemori utama fisik. Ruang alamat yang dibentuk
alamat nyata disebut ruang alamat nyata (real addres space), R jumlah alamat
pada R disimbolkan dengan |R|.

Pada implementasi system memori maya, normalnya |V| >> |R|.

Meski pengacuan proses dilakukan berdasar alamat maya, proses sesungguhnya


berjalan dimemori nyata. Alamat maya harus dipetakan menjadi alamat nyata
saat proses dieksekusi. Pemetaan harus dilakukan dengan sangat cepat atau
kinerja system computer akan menurun drastic. System computer akan
menerjemahkan alamat maya menjadi alamat fisik. Bagian yang bertugas untuk
mematakan adalah MMU.

Page
Page adalah unit terkecil virtual addres space.ruang alamat maya proses
merupakan kelipatan page yang berukuran sama.

Page frame
Page frame adalah unit terkecil memori fisik. Memori fisik secara konseptual
dibagi menjadi sejumlah unit berukuran tetap disebut page frame. Page frame
sering juga disingkat frame

Gambar 10-2 menunjukkan pemetaan page menjadi page frame


Page fault

page foult adalah exception untuk permintaan alokasi page kememori dalam
kontek memori maya, page foult sering juga disingkat fault.

Memori mnajement unit (mmu)


Chip atau kumpulan cip yang memetakann alamat maya ke alamatbfisik.

• Pada computer tanpa memori maya, alamat langsung di letakkn ke bus dan
menyebabkan word memori fisik alamat itu di baca atau di tulis.
• Pada computer dengan memori mya, alamat tidak di letakkan ke bus secara
langsung tapi lewat mmo yang kemudian memetakkan alamat maya ke alamat
memori fisik.

Pada pemroses modern, mmo sudh menyatu di pemroses (on-chip).

Memori fisik berisi sejumlah page frame yang memuat sebagian page-page
proses. Terdapat mekanisme translasi (penerjemehan) alamat (dilakukan mmo)
untuk memetakkan page maya ke alamat fisik. Karna masing-masing pge di
petakan secara terpisah, fram-fram proses tidak perlu menempti memori fisik
berturutan.

System memori maya mempunyai property alamat-alamat kontigu 9berturutan0


pada ruang alamat maya yang tidak harus kontigu di memori nyata. Property ini di
sebut kontigu semu (artivicial contiguity).
Pemakai dibebaskan berurusan dengan letak prosedur dan data di posisikan di
memori nyata. Pemrogram dapat menulis program seperti biasa, yaitu
memperhatikan efesiensi algoritma dan structur program, mengabaikan rincian
structur perangkat keras. Dengan system maya, memori dapat di pandang sebagai
contigu yang berukuran besar.

10.2.1 MMO (memori management unit)


MMU mempunyai fungsi sebagai berikut:

• Pemetaan memori maya ke memori fisik

• Bila alamat memori yang diminta tidak tersedia dimemori fisik, mmo
menerbitkan exception adanya page fault yang melewatkan ke system operasi
untuk menanganinya.
10.2.1.1 Skema pemetaan
Pada computer dengan memori maya, alamat tidak diletakkan ke bus secara
langsung tapi dilewatkan ke mmo yang memetakkan alamat maya ke alamat fisik
pemetan dapat di rumuskan 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 aamat maya lebih besar disbanding alamat fisik (v>m)

Mmo melakukan mekanisme translasi alamat mengasosiasikan alamat maya ke


alamat fisik. Mmo merealisasikan fungsi f : v – M , yaitu :

F(x)={r,jika item x terdapat di memori fisik dengan likasi di r.

{page fault jika item x tidak terdapat pada memori fisik

Scenario pemetaan
Misalnya intruksi :

MOV REG, 0 x 08
• Alamat maya 8 dikirim ke MMU

• MU mengetahui alamat 8 di page 0 ( page 0 memuat alamat maya 0-4095)

• Dari table, page 0 dipetakan ke frame 7 ( page 7 adalah alamat fisik 28672-
32768).

• MMU mentranformasikan alamat 8 sebagai ( 28672-8 = 28680)

• MMU mengeluarkan alamat 28680 ke bus.

Papan memori tidak perlua mengetahui MMU, hanya bertanggung jawab untuk
memenuhi perintaan mambaca tau menulis alamat 28680.
Misalnya intruksi:

MOV REG, 8192


Transformasi menjadi alamat fisik 20480 karena laamat 81 dan 2 terdapat dipage
2 dan dipetakan ke frame 5 (alamat fisik 20480 – 24576).

10.2.1.2 Implementasi Pemetaan( Bagian Internal MMU)

Komponen terpenting MMU adalah

Register alamat maya

table page

register alamat fisik


register alamat maya
menyimpan alamat maya yang diacu.

Nilai deregister alamat maya dibagi menjadi dua bagian, yaitu:

• Sejumlah bit berorder tinggi menyatakan nomor page maya

• Bit – bit sisa adalah offset alamat maya.

Table page
Tiap elemen table sedikitnya berisi informasi berikut :

• Present atau absen bit

Bernilai 1 bila page dimemori fisik, bernilai 0 bila page tidak di memori fisik.

• No page frame

Berisi nomor page frame dimana page berada.

Register alamat fisik


Menyimpan alamat fisik yang disinyalkan ke bus.

Nilai di register alamat fisik dibagi 2 bagian, yaitu :


• Sejumlah bit berorder tinggi menyatakan nomor page frame

• Bit – bit sisa adalah offset alamat frame.

Alamat maya dipecah dibagi 2 yaitu :

• Nomor page maya (bit – bit berkode tinggi)

• Offset

Pemetaan
• Nomor page maya digunakan sebagai indeks ke table page untuk
menemukan isian page maya.

• Dari isian table page dapat diketahui apakah page dapat dipetakan ke
memori fisik ( dengan memeriksa present atau absen bit)

• Apabila alamat terdapat dimemori fisik maka isian ditabel page memuat
nomor page frame. Nomor page frame ditabel page dicopy sebagai bit-bit
berorder tinggi deregister alamat fisik dan ditambah offset dialamat maya.

• Bila alamat tidak ada di memori fisik maka MMU menerbitkan page fault.

• MMU mengcopikan nomor page frame diisian table page dengan indeks
nomor page keregister almat fisik dan menambah dengan offset alamat maya.

Cara kerja ini dapat dilihat pada gambar 10-7


gam
bar 10-7 cara kerja pemetaan oleh MMU
Apabila ternyata nomor page tidak mau dimemori fisik, yaitu nilai present atau
absen diisian table page bernilai 0, MMU menerbitkan page fault. Rangkaian aksi
yang dilakukan adalah sebagai berikut :

MMU memperingatkan page tidak dipetakan kememori fisik dan pemroses


melakukan trap kesistem operasi, disebut page fault.

Membebaskan bagian page frame memori fisik yang jarang digunakan dengan
menyimpan page frame itu ke disk.

Memasukkan page yang diacu ke bagian frame yang dibebaskan.

Mengkonsolidasi pemetaan antar memori maya – memori fisik.

Jika terjadi page fault, system operasi memilih frame dimemori fisik untuk
mengganti dengan page berguna yang akan masuk.

• Jika page yang diganti telah dimodifikasi, page harus ditulis ke disk. Page
yang telah dimodifikasi disebut dirty page

• Jika page belum diubah ( misalnya page yang berisi teks binner program),
copyan di disk masih up to date sehingga page tidak perlu ditulis ke disk.

10.2.2 Tabel – Tabel Paging


Pemakaian table page pada system paging menimbulkan masalah utama, yaitu :

1. table page dapat berukuran luar biasa besar

2. pemetaan harus dilakukan secara cepat

Table page dapat berukuran luar biasa besar

Misalnya
• Register alamat maya 32 bit

• Ukuran page 4 kb = 212 byte


Berarti terdapat 220 page (sejuta page lebih), yaitu alamat maya 32 bit berarti
memori dapat memuat 232 byte

Karena masing – masing page adalah 212 byte

Berarti jumlah page adalah 232/212 = 220 page.

• Register alamat maya 64 bit

• Ukuran page 4 kb,

Berarti akan terdapat 242 page

Bila memori maya sangat besar maka tidak mungkin menggunakan 1 tab tunggal
karna akan diperlukan ukuran table sangat tebal.

Solusi
menggunakan table-tabel bertingkat(serupa indeks bertingkat diorgaisasi berkas
beberapa rancangan table paging untuk beragam sesuai system computer, yaitu :

• DEC PDP – 11 menggunakan paging 1 tingkat (one- level paging)

• DEC FAX menggunakan paging 2 tingkat ( two – level paging)

• SUN SPARC menggunakan paging 3 tingkat ( three - level paging)

• MOTOROLA 68030 menggunakan paging 4 tingkat ( four – level paging)

Pemetaan harus dilakukan secara cepat


Pemetaan alamat maya kealamat fisik dilakukan setiap terjadi pengacauan
memori

Intruksi computer biasanya berbentuk :

Operator operand_1,operand_2,…,operand _end

Pada tiap intruksi, sedikitnya terdapat 1 atau 2 operan. Operan operan


merupakan pengacauan ke memori karena operan disimpan di memori berarti
untuk 1 intruksi
Sedikitnya terjadi satu sampai 2 pengacuan memori. Jika 1 intruksi memerlukan
10 ns, mka pemetaan harus dilakukan beberapa ns saja agar tidak terjadi
bootlenecx.

Kesimpulan
pada pemroses pada memori maya, pengelola page besar dan cepat merupakan
konstrail utama perancangan dan pembangunan pemroses.

10.2.3 Memori Asosiatif


Dari observasi disimpulkan, sebgian besar program cenderung melakukan banyak
pengacuan ke sejumlah kecil page ( prinsip lokalitas ). Sebenarnya hanya sejumlah
kecil elemen table page yang sering dibaca.

Berdasarkan fakta ini, system computer dengan memori maya dapat


memanfaatkan sifat ini untuk mempercepat proses pengacuan tanpa melibatkan
table page. System computer dilengkapi prangkat pemetaan alamat maya ke
alamat fisik tanpa lewat table page. Prangkat ini disebut memori asosiatif
( Associative memory ) atau TLB ( Translation lookaside buffer ). Perangkat ini
dapat dipasang di MMU

Memori asosiatif berisi sejumlah elemen table (antara 8 sampai 32 elemen). Tiap
elemen berisi informasi – informasi mengenai page, yaitu :

• Nomor page maya

• Bit W, untuk mencatat apakah page telah dimodifikasi

• Bit – bit proteksi

• Nomor page frame dari page maya

• Dan sebagainya

Mekanisme kerja memori asosiatif


Jika alamat maya dikirim ke MMU untuk penerjemah, perangkat keras
memeriksa apakah nomor page maya terdapat dimemori asosiatif dengan
membandingkan semua dan memori asosiatif secara simultan (yaitu bersamaan
atau parallel). Mekanismeparalel ini sangat mempercepat.

• Jika ditemukan di memori asosiatif dan pengaksesan tidak melanggar bit –


bit proteksi, maka page frame langsung ditangani memori asosiatif tanpa
melibatkan table page.

• Jika page ditemukan di memori asosiatif tapi melanggar bit – bit proteksi,
makaditerbitkan protection fault. Proteksi ini juga dilakukan table page (bila isian
table page dilengkapi bit – bit proteksi)

• Jika nomor page maya tidak dapat dimemori asosiasi, maka MMU mencari
ditabel page. Salah satu elemen memori asosiatif disingkirkan dan diganti elemen
table page yang ditemukan. Elemen yang disingkirkan dikembalikan ke table page
dimemori. Jika page itu kembali digunakan, maka hanya akanditangani memori
asosiatif tanpa MMU.

Rasio pengacuan memori yang hanya melalui memori asosiatif disebut hit ratio.
Semakin tinngi hit ratio, semakin bagus kinerja system. Dengan memori asosiatif
maka kinerja rata – rata system dipengaruhi oleh

• Waktu akses table page

• Waktu akses memori asosiatif

• Nilai hit ratio

Kebanyakan system computer modern dilengkapi memori asosiatif MIPS R2000


Merupkan system yang hanya mengandalkan memori asosiatif tanpa table page
MIPS R2000 adalah mesin RISC berunjuk kerja tinggi.

10.3 Penggantian Page


saat terjadi page fault berarti harus diputuskan page frame dimemori fisik yang
harus diganti. Kinerja system akan baik jika page diganti dipilih yang tidak akan
digunakan dimasa datang. Jika page yang diganti akan kembali digunakan maka
page akan dikembalikan secepatnya yang berarti terjadi page fault berulang kali.
Banyaknya page fault menghasilkan banyak overhead.

Algoritma penggantian page antara lain :

1. Algoritma penggantian page acak (random page replacement algoritma)

2. Algoritma pneggantian page optimal

3. Algoritma penggantian page NRU

4. Algoritma penggantian FIFO

5. Algoritma penggantian page modifikasi dari algoritma FIFO

6. Algoritma penggantian page LRU

10.3.1 Algoritma – algoritma penggantian page


10.3.1.1 Algoritma Penggantian Page acak

Mekanisme algoritma

Setiap terjadi page fault, page yang diganti dipilih secara acak.

Teknik ini tidak emakai informasi apapun dalam menentukan page yang diganti.
Semua page dimemori utama mempunyai bobot sama untuk dipilih. Teknik ini
dapat memilih sembarang page, termasuk page yang sedang diacu (page yang
seharusnya tidak diganti, pilihan terburuk).

Teknik ini sangat buruk, percobaan menunjukkan algoritma acak menimbulkan


rate terjadinya page fault yang sangat tinggi.

10.3.1.2 Algoritma Penggantian Page Optimal


Mekanisme algoritma
Dasar algoritma ini adalah memilih page yang berpeluang dipakai kembali di masa
datang yg paling kecil.

Startegi ini akan menghasilkan jumlah page fault paling sedikit. Algoritma ini
adalah algoritma utopia (ideal tanpa dapat dijadikan kenyataan) karena tak
mungkin dibuat prosedur yang dapat mengetahui peluang pemakaian suatu page
kembali di masa datang. Metode ini tak mungkin diterapkan.

Pendekatan ini dapat dilakukan dengan simulasi. Tapi simulasi hanya spesifik
suatu program. Bila yang terbaik tak dimungkinkan, maka yang perlu dilakukan
adalah berusaha mendekatinya. Algortima penggantian page diusahakan
kinerjanya mendekati optimal. Tiap algoritma penggantian page mengumpulkan
dan memakai informasi untuk menentukan page yang diganti sehingga mendekati
optimal.

Algortima penggantian page optimal penting untuk kajian teoretis, sebagai


pembanding bagi algortima – algoritma penggantian page yang lain.

10.3.1.3 Algortima Penggantian page NRU (Not – Recently Used)


Mekanisme algoritma

Pada algortima ini, page diberi dua bit mencatat status page, bit R dan M yaitu :

Bit R : referenced (menyatakan page sedang diacu)

Bit R = 1 Berarti sedang diacu

Bir R = 0 berarti tidak sedang dibaca

Bit M : modified (menyatakan page telah dimodifikasi)

Bit M = 1 berarti dimodifikasi

Bit M = 0 berarti tidak dimodifikasi

Dengan 2 bit, maka page – page dikelompokkan 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)

• Memilih mengganti page kelas bernomor terendah (bila terdapat page –


page dikelas itu) secara acak.

• Bila kelas tersebut kosong maka dipilih page dikelas lebih tinggi, dan
seterusnya.

Algoritma ini mengasumsikan kelas – kelas bernomor lebih rendah baru akan
digunakan kembali dalam waktu relative lama.

Algoritma ini mudah dipahami dan diimplementasikan. Implementasi algoritma ini


sangat efesien karena tak banyak langkah dalam pemilihan page. Algoritma ini
memang tidak optimal, tapi dalam kondisi – kondisi normal telah memadai.

10.3.1.4 Algoritma Penggantian page FIFO (First-in, First-out)


Mekanisme algoritma

Algoritma ini memerlukan pengelolaan senarai page dimemori, elemen terdepan


senarai adalah page tertua dan ujung belakang adalah page paling akhir datang.

• Bila terjadi page fault, page elemen terdepan (page tertua) diganti dan
page baru ditambahkan diujung belakang senarai.

Dengan hanya informasi mengenai lama berada dimemori, maka algoritma ini
dapat memindahkan page yang sering digunkan. Boleh jadi page itu berada terus
dimemori karena selalu digunakan. Page itu karena mengikuti pola antrian
berdasar lamanya berada dimemori menjadi elemen terdepan, diganti, dan
segera harus masuk kembali ke memori sehingga terjadi page fault kembali.
Algoritma FIFO murni jarang digunakan, tetapi dikombinasikan (modifikasi).

10.3.1.5 Modifikasi Terhadap FIFO


Kelemahan FIFO yang jelas adalah algortima dapat memilih memindahkan page
yang sering digunakan yang lama berada dimemori. Kemungkinan ini dapat
dihindari dengan hanya memindahkan page tidak diacu. Page ditambah bit R
mencatat apakah page diacu atau tidak. Bit R bernilai 1 bila diacu dan bernilai 0
bila tidak diacu

Variasi dari FIFO antara lain :

• Algoritma penggantian page kesempatan kedua (secondchance page


replacement algorithm)

• Algoritma penggantian clockpage (clock page replacement algorithm)

Algortima Penggantian Page Kesempatan Kedua


Mekanisme algoritma

• Saat terjadi page fault, algoritma memilih page elemen terdepan diganti
bila bit R bernilai 0.

• Bila bit R bernilai 1, maka bit page terdepan senarai direset menjadi 0 dan
diletakkanke ujung belakang senarai. Mekanisme ini kembaliditerapkan ke
elemen berikutnya.

Algoritma penggantian clock page


Algoritma penggantia page kesempatan kedua merupakan algoritma yang
memadai tapi tidak efisien karena memindahkan page – page di senarainya.
Algoritma penggantian clock page merupakan perbaikan algoritma pertama.

Mekanisme algoritma

• Pada algoritma ini, semua page merupakan senarai melingkar membentuk


pola jam. Terdapat penunjuk (pointer) ke page tertua.
Ketika terjadi page fault, page yang ditunjuk diperiksa.

• Jika bit R bernilai 0, maka page diganti. Page baru ditempatkan ditempat
page diganti, dan penunjuk dimajukan satu posisi ke page berikutnya.

• Jika bit R bernilai 1, maka bit R direset menjadi 0, dan penunjuk dimajukan
satu posisi. Seterusnya sampai menemui page dengan bit R bernilai 0.

Kedua algoritma adalah sama, hanya berbeda dalam implementasi, yaitu :

• Algoritma penggantian page kesempatan kedua menggunakan senarai


harus tidak sirkular.

• Algoritma penggantian clock page menggunakan senarai sirkular.

10.3.1.6 algoritma penggantian page LRU (least recently used)

Berdasarkan observasi, page-page pada beberapa intruksi terakhir


berkemungkinan besar kan dipakai kembali. Page-page yang lama tidak digunakan
akan tetap tidak digunakan dalam waktu lama.

Mekanisme algoritma

Algoritma LRU adalah ketika teradi page fault maka memindahkan page yang
tidak digunakan paling lama.

Masalah
Sangat mahal.

Kemahalan diseabkan harus mengelola senarai informasi seluruh page dimemori.


Senarai harus terurut berdasar kemutakhiran penggunaan. Senarai harus di
perbarui setiap terjadi pengacauan memori. Begitu terjadi pengacuan memori,
harus dlakukan operasi menemukan page disenarai, dipindahkan sebagai teal
depan yaitu paling mutakhir diacu. Mekanisme ini memerlukan waktu yang sangat
banyak.
10.3.1.7 Contoh eksekusi paging

Algoritma penggantian page optimal

Algoritma penggantian page LRU

Algoritmapenggantian FIFO
10.3.2 memodelkan algoritma paging

10.3.2.1 Anomall belady ( belady’s anomaly )


Tampaknya beralasan bila dinyatakan bahwa bila lebih banyak page dialokasikan
untuk proses maka page-fault yang akan terjadi lebih sedikit. Belady justru
menemukan fenomena menyimpang dari prasangka umum ( anomaly) yaitu pada
algoritma FIFO maka pada pola-pola pengacuan tertentu menyebabkan lebih
banyak page fault bila alokasi page untuk proses ditambah. Fenomena
menyimpang ini disebut anomaly belady.

Fenomena dapat diilustrasikan sebagai berikut ini:

• Program dengan lima page

• Urutan page yang diacu adalah 0 1 2 3 4 0 1 4 0 1 2 3 4


 Gambar 10-12 (a) fifo dengan tiga page frame menghasilkan 9
page fault
 Gambar 10-12 (b) fifo dengan empat page frame, menghasilkan
10 page fault.

10.3.2.2 mesin abstrak eksekusi program


Setiap proses dimemori maya menghasilkan barisan pengacuan memori saat
berjalan. Pengacuan memori berkorespondensi dengan satu page. Secara
konseptual, pengaksesan memori dicirikan senarai (berurutan) nomor page.
Seneral ini disebut sring pengacuan ( reference string )

Pemodelan computer dengan satu proses yaitu mesin mempunyai satu string
pengacuan dokterministrik tunggal. Pada computer banyak proses harus
diperhatikan dampak inferleaving string acuan disebabkan multiprogramming.
Pembahasan ini hanya pengenalan, model untuk computer dengan banyak proses
tidak dibahas

System paging dicirikan tiga hal, yaitu:

1. strong pengacuan proses yang sedang dieksekusi

2. allgoritma penggantian page yang digunakan


3. jumlah page frame yang tersedia ( pada memori )

Mesin abstrak
Terdapat mesin abstrak interprefer dengan property berikut

1. terdapat array internal, m. menyimpan status memori. Array mempunyai n


elemen seperti proses mempunyai n page memori maya.

2. array M terbagi dua, yaitu :

* bagian atas / puncak, yaitu m isian, page di memori utama

* bagian bawah/dasar berisi n-m isian, yaitu semua page yang pernah diacu sekali
tapi telah dipindahkan dan tidak di memori utama.

3. mulanya array m beruoa himpunan kosong karena belum ada page yang telah
diacu dan taka da page yang berada dimemori

Begitu eksekusi dimulai, proses mulai mengeluarkan page sesuai string


pengacuan, satu page pada satu saat. Terhadap page itu, interpreter memeriksa
apakah page berada dimemori ( yaitu merupakan isian bagian puncak array m )

Jika page tidak ada dimemori maka jika terdapat slot kosong dimemori ( yaitu
bagian puncak kurang dari m) page dimuat dan dimasukkan ke puncak m, situasi
ini hanya terisi m), algoritma penggantian dijalankan untuk mengganti page dari
memori utama pada model ini, naja satu page pindah dari bagian puncak ke
bagian dasar, serta page yang diperlukan dimasukkan ke puncak :

Contoh

1. string pengacuan adalah 0 1 2 1 3 5 4 6 3 7 4 7 3 3 5 5 3 1 1 1 7 2 3 4 1

2. ruang alamat maya adalah 8 page dengan memori fisik 8 page

3. algoritma penggantian dengan LRU


Model ini mempunyai property, yaitu
1. ketika page diacu selalu dipindahkan ke isian puncak dari array M.

2. jika page yang diacu ada di M, semua page diatasnya di pindah satu posisi ke
bawah. Transisi dari dalam kotak keluar berkorespondensi dengan page
dipindahkan dari memori.

3. page-pae yang dibawah page yang diacu, tidak di pindahkan.

Terdapat kelas algoritma dengan property

M(m,r)- M(m+1,r),

Bahwa

M adalah jumlah page frame memori fisik

R adalah pengacauan memori

Property ini menyatakan bahwa untuk memori dengan m page frame setelah r
pengacauan memori maka juga termasuk m untuk memori dengan m+1 page
frame.
Dengan kata lain, jika kita tingkatkan ukuran memori dengan satu page frame dan
proses dieksekusi kembali maka pada setiap titik eksekusi yang sama, semua page
pada eksekusi pertama juga terdapat pada eksekusi kedua dengan satu
tambahan page.

LRU mempunyai property ini, sedang FIFO tidak memiliki property ini. Algoritma-
algoritma yang mempunyai property ini disebut algoritma stack
(stack algorithms )

10.4 masalah-masalah utama pada system pagging


1. working set model

2. kebijaksanaan penggantian local vs global

3. frekuensi page fault

4. ukuran page.

Anda mungkin juga menyukai