Virtual Memory.

Slides:



Advertisements
Presentasi serupa
Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Syiah Kuala
Advertisements

Sistem Operasi (pertemuan 1) Memori Razief Perucha F.A
Manajemen Memori (Contd).
Manajemen Memory Kelompok 7 : M. Khoirur Roziqin ( )
VIRTUAL MEMORI.
Manajemen Memori Virtual
Manajemen Memory 1 Manajemen Memory Sederhana dan Swapping
Cache Memori Oleh : Ahmad Fuad Hariri Fitriana Nelvi Tino Arif Cahyo
MANAJEMEN MEMORY.
Manajemen Memori (2).
PERTEMUAN – 7 KULIAH SISTEM OPERASI MEMORI
SISTEM PAGING.
SISTEM OPERASI MODUL Sistem Paging Yuli Haryanto, M.Kom
Manajemen Memory.
Sistem Terdistribusi 010 – File Service Oleh : Muh. Ary Azali.
SISTEM PAGING.
SISTEM PAGING STMIK MDP Palembang
Algoritma Pergantian Halaman
MANAGEMENT MEMORY.
Defiana Arnaldy, M.Si Manajemen Memori Defiana Arnaldy, M.Si
Pertemuan 8 Virtual Memory
Operating Systems Concept (Konsep Sistem Operasi) Minggu 11
MATERI 7 SISTEM OPERASI Managemen Memori Oleh : Mufadhol, S.Kom
Struktur Sistem Komputer
Modeling Page Replacement Algorithms
SISTEM OPERASI SISTEM PAGING.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Memory.
SISTEM OPERASI MEMORY MANAGEMENT.
Virtual Memori.
Cache Memory Cache Memory Sifat2:
Defiana Arnaldy, M.Si Virtual Memori Defiana Arnaldy, M.Si
“Manajemen Memori Virtual”
Materi Presentasi MANAJEMEN MEMORI 1 1. Pengertian Memori
Struktur Sistem Komputer
Memori Virtual.
PRESENT BY Rizky Maulidya Nur Islami Syabaniyah Astrie Nova Islamy Novia Sulviatin
Virtual Memori.
Virtual Memory.
Management Memory.
Arsitektur Memory STMIK & AMIK LOGIKA MEDAN
ORGANISASI dan ARSITEKTUR KOMPUTER
Lecture 6 Main Memory Erick Pranata
Manajemen Memori.
Sistem Paging Edi Sugiarto, S.Kom.
Manajemen Memori.
MANAJEMEN MEMORI.
TEKNIK KOMPUTER - UNIKOM Jalan Dipatiukur 112 Bandung
Manajemen Memori (2).
Arsitektur Memory STMIK-AUB Surakarta
Memori Virtual SISTEM OPERASI Slide perkuliahan
Memori Virtual Dosen: Abdillah S.Si., MIT.
Organisasi Komputer 1 STMIK-AUB Surakarta
Memori Virtual SISTEM OPERASI Slide perkuliahan
Sistem Operasi: Pengelolaan Memori
Memori Virtual SISTEM OPERASI Slide perkuliahan
Virtual Memori.
Hierarki Memori Dan Cache Memori..
ORGANISASI & ARSITEKTUR KOMPUTER
Manajemen Memori (2).
Virtual Memori Pertemuan 17 & 18 Sistem Operasi (CSG3E3)
Manajemen Memori Pertemuan 14 & 15 Sistem Operasi (CSG3E3)
Sistem Operasi Teknik Informatika STT Wastukancana Purwakarta
Manajemen Memori (2).
SISTEM OPERASI MODUL Sistem Paging Maria Cleopatra, M.Pd
Manajemen Memory.
MANAJEMEN MEMORY.
MANAJEMEN MEMORY.
Fathiah, S.T.,M.Eng Universitas Ubudiyah Indonesia
Transcript presentasi:

Virtual Memory

Pembahasan Overview Demand Paging

Overview Konsep manajemen memori sebelumnya : Me-maintain banyak proses yang running dalam memori secara multiprogramming Proses berada dalam memori fisik sebelum dieksekusi Dalam overlaying user harus men-dekomposisi struktur program dalam algoritmanya dan menspesifikasi modul-modul overlaynya

Overview Isi program : Algoritma utama yang aktif mengolah data Penanganan kondisi error (exceptional condition) yang amat jarang terjadi Struktur data dynamic allocated yang terpakai secara efektif Struktur data fixed allocated yang biasanya hanya sebagian yang digunakan Modul-modul tertentu yang jarang digunakan

