300 likes | 674 Views
SISTEM OPERASI . SISTEM PAGING. Pendahuluan. Program yang dijalankan harus dimuat di memori utama Masalah : ukuran program lebih besar dibanding memori utama yang tersedia Terdapat dua solusi : Overlay Memori maya (virtual memory). Overlay.
E N D
SISTEM OPERASI SISTEM PAGING
Pendahuluan • Program yang dijalankan harus dimuat di memori utama • Masalah : ukuran program lebih besar dibanding memori utama yang tersedia • Terdapat dua solusi : • Overlay • Memori maya (virtual memory)
Overlay • Program dipecah menjadi bagian-bagian yang dapat dimuat memori • Overlay yang belum diperlukan disimpan dalam disk, dan dimuat di memori begitu diperlukan • Menghabiskan banyak waktu & menurunkan kinerja • Contoh :
Memori Maya • Memori virtual adalah teknik yang memisahkan antara alamat memori logis dengan alamat memori fisik. • Hal tersebut berguna agar pengguna (programmer) tidak perlu menentukan alamat fisik dari program yang dijalankan. • Sistem operasi menyimpan bagian proses yang sedang digunakan di memori utama dan sisanya di disk sekunder. Begitu bagian di disk sekunder dibutuhkan maka bagian di memori yang tidak diperlukan diganti dengan bagian didisk yang dibutuhkan itu • Memori maya dapat dilakukan dengan 3 cara : • Paging • Segmentasi • Kombinasi paging dan segmentasi
Sistem Paging • Mengimplementasikan ruang alamat besar pada memori kecil menggunakan index register, base register, dan segmen register • Alamat maya (virtual address) • Alamat yang dihasilkan dengan perhitungan menggunakan index register, base register, segmen register, dsb • Alamat nyata (physical address) • Alamat yang tersedia di memori utama fisik • Page • Adalah unit terkecil virtual address space Istilah pada sistem paging
Istilah pada sistem paging • Page frame • Adalah unit terkecil memori fisik. • Page fault • Adalah exception untuk permintaan alokasi ‘page’ ke memori • MMU (Memory Management Unit) • Chip/kumpulan chip yang memetakan alamat maya ke alamat fisik
Reference string • Reference string adalah string berisi kumpulan alamat-alamat halaman yang merepresentasikan halaman-halaman yang ingin digunakan/di-load. • Kegunaannya adalah untuk menyederhanakan alamat dan mempermudah melihat page fault rate
Algoritmapenggantian Page(page replacement algorithm) • Penggantian page Acak • Algoritma penggantian page NRU (not recently used) • Penggantian page FIFO • Penggantian page Optimal • Penggantian page LRU • Penggantian page CLOCK
Algoritmapenggantian page acak • Mekanismealgoritma Setiapterjadi page fault, page yang digantidipilihsecaraacak. • Teknikinitidakmemakaiinformasiapapundalammenentukan page yang diganti. Semua page dimemoriutamamempunyaibobotsamauntukdipilih. Teknikinidapatmemilihsembarang page, termasuk page yang sedangdiacu (page yang seharusnyatidakdiganti, pilihanterburuk). • Teknikinisangatburuk, percobaanmenunjukkanalgoritmaacakmenimbulkan rate terjadinya page fault yang sangattinggi.
ALGORITMA PENGGANTIAN • Algoritma penggantian page NRU (not recently used): Setiap page diberi status bit R (referenced) dan M (modified). Bit bernilai 0 jika page belum direferensi/dimodifikasi, dan 1 jika sebaliknya. Dari nilai desimalnya didapat 4 kelas:
FIFO page replacement • Prinsip dari algoritma ini adalah seperti prinsip antrian (antrian tak berprioritas), halaman yang masuk lebih dulu maka akan keluar lebih dulu juga. • Algoritma ini mengganti halaman yang paling lama berada di memori (tumpukan teratas).
Contoh : • Diketahui 6 virtual page dan 3 page frame dengan reference string sbb: 2 3 2 1 5 2 4 5 3 2 5 2 • Hitung berapa kali terjadi page fault (page fault rate) jika menggunakan algoritma: A. FIFO B. LRU C. Optimal D. CLOCK
Anomaly Belady • Anomali yang terjadi : PFR naik saat jumlah frame ditingkatkan • Contoh, jika reference string : 1,2,3,4,1,2,5,1,2,3,4,5 • Jumlah frame = 3, PFR = 9 page fault • Jumlah frame = 4, PFR = 10 page fault
LRU page replacement(Least Recently Used ) • Page yang baru saja diakses,berpeluang untuk diakses dalam waktu dekat. • Page yg sudah lama tidak diakses, berpeluang utk tidak diakses dalam waktu yg lama • Asumsinya, halaman yang sudah lama tidak digunakan sudah tidak dibutuhkan lagi dan kemungkinan besar, halaman yang baru di-load akan digunakan kembali.
Optimal page replacement • Algoritma ini adalah algoritma yang paling optimal sesuai namanya. Prinsip dari algoritma ini adalah mengganti halaman yang tidak akan terpakai lagi dalam waktu terdekat. • Algoritma ini memiliki page fault rate paling rendah di antara semua algoritma.
CLOCK page replacement • Algoritma penggantian page yang memperhatikan posisi petunjuk (current) page yang akan diganti dgn page baru
Latihan: • Diketahui 6 virtual page dan 3 page frame dengan reference string sbb: 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1 • Hitung berapa kali terjadi page fault (page fault rate) jika menggunakan algoritma: A. FIFO B. LRU C. Optimal D. CLOCK
Segmentasi • Segmentasi memungkinkan programmer memandang memori sebagai ruangan dengan banyak alamat/segmen • Spesifikasi alamat pada memori bersegmen terdiri dari 2 bagian : • Nomor segmen • Alamat segmen (Offset)
ABSOLUTE LENGTH PROGRAM LENGTH Protection Fault MUX COMPARATOR DATA LENGTH STACK LENGTH ABSOLUTE BASE PROGRAM BASE MUX DATA BASE Physical Address ADDER STACK BASE Segmen offset Gambar : Struktur Mekanisme Segmentasi Sederhana