. first-fit algorithm
. next-fit algorithm
. best-fit algorithm
. worst-fit algorithm
. quick-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.
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.
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
Dengan cara ini, saat alokasi hanya perlu menginspeksi senarai lubang memori
tidak perlu melakukan penelusuran di senarai proses.
Keunggulan
Kelemahan
Quick fit
Cara di atas dapat di perluas, algoritma mengelola sejumlah senarai lubang
memori dengan beragam ukuran yang paling sering diminta.
Contoh
1.senarai 8 kilobyte
2.senarai12kilobyte
3.senarai 20 kilobyte
4.senarai 40 kilobyte
5.senarai 60 kilobyte
6.dan seterusnya.
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.
. 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.
Overhead ini disebut fragmentasi internal karna memori yang disiakan adalah
internal terdapat segmen-segmen yang dialokasikan.
Daftar istilah
Swapping
Dynamic partition
Memory compaction
Bit map
Buddy systems
BAB 10
SISTEM PAGING
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).
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.
Tiap program dialokasikan 256 kb dan bagian – bagian proses disuap masuk
keluar memori dapat diperlukan.
1. paging
2. segmentasi
Bab ini membahas system paging. Bab 11 membahas segmentasi serta kombinasi
paging dan segmentasi disertai contoh memori maya beragam system computer.
• 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 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|.
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
page foult adalah exception untuk permintaan alokasi page kememori dalam
kontek memori maya, page foult sering juga disingkat fault.
• 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.
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.
• 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
Umumnya ruang aamat maya lebih besar disbanding alamat fisik (v>m)
Scenario pemetaan
Misalnya intruksi :
MOV REG, 0 x 08
• Alamat maya 8 dikirim ke MMU
• Dari table, page 0 dipetakan ke frame 7 ( page 7 adalah alamat fisik 28672-
32768).
Papan memori tidak perlua mengetahui MMU, hanya bertanggung jawab untuk
memenuhi perintaan mambaca tau menulis alamat 28680.
Misalnya intruksi:
table page
Table page
Tiap elemen table sedikitnya berisi informasi berikut :
Bernilai 1 bila page dimemori fisik, bernilai 0 bila page tidak di memori fisik.
• No page frame
• 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.
Membebaskan bagian page frame memori fisik yang jarang digunakan dengan
menyimpan page frame itu ke disk.
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.
Misalnya
• Register alamat maya 32 bit
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 :
Kesimpulan
pada pemroses pada memori maya, pengelola page besar dan cepat merupakan
konstrail utama perancangan dan pembangunan pemroses.
Memori asosiatif berisi sejumlah elemen table (antara 8 sampai 32 elemen). Tiap
elemen berisi informasi – informasi mengenai page, yaitu :
• Dan sebagainya
• 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
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).
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.
Pada algortima ini, page diberi dua bit mencatat status page, bit R dan M yaitu :
Dengan 2 bit, maka page – page dikelompokkan menjadi 4 kelas page yaitu
Kelas 0 : tidak sedang diacu, belum dimodifikasi (R = 0, M = 0)
• 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.
• 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).
• 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.
Mekanisme algoritma
• 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.
Mekanisme algoritma
Algoritma LRU adalah ketika teradi page fault maka memindahkan page yang
tidak digunakan paling lama.
Masalah
Sangat mahal.
Algoritmapenggantian FIFO
10.3.2 memodelkan algoritma paging
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
Mesin abstrak
Terdapat mesin abstrak interprefer dengan property berikut
* 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
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
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.
M(m,r)- M(m+1,r),
Bahwa
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 )
4. ukuran page.