Sistem Paging Edi Sugiarto S Kom Pendahuluan Program

  • Slides: 38
Download presentation
Sistem Paging Edi Sugiarto, S. Kom

Sistem Paging Edi Sugiarto, S. Kom

Pendahuluan �Program yang dijalankan harus dimuat di memori utama. �Masalah muncul ketika program yang

Pendahuluan �Program yang dijalankan harus dimuat di memori utama. �Masalah muncul ketika program yang dijalankan lebih besar dibanding memori utama yang tersedia �Terdapat dua solusi untuk masalah ini : ◦ Overlay ◦ Memori maya

Konsep Overlay �Program dipecah menjadi bagian-bagian yang dapat dimuat di memori disebut overlay. �Overlay

Konsep Overlay �Program dipecah menjadi bagian-bagian yang dapat dimuat di memori disebut overlay. �Overlay yang belum diperlukan (tidak sedang dieksekusi) disimpan di disk. �Overlay dimuatkan ke memori begitu diperlukan dengan cara pertukaran antara memori utama dan memori sekunder (disk) oleh sistem operasi.

Sistem Operasi Bagian kode dan data pemakai yang harus selalu ada di memori utama

Sistem Operasi Bagian kode dan data pemakai yang harus selalu ada di memori utama selama eksekusi program Teknik overlay ini telah ditinggalkan karena teknik memori maya telah dapat diimplementasikan dengan murah dan berkinerja bagus Fase inisialisasi Daerah Overlay Fase pemrosesan Fase keluaran

Konsep Memori Maya �Memori maya adalah kemampuan mengalamati ruang memori melebihi memori utama yang

Konsep Memori Maya �Memori maya adalah kemampuan mengalamati ruang memori melebihi memori utama yang tersedia. �Konsep ini dikemukakan pertama kali oleh Fotheringham pada 1961. �Gagasan memori maya adalah ukuran gabungan program, data, dan stack melampaui jumlah memori fisik yang tersedia.

�Contoh penggunaan : ◦ Program 10 Megabyte dapat berjalan di mesin 2 Megabyte, yaitu

�Contoh penggunaan : ◦ Program 10 Megabyte dapat berjalan di mesin 2 Megabyte, yaitu memilih bagian proses sebesar 2 Megabyte secara hati-hati dan ditaruh di memori. ◦ Bagian proses di swap antara disk dan memori saat diperlukan secara otomatis oleh sistem operasi.

�Memori maya meningkatkan efisiensi sistem multiprogramming. �Kecepatan eksekusi dengan teknik memori maya melambat dipengaruhi

�Memori maya meningkatkan efisiensi sistem multiprogramming. �Kecepatan eksekusi dengan teknik memori maya melambat dipengaruhi waktu tunda pengambilan bagian-bagian proses di memori sekunder saat proses berjalan. �Memori maya dapat dilakukan dengan tiga cara : ◦ Sistem paging ◦ Segmentasi ◦ Kombinasi paging dan segmentasi

Deskripsi Sistem Paging �Sistem paging mengimplementasikan ruang alamat besar pada memori kecil menggunakan index

Deskripsi Sistem Paging �Sistem paging mengimplementasikan ruang alamat besar pada memori kecil menggunakan index register, base register, dan segment register. �Dengan sistem paging pemakai seolah memiliki ruang memori yang sangat besar tanpa mengelola overlay.

�Beberapa istilah dalam sistem paging : ◦ Alamat maya (virtual address) ◦ Alamat nyata

�Beberapa istilah dalam sistem paging : ◦ Alamat maya (virtual address) ◦ Alamat nyata (real address) ◦ Page frame ◦ Page fault ◦ MMU

�Alamat Maya ◦ Merupakan alamat yang dihasilkan dari perhitungan menggunakan index register, base register,

�Alamat Maya ◦ Merupakan alamat yang dihasilkan dari perhitungan menggunakan index register, base register, segment register, dsb. ◦ Ruang alamat yang dibentuk alamat maya disebut ruang alamat maya (virtual address space).

�Alamat nyata ◦ Merupakan alamat di memori utama fisik. ◦ Ruang alamat yang dibentuk

�Alamat nyata ◦ Merupakan alamat di memori utama fisik. ◦ Ruang alamat yang dibentuk alamat nyata disebut ruang alamat nyata (real address space). �Page ◦ Adalah unit terkecil virtual address space. ◦ Ruang alamat maya proses merupakan kelipatan page yang berukuran sama.

�Page frame �Page Fault ◦ Adalah unit terkecil memori fisik ◦ Memori fisik secara

�Page frame �Page Fault ◦ Adalah unit terkecil memori fisik ◦ Memori fisik secara konseptual dibagi menjadi sejumlah unit berukuran tetap disebut page frame. ◦ Page frame sering juga disingkat frame. ◦ Sering disingkat fault ◦ Adalah exception untuk permintaan alokasi ‘page’ ke memori dalam konteks memori maya.

Pemetaan Page menjadi Page Frame Memori Maya Memori Nyata