Overview Keuntungan jika tidak semua bagian tersebut ada di memori (hanya bagian yang paling aktif) : Program tidak terkendalakan oleh jumlah memori fisik ; program bisa amat besar Program-program pengendali error (error handling) jarang digunakan. Array, list atau tabel yang dialokasikan melebihi kapasitas yang digunakan. Program-program yang dijalankan belakangan. Lebih banyak program yang dapat running secara konkuren di memori; utilisasi CPU meningkat Lebih sedikit I/O untuk loading/swapping ; program user lebih cepat

Overview Konsep Virtual Memory Melihat memori sebagai “cache” dan disk sebagai “memori” Implementasi dengan demand paging : bagian program berada dalam memori adalah page-page yang sesuai dengan kebutuhan Dapat diimplementasikan melalui : Demand paging Demand segmentation (page segmentasi)

Diagram Virtual Memory lebih besar dari Physical Memory

Demand Paging Sama dengan teknik paging dengan swapping Proses berada dalam secondary storage (biasanya disk) yang terbagi dalam sejumlah page Untuk dapat dieksekusi maka page proses yang diperlukan harus ada di memori Jika belum ada maka page di-swap in (dalam hal ini swapper lebih tepat disebut pager, swap-in/out menjadi page-in/out)

Demand Paging Virtual Memory - Physical Memory Ada, lalu akses Swap page Apakah page di memori ? Demand page Tidak ada, maka page di load

Demand Paging Pertanyaan saat page-in : Page mana yang akan di page-out ? Apakah frame yang akan ditempati kosong ? Jika suatu page yang di page-out merupakan data, perlu / tidak page di storage di-refresh ?

Demand Paging Periksa tabel internal (biasanya pada PCB = process control block) apakah referensi valid/invalid Bila valid tapi belum ada maka di page-in Jika invalid, maka batalkan proses

Transfer of a Paged Memory to Contiguous Disk Space

Dukungan Hardware Page table : tabel memiliki valid/invalid bit serta bit proteksi khusus Secondary memory : memori yang menyimpan seluruh page (biasanya disk) Dikenal sebagai swap device dan bagian disk yang digunakan untuk swap disebut swap space (backing store)

Valid-Invalid Bit Masing-masing entry page table memiliki nilai : (1  in-memory, 0  not-in-memory) Inisialisasi valid–invalid bit di-set 0 untuk semua entry page table Contoh page table : Selama translasi address, jika valid–invalid bit dalam page table adalah 0  page fault. 1  Frame # valid-invalid bit page table

Page Table When Some Pages Are Not in Main Memory

Dukungan Software Kendala arsitektur : kemampuan me-restart instruksi setelah terjadi page-fault Page fault bisa terjadi pada : Memory (data) reference Instruction fetch

Contoh : Instruksi 3 address “ADD C, A, B” dilakukan dalam beberapa tahap : Fetch instruksi ADD Fetch data A ke dalam register Ra Fetch data B ke dalam register Rb Add Ra dan Rb dan hasilnya di register Rc Store hasil Rc ke C Page fault terjadi pada salah satu tahap memerlukan pengulangan dari awal

Steps in Handling a Page Fault

Apa yang terjadi jika tidak ada frame yang kosong ? Page replacement – temukan page dalam memori, tetapi tidak sedang digunakan, swap-out page tersebut Algoritma yang digunakan Performance – algoritma yang digunakan adalah yang menghasilkan jumlah minimum page fault

Performance Demand Paging Rasio Page Fault 0  p  1.0 if p = 0 no page faults if p = 1, every reference is a fault Effective Access Time (EAT) EAT = (1 – p) x memory access time + p (page fault overhead + [swap page out ] + swap page in + restart overhead)

Contoh Demand Paging Memory access time = 1 microsecond (1 sec) 50% dari waktu page yang digantikan (replace), membutuhkan swap-out Swap Page Time = 10 msec = 10,000 sec EAT = (1 – p) x 1 + p (15000) = 1 + 15000p (dalam sec) 5000 sec  overhead

Page Replacement Policy Performance (page fault ratio) bergantung pada page replace policy agar page fault rate (PFR) sekecil mungkin. Jadi pemilihan policy untuk page replacement sangat kritis terhadap performance sistem keseluruhan.

Swap Space Aspek penting dalam demand paging adalah menangani penggunaan swap space (ruang disk yang digunakan untuk swap) Suatu bagian dalam disk dijadikan swap space (di luar sistem file) sebagai penyimpan “virtual memory”

Over-Allocating Memory Peningkatan degree of multiprogramming akan sampai pada situasi Over Allocating Memory Saat terjadi page-fault & hendak page-in ternyata tidak ada frame kosong tersedia Solusi OS : terminate proses user ? NO. Paging harus transparan bagi user.

Solusi Thrashing : swap-out suatu proses (penurunan degree of multiprogramming) Page replacement : mencari salah satu frame yang tidak sedang digunakan dan membebaskannya Menuliskan isi sebelumnya ke swap-space Mengubah page table dimana page tidak ada di memori

