Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Virtual Memori Defiana Arnaldy, M.Si 0818 0296 4763

Presentasi serupa


Presentasi berjudul: "Virtual Memori Defiana Arnaldy, M.Si 0818 0296 4763"— Transcript presentasi:

1 Virtual Memori Defiana Arnaldy, M.Si

2 Manajemen Virtual Memory Konsep memori virtual yang dikemukakan Fotheringham pada tahun 1961 pada sistem komputer Atlas di Universitas Manchester, Inggris: “ Kecepatan maksimum eksekusi proses di memori virtual dapat sama, tetapi tidak pernah melampaui kecepatan eksekusi proses yang sama di sistem tanpa menggunakan memori virtual."

3 Definisi Adalah teknik pemetaan memori yang melibatkan memori sekunder, umumnya disk. Secara sistem logika, ukuran memori lebih besar daripada ukuran memori utama secara fisik. Teknik yang memisahkan memori logika user dari memori fisik. Melibatkan mekanisme swapping

4

5 Keuntungan Virtual Memory Lalu lintas I/O menjadi rendah. Berkurangnya total memori fisik yang dibutuhkan. Meningkatnya respon, karena tidak deadlock. Bertambahnya jumlah user yang dapat dilayani. Memori virtual melebihi daya tampung dari memori utama yang tersedia.

6 Implementasi Virtual Memory Virtual Memory digunakan pada: multiprograming Memori virtual dapat dilakukan dengan cara: Demand paging Demand Segmentation

7 Konsep Dasar Image proses akan diinisialisasi di area swap space, yaitu suatu lokasi di media penyimpan sebagai ekstensi memori utama. Swap space dapat berupa suatu berkas atau partisi khusus, dan unit terkecilnya disebut page. Pengalihan page dari swap space ke memori utama menggunakan teknik lazy swapper, yaitu hanya page proses yang dibutuhkan yang akan dialihkan ke memori utama.

8 3 Fungsi Utama Virtual Memori 1. Sebagai Perangkat cache Memanfaatkan DRAM dengan memperlakukan cache yang tersimpan di disk Memori utama hanya menyimpan data aktif VM melakukan transfer data antara disk dan memori seperlunya 2. Sebagai Perangkat Manajemen Memori VM menyederhanakan manajemen memori Pengalamatan disk, memori, cache dilakukan seragam

9 3 Fungsi Utama Virtual Memori 3. Sebagai Perangkat untuk Memproteksi memori VM Melindungi alokasi alamat setiap proses Suatu proses tidak dapat diganggu proses lain Proses tidak dapat mengakses informasi yang bukan haknya Setiap alokasi alamat memiliki hak yang berbeda-beda

10 Bagaimana mengetahui page mana yang masih di swap space dan yang ada di memori utama ? Demand Paging  sistem paging dengan swapping, page diletakkan di memori hanya jika diperlukan

11 Demand Paging Tidak semua program harus diload semua ke memory fisik Hanya yg diperlukan saja Permintaan pemberian page menggunakan swapping. Page hanya akan di-swap ke memori utama jika benar-benar diperlukan. Program swapper yg digunakan: Lazy swapper – tidak pernah swap page kedalam memory sampai page benar-benar diperlukan Istilah Swapper berarti memanipulasi seluruh proses, sehingga swapper yang khusus berhubungan dengan pages bernama pager

12 Transfer of a Paged Memory to Contiguous Disk Space

13 Demand Paging Pager hanya akan men-swap in dan out page yg dibutuhkan saja, tidak semuanya! Jadi, jika page dibutuhkan  reference to it, tapi blm tentu semua diload ke memory fisik Butuh dukungan perangkat keras, yaitu: Page-table: “valid-invalid bit” Valid (“1”) -> pages berada di memori fisik semuanya, atau pages ada, tapi tidak semuanya, sebagian masih berada di disk. Invalid (“0”) -> pages tidak ada di memory fisik. Memori sekunder, untuk menyimpan proses yang belum berada di dalam memori fisik. Jika proses mengakses lokasi page yg valid, maka proses akan berjalan normal. Jika mengakses yg invalid, maka perangkat keras akan menjebaknya ke Sistem Operasi (page fault).

14 Mekanisme demand paging Konsep dasar: Jumlah frame di memori utama tergantung tingkat multiprogramming. semakin tinggi tingkat multiprogramming, semakin sedikit jatah frame untuk tiap proses Menggunakan bit valid/invalid di page table misal: bit 1  berada di memori utama bit 0  berada di swap space

15 Mekanisme demand paging Jika berstatus invalid, maka trap page fault akan dibangkitkan agar ditangani lebih lanjut oleh rutin SO yaitu: page fault handler. Rutin page fault handler akan menangani operasi swap-in terhadap page yang diperlukan.

16 Page Table When Some Pages Are Not in Main Memory, but in HDD

17 Mekanisme demand paging Langkah-langkah swap-in : Mencari frame memori utama yang kosong. jika tidak ada  dipilih salah satu page dalam frame (victim page) untuk di swap-out. Swap-in Memperbarui rekaman di page table  mengubah validation=1 Restart.

18 Page Fault Jika ada referensi ke sebuah page, ternyata pagenya tidak ada (invalid), maka akan ditrap oleh OS, dan menghasilkan: page fault Untuk menangani page fault menggunakan prosedur berikut: Memeriksa tabel internal (biasanya ada dlm PCB) untuk menentukan valid atau invalid Jika invalid, proses di suspend, jika valid tapi proses belum dibawa ke page, maka kita bawa page ke memory. Cari sebuah frame bebas (free frame). Jadwalkan operasi sebuah disk untuk membaca page tersebut ke frame yang baru dialokasikan. Saat pembacaan selesai, ubah validation bit menjadi “1” yang berarti page telah ada di memory. Ulangi lagi instruksi program yg ditrap td dari awal sehingga bisa berjalan dgn baik.

