Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
SISTEM PAGING
2
Struktur Pengendali dan Perangkat Keras
Acuan memori secara dinamis ditranslasikan kedalam alamat fisik pada saat dijalankan Sebuah proses dapat dipindahkan (swap) dalam dan luar memori utama, seperti menduduki tempat yang berbeda Seebuah proses dapat pecah-pecah kedalam beberapa bagian (segmen dan page) dan potongan-potongan tidak diharuskan saling berdekatan didalam memori utama Seluruh bagian sebuah proses tidak perlu untuk diisi (load) didalam memori utama selama eksekusi
3
Mengeksekusi Program SO membawakan beberapa bagian program kedalam memori utama Tempat kedudukan seperangkat bagian proses berada didalam memori utama Sebuah interupsi dihasilkan ketika suatu alamat yang diperlukan tidak didalam memori So menempatkan proses didalam status blocking
4
Mengeksekusi Program Potongan proses yang berisi alamat logis (logical address) dibawa kedalam memori utama SO menghasilkan permintaan perintah Read I/O disk Proses lain diambil untuk menjalankan disk I/O yang berlansung Sebuah interupsi dihasilkan ketika dsik I/O telah lengkap yang mana menyebabkan sistem operasi untuk menempatkan proses yang dipengaruhi dalam status Ready
5
Keuntungan menghancurkan (breaking) sebuah Proses
Banyak proses yang dijaga didalam memori utama Hanya memuat beberapa bagian dari tiap-tiap proses Dengan proses yang sangat banyak didalam memori utama, sangat memungkinkan proses akan berada didalam status Ready pada waktu tertentu Sebuah proses memungkinkan lebih besar dari memori utama
6
Jenis-jenis Memori Memori yang Nyata Memori Virtual Memori Utama
Memori pada Disk Mempertimbangkan efektifitas multiprograming dan membiarkan kebebasan dari batasan meori utama
7
Thrashing Penukaran diluar sebagian proses hanya sebelum bagian proses tersebut dibutuhkan Prosesor banyak menghabiskan waktu penukaran (swap) dari pada mengeksekusi instruksi
8
Prinsip – prinsip Lokalisasi
Program dan referensi data didalam suatu proses kecendrungan untuk dikelompok-kelompokkan (cluster) Hanya sedikit potongan proses akan dibutuhkan melebihi jangka waktu pendek Memungkinkan untuk membuat perkiraan yang cerdas tentang yang manan potongan-potongan akan diperlukan dimasa mendatang Saran ini yang membuat memori virtual bekerja secara efisien
9
Pendukung yang diperlukan untuk memori virtual
Perangkat keras harus mendukung paging dan segmentasi SO harus mampu untuk mengatur pergerakan page dan/atau segmen- segmen antara memori sekunder dan memori utama
10
Paging Masing – masing proses memiliki page table
Masing – masing page table memasukkan sejumlah frame yang saling bersesuaian page-nya didalam memori utama Sebuah bit diperlukan untuk menandai apakah page didalam meori utama atau tidak
11
Modifikasi Bit dalam Page Table
Memodifikasi bit yang lain diperlukan untuk menandai jika page telah diubah semenjak diisikan (load) kedalam memori utama Jika tidak ada perubahan yang telah dibuat, page tidak dituliskan ke disk ketika diperlukannya untuk dipindahkan (swap) Bitmap manajemen
12
Page Table Entrie
14
Skema tingkatan Kedua untuk Alamat 32-bit
Page table
15
Page Table Keseluruhan page table boleh mengambil terlalu banyak memori utama Page table juga disimpan didalam memori virtual Ketika sebuah proses sedang berjalan (running), bagian dari page table-nya didalam memori utama
16
Memory resident page table
(physical page or disk address) Virtual Page Number Physical Memory Valid 1 1 1 1 1 1 Disk Storage (swap file or regular file system file) 1
17
Translation Lookaside Buffer
Masing-masing acuan memori virtual dapat menyebabkan dua akses memori fisik satu untuk mengambil page table satu untuk mengambil data Untuk mengatasi hal tersebut sebuah cache kecepatan tinggi mengatur untuk maukkan page table disebut TLB - Translation Lookaside Buffer
18
Translation Lookaside Buffer
Isi masukkan page table yang terakhir digunakan Fungsi yang sama sebagai cache memori
19
Translation Lookaside Buffer
Dengan sebuah alamat virtual, prosesor menguji TLB Jika masukan page table sudah ada/hadir (hit), nomor frame diambil lagi dan alamat rill dibentuk Jika masukkan page table tidak ditemukan dalam TLB (miss), nomor page yang digunakan untuk indek dari proses page table kesalahan
20
Translation Lookaside Buffer
Pertama, memriksa jika page table sudah siap didalam memori utama Jika tidak ada didalam memori utama sebuah kesalahan page akan ditampilkan TLB memperbaharui termasuk memasukkan page baru
23
Address Translation dengan TLB
p p–1 virtual page number page offset virtual address valid tag physical page number TLB . . . = TLB hit physical address tag byte offset index valid tag data Cache = cache hit data
24
Ukuran Page Ukuran page yang lebih kecil, lebih sedikit jumlah fragmentasi internal Ukuran page lebih kecil, lebih banyak page yang dibutuhkan per proses Lebih banyak page per proses berarti lebih besar page table-nya Page table yang lebih besar berarti lebih besar bagian-bagian page table didalam memeori virtual Memori sekunder didisain secara efisien memindahkan block data yang besar menjadi suatu ukuran yang lebih baik
25
Ukuran Page Ukuran page kecil, sejumlah besar page akan ditemukan didalam memori utama Seperti waktu selama eksekusi, page didalam memori akan berisi semua bagian proses yang terdekat. Page kesalahan terendah. Ukuran page dinaikkan menyebabkan page berisikan lokasi lanjutan dari referensi terbaru. Page kesalahan berkembang. Besaran ukuran page
27
Ukuran Page Berbagai macam ukuran page menyediakan fleksibelitas, dibutuhkan secara efisien untuk TLB Page yang besar dapat digunakan untuk program – program instruksi Page yang kecil dapat digunakan untuk thread Kebanyakan sistem operasi hanya mendukung satu ukuran page
28
Contoh Ukuran Page
29
Segmentasi Ukuran dinamis dapat berbeda
Menyederhanakan penenganan untuk pengembangan struktur data Mengizinkan program untuk diubah/ diganti dan di-kompilasi ulang secara bebas Mendorong kearah sharing data antar proses Mendorong kearah untuk proteksi
30
Tabel Segmen corresponding segmen didalam memori utama
Masing-masing masukan berisikan panjang segment Bit dibutuhkan untuk menentukan jika segmen telah siap/ada didalam memori utama Bit yang lain diperlukan untuk menentukan jika segment telah dimodifikasi semenjak diisi (load) didalam memori utama
31
Memasukkan Tabel Segmen
32
Kombinasi Paging dan Segment
Paging jelas/transparan untuk programer Paging mengeliminasi fragmentasi internal Segmentasi dapat dilihat programer Segmentasi mengizinkan perkembangan struktur data, modularitas, dan mendukung untuk sharing dan proteksi
33
Kombinasi Paging dan Segment
Contoh segmentasi – paging pada pentium
35
Fetch Policy Fetch Policy
Menentukan kapan page akan harus dibawa kedalam memori Permintaan paging hanya membawa page kedalam memori ketika referensi telah dibuat untuk menentukan lokasi page Banyak kesalahan page terjadi awal proses dimulai Prepaging membawa masuk melebihi page yang dibutuhkan Lebih efisiennya untuk membawa masuk page yang berada secara berdekatan pada disk
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.