Kebutuhan Page Replacement – Over-Allocating Memory

Page Fault Service Menemukan lokasi dari page di dalam disk Menemukan free-frame, jika ada gunakan frame tersebut untuk page yang bersangkutan dan jika tidak ada : Mencari frame yang akan di-replace Page-out frame tersebut ke swap-space dan ubah tabel page & frame Page-in page yang diminta ke frame kosong yang baru, serta ubah tabel page & frame Mulai kembali ke user proses

Page Replacement

Dirty bit (Modify-bit) Saat tidak ditemukan frame kosong maka dilakukan dua kali page transfer (in & out) Untuk mengurangi overhead operasi ini digunakan dirty-bit pada setiap page/frame untuk menunjukkan perlu/tidaknya page dalam disk diupdate (telah terjadi modifikasi) Modify bit di-set ketika word/byte dalam page ditulis (write)  page telah dimodifikasi. Ketika memilih page untuk di-replace, modify bit dibaca dulu. Jika bit tersebut di-set, maka page tersebut sudah dimodifikasi sejak dibaca di disk  write page ke disk. Jika bit tersebut tidak di-set, maka page tersebut belum dimodifikasi sejak dibaca di memory  jika copy dari page tersebut di disk belum di overwrite, tidak perlu lagi write page memory ke disk karena sudah ada.

Frame Allocation – Page Replacement Dua masalah : Frame allocation algorithm : menentukan berapa banyak frame dialokasikan untuk suatu/setiap proses Page-replacement algorithm : menentukan frame mana yang dipilih untuk di page-out Pemilihan algoritma yang tepat sangat penting, karena pemrosesan pada disk I/O costnya mahal (berpengaruh pada effective acces time)

Page Replacement Terdapat banyak skema/algoritma Kriteria pemilihan algoritma yang sesuai : meminimisasi page-fault rate Evaluasi dengan string : string dari aktifitas-aktifitas memory reference String dari memory reference dinamakan reference string Secara empiris direkam dari referensi yang terjadi pada running program Secara hipotesis digenerate secara acak (random number generator) Menghitung jumlah page fault pada string tersebut

Page Fault vs Jumlah Frame Bertambahnya jumlah frame akibat penambahan physical memory space dapat mengurangi PFR Tanpa penambahan tersebut maka memperkecil ukuran frame/page yang akhirnya meningkatkan page fault

Grafik Page Faults vs Jumlah Frame

Page Replacement Policy Algoritma First In First Out (FIFO) Algoritma Optimal (OPT) Algoritma Least Recently Used (LRU) Algoritma Second Change (Clock) Algoritma Enhanced Second Change (Clock) Algoritma Counting Algoritma Page Buffering

Reference String Dalam pembahasan algoritma-algoritma reference string disederhanakan dengan deretan page number (bukan address-address referensi) Contoh : 0100, 0432, 0101, 0612, 0102, 0103, 0104, 0101, 0611, dst Digantikan (page size = 100 byte) dengan : 1, 4, 1, 6, 1, 6, dst

Algoritma First In First Out (FIFO) Page yang di-replace adalah page yang paling “tua” (paling lama berada di memory secara terus menerus) Realisasinya setiap page menyimpan data waktu page yang bersangkutan di-page-in atau menggunakan struktur queue Mudah di-implementasikan tapi performance tidak selalu baik

FIFO Page Replacement Reference string : 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1 Jumlah frame = 3 Page fault terjadi = 15 kali

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

FIFO Illustrating Belady’s Anamoly

Algoritma Optimal (OPT) Jika diketahui page-page mana yang berikutnya akan diakses, maka page yang tidak akan digunakan dalam waktu dekat (ie. Selang waktu terlama hingga diakses kembali) yang di-replace. Anomali Belady tidak berlaku Secara teoritis paling optimal tapi dalam kenyataannya sulit diimplementasikan

Optimal Page Replacement Reference string : 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1 Jumlah frame = 3 Page fault terjadi = 9 kali Pada referensi ke-4 terlihat page 7 akan di-replace dengan page 2, karena page 7 baru akan digunakan pada referensi ke-18, sedangkan page 0 akan digunakan pada referensi ke-5 dan page 1 akan digunakan pada referensi ke-14

Algoritma Least Recently Used (LRU) Algoritma LRU merupakan perpaduan antara FIFO dan OPT Mengaproksimasi Algoritma Optimal Perkiraan akses yang akan datang (forward information) diestimasi dengan menggunakan informasi akses yang lalu (backward information) Page dalam memori yang paling lama tidak diakses yang di-replace Jika SR = reverse S maka PFR OPT pada S sama dengan PFR LRU pada SR

LRU Page Replacement Reference string : 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1 Jumlah frame = 3 Page fault terjadi = 12 kali

END OF MODUL - 10