19 Steps in Handling a Page Fault

20 Yang dibutuhkan oleh Demand Paging Page Tabel yg berisi valid dan invalid bit Secondary Memory yg digunakan untuk menyimpan memory yg belum tertampung di main memory Dikenal dengan nama: swap file (linux) atau pagefile.sys (win)

21 Performansi Demand Paging

22

23

24 Bila menginginkan degradasi kurang dari 10% (EAT bernilai 110), berapakah nilai probabilitas terjadi page fault (p) ? EAT = p 110 > p 10 > p P <

25 What happens if there is no free frame? Yes: Page Replacement. Pendekatan : Jika tidak ada frame yang kosong, cari frame yang tidak sedang digunakan, lalu kosongkan dengan cara menuliskan isinya ke dalam swap space, dan mengubah semua tabel sebagai indikasi bahwa page tersebut tidak akan berada di memori lagi. Bagaimana algoritmanya?

26 Page Replacement Secara umum, algoritma dapat dibagi dua: Global Replacement Victim frame dapat dipilih dari semua frame yang ada Local Replacement Victim frame dapat dipilih dari frame-frame yang sedang ditempati oleh image proses bersangkutan

27 Jenis Page Replacement Global replacement mengijinkan suatu proses untuk menyeleksi suatu frame yang akan dipindah dari sejumlah frame, meskipun frame tersebut sedang dialokasikan ke proses yang lain. Pada local replacement, jumlah frame yang dialokasikan untuk proses tidak berubah. Setiap proses dapat memilih dari frame-frame yang dialokasikan untuknya.

28 Page Replacement

29 Algoritma Page Replacement Bertujuan untuk mendapatkan page fault terendah. Ada beberapa Algoritma Page Replacement: Algoritma FIFO Algoritma Optimal Algoritma LRU Algoritma Perkiraan LRU

30 Algoritma FIFO Page yang diganti adalah page yang paling lama berada di memori. Mudah diimplementasikan. Mudah dimengerti. Bisa mengalami Anomali Belady. Page fault rate meningkat seiring dengan meningkatnya jumlah frame. Hanya terjadi pada beberapa Algoritma Page Replacement.

31 Graph of Page Faults Versus The Number of Frames Anomaly Belady: kecepatan page fault akan bertambah jika framenya bertambah

32 FIFO Page Replacement

33 Algoritma Optimal Page yang diganti adalah page yang tidak akan dipakai dalam jangka waktu terlama. Sulit diimplementasikan (karena prediksi sulit dilakukan) Memiliki page-fault terendah. Tidak akan mengalami Anomali Belady: Tidak : more frames  more page faults

34 Optimal Page Replacement

35 Algoritma Least Recently Used Page yang diganti adalah page yang sudah tidak digunakan untuk periode waktu terlama. Merupakan perpaduan antara Algoritma FIFO dan Algoritma Optimal. Sulit diimplementasikan. Tidak akan mengalami Anomali Belady.

36 Least Recently Used (LRU) Algorithm Reference string: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4,

37 LRU Page Replacement

38 Algoritma LRU Dapat diimplementasikan dengan 2 cara, yaitu : Counter Menggunakan clock yang nilainya akan ditambah 1 tiap kali melakukan reference ke suatu page. Harus melakukan pencarian. Stack Tiap mereference ke suatu page, page tersebut dipindah dan diletakkan pada bagian paling atas stack. Page yang diganti adalah page yang berada di stack paling bawah. Tidak perlu melakukan pencarian. Lebih mahal.

39 Use Of A Stack to Record The Most Recent Page References

40 Seberapa banyak jumlah frame yang butuh dialokasikan ke suatu proses yang berjalan?

41 Alokasi Frame Pengalokasian tiap-tiap proses bervariasi tergantung pada tingkat multiprogramming Jika tingkat multiprogramming nya semakin tinggi, maka proses akan kehilangan beberapa frame Sebaliknya jika tingkat multiprogramming berkurang, maka proses akan mendapat frame melebihi dari yang dibutuhkan.

42 Alokasi Frame Alokasi sama rata (equal allocation) Tiap proses mendapat jumlah frame sama banyak Alokasi proporsional (proporsional allocation) Tiap proses mendapat jumlah frame sesuai dengan besarnya image proses itu. Alokasi berprioritas (priority allocation) Jumlah frame yang dialokasikan untuk tiap proses berdasarkan prioritas.

43 Selesai Terima Kasih

44 Quis 1. Diketahui sistem memory demand paging. Page table menggunakan register. Membutuhkan 8 milidetik untuk melayani page fault jika frame kosong tersedia atau page yang di-replace tidak dimodifikasi dan 20 milidetik jika page yang di-replace dimodifikasi. Waktu akses memori adalah 100 nanosecond. Diasumsikan page yang di-replace akan dimodifikasi adalah 70% dari waktu. Berapa rata-rata page fault yang diterima untuk effective access time tidak lebih dari 200 nanosecond ?

45 2. Diketahui string acuan dari page : 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 Berapa banyak page fault yang terjadi untuk algoritma page replacement berikut dengan tiga, empat dan lima frame ? Menggunakan algoritma a. FIFO b. Optimal c. LRU


Download ppt "Virtual Memori Defiana Arnaldy, M.Si 0818 0296 4763"

Presentasi serupa


Iklan oleh Google