Pemetaan Page menjadi Page Frame Memori Maya Memori Nyata

�Meski pengacuan proses dilakukan berdasarkan alamat maya, proses yang sesungguhnya berjalan di memori nyata.

�Meski pengacuan proses dilakukan berdasarkan alamat maya, proses yang sesungguhnya berjalan di memori nyata. �Alamat maya harus dipetakan menjadi alamat nyata saat proses dieksekusi �Pemetaan harus di lakukan dengan cepat atau kinerja komputer akan menurun drastis. �Sistem komputer akan menterjemahkan alamat maya menjadi alamat fisik, bagian yang bertugas untuk memetakan adalam MMU.

Memory Management Unit (MMU) �Merupakan kumpulan chip yang memetakan alamat maya ke alamat fisik.

Memory Management Unit (MMU) �Merupakan kumpulan chip yang memetakan alamat maya ke alamat fisik. �pada komputer tanpa memori maya, alamat langsung diletakkan ke bus dan menyebabkan word memori fisik diaca atau ditulis. �Pada komputer dengan memori maya, alamat tidak diletakkan ke bus secara langsung tapi lewat MMU yang selanjutnya memetakan alamat maya ke alamat memori fisik.

�Pada pemroses modern, MMU sudah menyatu di pemroses. Pemroses mengirimkan alamat maya ke MMU

�Pada pemroses modern, MMU sudah menyatu di pemroses. Pemroses mengirimkan alamat maya ke MMU PEMROSES MEMORI MMU mengirim alamat fisik ke memori PENGENDALI DISK BUS

�Memori fisik berisi sejumlah page frame yang memuat sebagian page proses. �Terdapat mekanisme translasi

�Memori fisik berisi sejumlah page frame yang memuat sebagian page proses. �Terdapat mekanisme translasi alamat untuk memetakan page ke alamat fisik. �Karena masing 2 page dipetakan terpisah, frame proses tidak perlu menempati memori fisik berurutan. �Sistem memori maya memiliki properti alamat kontigu pada ruang alamat maya namun tidak harus kontigu di memori nyata.

�Properti ini disebut kontigu semu (artificial contiguity). Memori Maya Memori Nyata

�Properti ini disebut kontigu semu (artificial contiguity). Memori Maya Memori Nyata

Fungsi MMU �MMU memiliki fungsi sebagai berikut : ◦ Pemetaan memori maya ke memori

Fungsi MMU �MMU memiliki fungsi sebagai berikut : ◦ Pemetaan memori maya ke memori fisik ◦ Bila alamat memori diminta tidak tersedia di memori fisik, MMU menerbitkan exception adanya page-fault.

Skema Pemetaan �Pada komputer dengan memori maya, alamat tidak diletakkan ke bus secara langsung

Skema Pemetaan �Pada komputer dengan memori maya, alamat tidak diletakkan ke bus secara langsung namun dilewatkan ke MMU yang memetakan alaat maya ke alamat memori fisik. �Umumnya alamat maya lebih besar dari alamat fisik

Komponen Internal MMU Register Alamat Memori Maya Nomor Page Offset Tabel Page Nomor Page

Komponen Internal MMU Register Alamat Memori Maya Nomor Page Offset Tabel Page Nomor Page Frame Offset Register Alamat Memori Nyata

Komponen MMU �Register Alamat Maya ◦ Menyimpan alamat maya yang diacu ◦ Nilai di

Komponen MMU �Register Alamat Maya ◦ Menyimpan alamat maya yang diacu ◦ Nilai di register alamat maya dibagi menjadi 2 : �Bit beroder tinggi yang menyatakan nomor page maya �Bit-bit sisa yang merupakan offset alamat maya �Tabel page ◦ Berisi informasi mengenai �Present bit �Nomor page frame

�Register alamat fisik ◦ Menyimpan alamat fisik yang disinyalkan ke bus ◦ Nilai di

�Register alamat fisik ◦ Menyimpan alamat fisik yang disinyalkan ke bus ◦ Nilai di register alamat fisik dibagi menjadi 2 : �Bit nomor page frame �Bit sisa / offset alamat frame.

�Untuk mendapatkan alamat fisik dapat digunakan rumus sbb : ◦ Nomor Page = Alamat

�Untuk mendapatkan alamat fisik dapat digunakan rumus sbb : ◦ Nomor Page = Alamat Logika div Ukuran Page ◦ Offset = Alamat Logika mod Ukuran Page ◦ Alamat Fisik = nomor frame * ukuran frame + offset

Contoh Translasi Alamat logika : 1502 Nomor Page : 1 0 0 0 1

Contoh Translasi Alamat logika : 1502 Nomor Page : 1 0 0 0 1 Offset : 478 0 1 1 1 1 0 P 0 00101 1 P 1 00110 1 P 2 00011 0 Nomor Frame : 6 0 0 0 1 1 0 Offset : 478 0 1 1 1 1 0 Alamat Fisik : 6622

Tabel-tabel page �Pemakain tabel page pada sistem paging menimbulkan dua masalah utama : ◦

