2. By:Rasim. ST 2
Sistem Paging
Sistem paging mengimplementasikan ruang alamat besar pada
memori kecil menggunakan index register, base
register, segment register, dll.
Istilah pada sistem paging:
Alamat virtual = V; Alamat yg dihasilkan dgn perhitungan
menggunakan index register, base register, segment reg dsb.
Alamat nyata (real address = R); Alamat yang tesedia di
memori utama fisik.
Page; Unit terkecil virtual address space.
Page frame; Unit terkecil memori fisik.
Page fault; Permintaan alokasi page ke memori yang belum
dipetakan.
MMU (Memory Management Unit); Chip atau kumpulan chip
yang memetakan alamat maya ke alamat fisik.
3. By:Rasim. ST 3
Tabel Page
Alamat virtual dibagi menjadi dua
bagian:
• Nomer Page (bit-bit awal)
• Offset (bit-bit akhir)
• Secara metematis: tabel page merupakan fungsi
dgn nomer page sebagai argumen dan nomer
frame sebagai hasil.
Sistem Paging
4. By:Rasim. ST 4
Memori Asosiatif
Tabel Page biasanya diletakkan di memori, dengan demikian
diperlukan dua kali referensi ke memori : sekali untuk mencari
page, dan sekali untuk mencari data yang akan diproses.
Solusi:
Komputer dilengkapi dengan komponen hardware kecil untuk
pemetaan alamat virtual ke alamat fisik tanpa menelusuri seluruh
tabel page.
Komponen ini disebut memori asosiatif atau translation
lookaside buffer, yang biasanya berada di dalam MMU, dan berisi
beberapa entri.
Bagian referensi memori yang dapat dipenuhi dari memori asosiatif
disebbut hit ratio. Makin tinggi hit ratio, makin baik performance
manajemen memori khususnya, dan komputer umumnya.
Sistem Paging
5. By:Rasim. ST 5
ISU DISAIN SISTEM PAGING
Model Working Set
Dalam bentuk paging murni, proses dimulai dengan memori
kosong, dan page-page dimasukkan ke dalamnya setelah
diminta. Cara ini disebut demand paging.
Locality of reference: Kecenderungan proses untuk memakai
satu set page yang sama selama beberapa saat.
Satu set page tersebut di atas membentuk working set. Dalam
hal ini, yang diusahakan oleh sistem operasi adalah agar
working set berada utuh di memori pada saat eksekusinya.
Jika ukuran memori terlalu kecil untuk working set, akan
seringkali terjadi page fault. Hal ini disebut thrashing.
6. By:Rasim. ST 6
Banyak sistem paging yang mengusahakan
agar working set sudah ada di memori
sebelum proses dimulai. Pendekatan ini
disebut model working set. Tujuannya adalah
untuk memperkecil jumlah terjadinya page fault
(page yang diminta tidak ada di memori).
Memasukkan page ke memori sebelum proses
dimulai juga disebut prepaging.
Untuk pertama kali menentukan working
set, dipakai sistem aging untuk mengetahui
berapa kali jumlah pemakaian setiap page.
ISU DISAIN SISTEM PAGING
7. By:Rasim. ST 7
Ukuran Page
Ukuran page merupakan salah satu parameter
yang ditentukan oleh perancang sistem
operasi.
Penentuan ukuran page yang optimum harus
menyeimbangkan beberapa faktor.
Rata-rata, page terakhir hanya akan terisi
setengah (fragmentasi internal), berarti page
sebaiknya kecil. Tetapi page yang kecil akan
menghasilkan tabel page yang panjang.
ISU DISAIN SISTEM PAGING
8. By:Rasim. ST 8
Demand Paging
Demand paging atau permintaan pemberian
halaman adalah salah satu implementasi dari
memori virtual yang paling umum digunakan.
Demand paging pada prinsipnya hampir sama
dengan permintaan halaman (paging) hanya
saja halaman (page) tidak akan dibawa ke ke
dalam memori fisik sampai ia benar-benar
diperlukan.
Untuk itu diperlukan bantuan perangkat keras
untuk mengetahui lokasi dari halaman saat ia
diperlukan.
9. By:Rasim. ST 9
Karena demand paging merupakan
implementasi dari memori virtual, maka
keuntungannya sama dengan
keuntungan memori virtual, yaitu:
• Sedikit M/K yang dibutuhkan.
• Sedikit memori yang dibutuhkan.
• Respon yang lebih cepat.
• Dapat melayani lebih banyak pengguna.
Demand Paging
10. By:Rasim. ST 10
Kelebihan Demand Paging
1. Memori virtual yang besar. Memori logis tidak lagi terbatas pada
ukuran memori fisik. Hal ini berarti bahwa besar suatu program tidak
akan terbatas hanya pada ukuran memori fisik tersedia.
2. Penggunaan memori yang lebih efisien. Bagian program yang
dibawa ke memori fisik hanyalah bagian program yang dibutuhkan
sementara bagian lain yang jarang digunakan tidak akan dibawa.
3. Meningkatkan derajat multiprogamming. Derajat multiprogramming
menunjukkan banyaknya proses yang berada di memori fisik. Dengan
penggunaan permintaan halaman maka ukuran suatu program di
memori akan lebih kecil mengingat bahwa hanya bagian program
yang diperlukan saja yang akan dibawa ke memori fisik.
4. Penggunaan M/K yang lebih sedikit. Hal ini dapat terjadi karena
permintaan halaman hanya membawa bagian yang diperlukan dari
suatu program. Penggunaan M/K pada permintaan halaman lebih
sedikit dibandingkan dengan manajemen memori lain yang membawa
seluruh memori logis sebuah program ke memori fisik.
11. By:Rasim. ST 11
1. Processor overhead. Interupsi kesalahan
halaman memberikan kerja tambahan kepada
CPU untuk mengambil halaman yang tidak
berada di memori fisik pada saat diperlukan.
2. Thrashing. Suatu kondisi yang terjadi akibat
kesalahan halaman yang melewati batas
normal. Akibat dari thrashing adalah CPU
lebih banyak mengurusi kesalahan halaman
daripada menangani proses itu sendiri. Hal ini
dapat menurunkan kinerja dari CPU.
Kekurangan Demand Paging
12. By:Rasim. ST 12
SEGMENTASI
Compiler bisa memiliki beberapa tabel dengan
alamat virtual yang terpisah, misalnya terdiri
dari tabel-tabel untuk:
• Source text,
• Tabel simbol,
• Tabel untuk semua konstanta integer dan floating
point,
• Parse tree, berisi analisis sintaksis program, dan
• Stack yang digunakan untuk pemanggilan prosedur.
• Tabel 1 s/d 4 bisa bertambah pada saat kompilasi
berjalan, sehingga dengan sistem paging yang
berukuran tetap, batas satu page bisa terlampaui.
13. By:Rasim. ST 13
SEGMENTASI
Dengan alasan ini dipakai bagian-bagian
dengan alamat yang relatif independen, yang
disebut segmen.
Setiap segmen mempunyai ukuran yang
berbeda dengan yang lain. Panjang segmen
juga bisa berubah selama eksekusi.
Program harus menyediakan alamat yang
terdiri dari dua bagian:
• nomer segmen
• alamat di dalam segmen
14. By:Rasim. ST 14
Segmentasi merupakan skema manajemen
memori yang mendukung cara pandang
seorang programmer terhadap memori.
Ruang alamat lojik merupakan sekumpulan
dari segmen-segmen.
Masing-masing segment mempunyai panjang
dan nama. Alamat diartikan sebagai nama
segmen dan offset dalam suatu segmen.
15. By:Rasim. ST 15
Keuntungan segmentasi
Menyederhanakan penanganan struktur data yang
berkembang.
Kompilasi ulang independen tanpa mentautkan kembali
seluruh program.
Memudahkan pemakaian memori bersama diantara
proses-proses Teknik ini memudahkan
pemakaian memori bersama diantara proses-proses.
Memudahkan proteksi karena segmen dapat dikonstruksi
berisi sekumpulan prosedur atau data
terdefinisi baik, pemrogram atau administrator sistem
dapat memberikan kewenangan pengaksesan secara
nyaman.
16. By:Rasim. ST 16
Segmentasi dengan Paging
Segmentasi dengan Paging : Setiap segmen
dapat dianggap sebagai satu virtual
memori, dan masing-masing dibagi menjadi
page-page.
Salah satu mesin yang memakai cara ini
adalah MULTICS.
Setiap program MULTICS memiliki satu tabel
segmen, dengan satu descriptor per segmen.
Segmen descriptor berisi keterangan apakah
segmen yang bersangkutan ada di memori
atau tidak.