Top Banner
 lts 1 Bab V.3 VIRTUAL MEMORY - Konsep Pengingat Virtual - Peetaan Alaat - Paging ! "egentasi
59

OAK Bab 5.3 Virtual Memory

Nov 03, 2015

Download

Documents

Lita Sari

Konsep pengingat virtual & pengelolaan memory.
Translasi alamat virtual ke alamat fisik.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

Slide 1

lts1Bab V.3

VIRTUAL MEMORY- Konsep Pengingat Virtual- Pemetaan Alamat- Paging & SegmentasiRegistersL2 CacheMemoryDiskTapeInstruksi, OperandBlokPageFileLevel atasLevel bawahlebih cepatlebih besarL1 CacheBlokVirtualMemoryPengingat hierarkhislts3Latar belakang Kapasitas main memory sangat terbatas . Main memory sbg working memory harus mampu mengakomodasi seluruh aplikasi aktif yang sedang dijalankan oleh komputer. Ukuran program aplikasi (+ datanya) > ukuran main memory.AplikasiAMain MemoryDiskAplikasiBAplikasiClts4Secondary memoryMain Memory. .(#%x@% ??programmerprogramXTerbatasnya kapasitas main memory menjadi kendala bagi pemrogram. Ukuran program dan penempatan potongan-potongan program dari disk ke main-memory merupakan tanggung jawab pemrogram.sebelum ada konsep virtual memory .pemetaanMNM > ukuran halaman, sehingga ukuran tabel lebih kecil.Menyederhanakan penanganan struktur data yang tumbuh membesar/mengecil. OS dapat memperkecil atau membesarkan ukuran segment sesuai kebutuhan. Kelebihan Segmentasi (dibandingkan Paging)Kelemahan Segmentasi (dibandingkan Paging) Terjadi fragmentasi eksternal.Algoritma pengelolaan memory (placement, replacement dsb) lebih kompleks dibandingkan Paging.

47Check array boundaries by placing into fitting segmentSwapping: code can be placed anywhere without relocating again, but free mem problem !Average segment size >> average page size: fragmentation problem gets worse

Fragmentasi Eksternal : Tebentuknya ruang-ruang kosong antar segment di MM, ruang-ruang tsb tidak dapat dimanfaatkan karena lebih kecil dibandingkan ukuran segment yg akan masuk ke MM.segment A0segment A1segment A2segment A3segment B0segment B1segment B1segment A3R.virtual aplikasi AR.virtual aplikasi BMM fragment2 fragment1lts49segment A0segment A1segment A2segment A3R.virtual aplikasi Asegment B0segment B1R.virtual aplikasi Bsegment B1segment A3Misalkan segment A1 akan ditempatkan di MM.Karena ukuran fragment1 < ukuran segment A1, begitu juga ukuran fragment2, maka segmentA1 tidak dapat ditempatkan di MM tanpa melakukan replacement. Padahal sebetulnya ukuran (fragment1 + fragment2) > ukuran segment A1. fragment1 fragment2MMKombinasi Paging dan SegmentasiTiap segment dibagi menjadi halaman-halaman berukuran sama (ukuran segment = kelipatan ukuran halaman). Format alamat virtual :Menggunakan dua Tabel untuk translasi alamatTabel Segment : Format entry

Tabel Halaman : Format entrysegment#Page#OffsetbaseLimitcontrol bitsFrame#control bits50lts51segment#Page#OffsetTabel-Segment01:i:Segment iTabel-Halaman Segment i01:j:page jAlamat virtual dataInformasi tentang lokasi Tabel-halaman untuk segment i .Entry# = Page#Entry# = Segment#Segment Table & Page Table ada di main memorysegment#Page#OffseteSegment TableSeg.Table Pointer++feePage Tableaddd+a virtual address data x(utk segment# a)fcffOffset= ccf+cphysical addressd : alamat awal penyimpanan Segment-Table di main memory.e : alamat awal penyimpanan Page-Table (utk segment a) di main memory.F : alamat awal penyimpanan frame dimana data x berada. main memoryabcbFrame#Offsete+bFetch PolicyAda dua policies untuk menentukan kapan suatu halaman atau segment harus dibawa ke main-memory (fisik). Demand paging/segmentation : Halaman/segment dibawa ke main-memory hanya bila terjadi miss (fault) dalam pengaksesan data dalam halaman/segment ybs. Pre-paging : Selain halaman/segment penyebab miss, halaman/segment yang berdekatan (dalam disk) dengannya juga dibawa ke main-memory. 53lts54Placement policyMenentukan dimana halaman/segment ditempatkan dalam main memory. Pada paging atau pada kombinasi paging segmentation, Penempatan tidak menjadi masalah, halaman (pada paging) atau halaman dalam segment (pada paging-segmentation) dapat ditempatkan disembarang page-frame yang kosong. Pada sementation,Penempatan dilakukan pada ruang kosong yang dapat menampung segment ybs. Karena ada banyak ruang kosong di main-memory, maka pemilihan dilakukan dengan menggunakan suatu algoritma penempatan ( algoritma best-fit, first-fit dsb) yang bertujuan untuk meminimalkan fragmentasi eksternal.lts55Algoritma Placement First-fit : Dalam pencarian ruang kosong untuk menempatkan suatu segment berukuran x, akan dipilih ruang kosong pertama yang dijumpai dan yang ukurannya > x.Best-fit : Dalam pencarian ruang kosong untuk menempatkan suatu segment berukuran x, akan dipilih ruang kosong yang ukurannya paling mendekati x.Waktu pencarian melalui algoritma First-fit lebih cepat dibandingkan Best-fit, tetapi akan dihasilkan fragment eksternal yang berukuran besar.Algoritma Best-fit akan menghasilkan fragment eksternal berukuran kecil. search1st FitBest FitDyUkuran : x < z < y Fragment eksternal : Dz < Dy: ruang terisi: ruang kosongsegmentxyzDzReplacement PolicyBila di main-memory sudah tidak ada lagi ruang kosong yang ukurannya lebih besar atau sama dengan halaman atau segment yang harus ditempatkan di main-memory, maka harus dilakukan replacement (penggusuran).Halaman atau segment yang akan digusur (replaced) dipilih berdasarkan algoritma replacement seperti yang digunakan pada pengingat cache.Halaman atau segment yg tidak boleh digusur diberi tanda lock bit = 1 (pada control bits).57lts58DiskMemory-I/O busProcessor

CacheMemoryI/OcontrollerReg(2) DMA Transfer(1) Initiate Block Read,(3) Read DoneKetika Main-memory-miss terjadi pada aplikasi A(4) CPU switch kembali ke aplikasi ACPU switch ke aplikasi lainnyalts593. Memungkinkan proteksi memoryKeuntungan Virtual MemoryMemungkinkan beberapa aplikasi berbagi ruang fisik main memory yg kapasitasnya terbatas.2. Menyederhanakan pengelolaan memory Tiap program yang dijalankan memiliki ruang alamat virtual tersendiri.Karena setiap aplikasi beroperasi di dalam ruang-alamat masing masing maka aplikasi yang satu tidak dapat mencampuri aplikasi lainnya kecuali bila OS memberikan access permission khusus.4. Memberikan kemudahan dalam pemrograman . Programmer dapat menuliskan program yang panjangnya > kapasitas main memory.