Tabel-tabel page �Pemakain tabel page pada sistem paging menimbulkan dua masalah utama : ◦ Tabel page dapat berukuran sangat besar �Tergantung jumlah bit register alamat dan ukuran page. ◦ Pemetaan harus dilakukan secara cepat. �Pemetaan dilakukan setiap terjadi pengacuan memori

Algoritma Penggantian Page

Algoritma Penggantian Page

Penggantian page �Saat terjadi page fault berarti harus diputuskan page frame di memori fisik

Penggantian page �Saat terjadi page fault berarti harus diputuskan page frame di memori fisik yang harus diganti. �Kinerja sistem akan baik jika page yang diganti dipilih yang tidak akan digunakan di masa mendatang. �Jika page yang diganti akan digunakan kembali, maka page akan dikembalikan secepatnya, alhasil akan terjadi page fault berulang-ulang

Algoritma Penggantian Page �Algoritma untuk penggantian page antaralain : ◦ Algoritma penggantian page acak

Algoritma Penggantian Page �Algoritma untuk penggantian page antaralain : ◦ Algoritma penggantian page acak ◦ Algoritma penggantian page optimal ◦ Algoritma penggantian page NRU (Not. Recently Used) ◦ Algoritma penggantian page FIFO (First In First Out) ◦ Algoritma penggantian page LRU (Least. Recently Used)

Algoritma Penggantian Page Acak �Tidak menggunakan informasi apapun dalam menentukan page yang diganti �Semua

Algoritma Penggantian Page Acak �Tidak menggunakan informasi apapun dalam menentukan page yang diganti �Semua page di memori utama memiliki bobot sama untuk dipilih. �Teknik ini dapat memilih sembarang page termasuk page yang sedang diacu. �Teknik ini sangat buruk.

Reference String Fault 2 0 4 2 2 2 0 0 4 F F

Reference String Fault 2 0 4 2 2 2 0 0 4 F F F 2 2 0 4 5 2 0 5 F 4 4 0 5 F 3 3 0 5 F 2 3 2 5 F 3 3 2 5 5 3 2 5 0 3 2 0 F 5 3 5 0 F 1 1 5 0 F 2 1 2 0 F 1 1 2 0

Algoritma Penggantian Page Optimal �Mekanisme algoritma ◦ Dasar algoritma ini adalah memilih page yang

Algoritma Penggantian Page Optimal �Mekanisme algoritma ◦ Dasar algoritma ini adalah memilih page yang berpeluang dipakai kembali di masa datang yang paling kecil. ◦ Strategi ini akan menghasilkan page fault paling sedikit ◦ Algoritma ini adalah algoritma utopia (ideal tanpa dapat dijadikan kenyataan) karena tak mungkin dibuat prosedur yang dapat mengetahui peluang pemakain kembali page di masa mendatang.

Reference String Fault 2 0 4 2 2 2 0 0 4 F F

Reference String Fault 2 0 4 2 2 2 0 0 4 F F F 2 2 0 4 5 2 5 4 F 4 2 5 4 3 2 5 3 F 2 2 5 3 3 2 5 3 5 2 5 3 0 2 5 0 F 5 2 5 0 1 2 5 1 F 2 2 5 1 1 2 5 1

Algoritma Penggantian Page FIFO �Mekanisme algoritma ◦ Algoritma ini memerlukan pengelolaan senarai di memori

Algoritma Penggantian Page FIFO �Mekanisme algoritma ◦ Algoritma ini memerlukan pengelolaan senarai di memori ◦ Elemen terdepan senarai adalah page tertua dan ujung belakang adalah page paling akhir datang ◦ Bila terjadi page fault. Page elemen terdepan (tertua) diganti dan page baru ditambahkan di ujung belakang senarai.

Reference String Fault 2 0 4 2 2 2 0 0 4 F F

Reference String Fault 2 0 4 2 2 2 0 0 4 F F F 2 2 0 4 5 5 0 4 F 4 5 0 4 3 5 3 4 F 2 5 3 2 F 3 5 3 2 5 5 3 2 0 0 3 2 F 5 0 5 2 F 1 0 5 1 F 2 2 5 1 F 1 2 5 1

Algoritma Penggantian Page LRU �Berdasarkan observasi, page-page pada instruksi terakhir berkemungkinan besar akan dipakai

Algoritma Penggantian Page LRU �Berdasarkan observasi, page-page pada instruksi terakhir berkemungkinan besar akan dipakai kembali. �Page-page yang lama tidak digunakan tetap tidak digunakan dalam waktu lama �Maka algoritma LRU adalah ketika terjadi page fault maka akan memindahkan page yang tidak digunakan paling lama.

Reference String Fault 2 0 4 2 2 2 0 0 4 F F

Reference String Fault 2 0 4 2 2 2 0 0 4 F F F 2 2 0 4 5 2 5 4 F 4 2 5 4 3 3 5 4 F 2 3 2 4 F 3 3 2 4 5 3 2 5 F 0 3 0 5 F 5 3 0 5 1 1 0 5 F 2 1 2 5 F 1 1 2 5