ScholarGate
Asisten

Memori Virtual dan Paging

Memori virtual memberikan setiap program ruang alamatnya sendiri yang besar dan berdekatan yang dipetakan oleh perangkat keras dan sistem operasi ke memori fisik dalam halaman berukuran tetap, memberikan isolasi, perlindungan, dan ilusi memori yang lebih besar daripada yang ada secara fisik.

Temukan Topik dengan PaperMindSegeraFind papers & topics
Tools & resources
Unduh salindia
Learn & explore
VideoSegera

Definition

Memori virtual adalah teknik manajemen memori yang memetakan alamat virtual yang digunakan oleh program ke alamat memori fisik melalui tabel halaman, membagi memori menjadi halaman berukuran tetap dan memungkinkan halaman untuk berada di memori fisik atau di penyimpanan cadangan sesuai kebutuhan.

Scope

Topik ini mencakup translasi alamat melalui tabel halaman, buffer pencarian translasi (TLB) yang menyimpan translasi dalam cache, page fault dan demand paging, penggantian halaman dan prinsip working-set, serta perlindungan yang disediakan oleh memori virtual. Topik ini berada di batas arsitektur dan sistem operasi. Topik ini tidak mencakup penyimpanan file data yang di-page-out (sistem file) dan caching data on-chip (organisasi dan kebijakan cache), meskipun berinteraksi dengan keduanya.

Core questions

  • Bagaimana alamat virtual diterjemahkan ke alamat fisik melalui tabel halaman?
  • Bagaimana TLB mempercepat translasi, dan apa yang terjadi pada TLB miss?
  • Apa yang terjadi pada page fault, dan bagaimana demand paging ditangani?
  • Bagaimana konsep working-set memandu penggantian halaman dan mencegah thrashing?

Key concepts

  • ruang alamat virtual dan fisik
  • halaman dan frame halaman
  • tabel halaman
  • buffer pencarian translasi (TLB)
  • page fault dan demand paging
  • penggantian halaman
  • working set dan thrashing
  • perlindungan memori

Key theories

Model working-set
Working set adalah kumpulan halaman yang direferensikan oleh suatu proses selama jendela waktu terakhir; menjaga working set setiap proses aktif tetap berada di memori fisik menghindari thrashing, di mana paging yang berlebihan menyebabkan kinerja menurun, dan menginformasikan keputusan penggantian dan penerimaan.

Mechanisms

Alamat virtual program dibagi menjadi nomor halaman dan offset. Nomor halaman mengindeks tabel halaman (seringkali multi-level) untuk menemukan frame fisik; TLB menyimpan translasi terbaru dalam cache untuk menghindari penelusuran tabel setiap kali akses. Jika halaman yang direferensikan tidak berada di memori, page fault akan mentransfer kontrol ke sistem operasi, yang mengambil halaman dari penyimpanan cadangan dan dapat mengeluarkan halaman lain sesuai dengan kebijakan penggantian yang dipandu oleh lokalitas dan perilaku working-set.

Clinical relevance

Memori virtual sangat mendasar bagi sistem operasi modern: memisahkan proses satu sama lain untuk keamanan dan stabilitas, memungkinkan banyak program berbagi memori fisik, dan memungkinkan program yang lebih besar dari RAM fisik untuk berjalan. Perilaku TLB dan page-fault secara signifikan memengaruhi kinerja, dan tata letak ruang alamat mendukung pertahanan perlindungan dan keamanan memori.

History

Memori virtual berasal dari komputer Atlas di Manchester pada awal tahun 1960-an, memperkenalkan paging dan mekanisme page-fault. Model working-set Denning tahun 1968 memberikan penjelasan berprinsip tentang lokalitas dan thrashing. Dukungan perangkat keras melalui TLB dan tabel halaman multi-level, dan fitur-fitur selanjutnya seperti halaman besar, membuat memori virtual menjadi umum di sistem serbaguna.

Key figures

  • Peter J. Denning
  • Maurice Wilkes
  • John L. Hennessy
  • Abraham Silberschatz

Related topics

Seminal works

  • denning1968
  • hennessy2019
  • silberschatz2018

Frequently asked questions

Apa yang terjadi pada page fault?
Page fault terjadi ketika suatu program mengakses halaman virtual yang saat ini tidak ada di memori fisik. Perangkat keras menjebak ke sistem operasi, yang menemukan halaman di penyimpanan cadangan, membawanya ke frame bebas atau yang dikeluarkan, memperbarui tabel halaman, dan melanjutkan program seolah-olah tidak terjadi apa-apa.
Apa itu thrashing?
Thrashing adalah penurunan kinerja ketika working set gabungan dari proses aktif melebihi memori fisik, sehingga sistem menghabiskan sebagian besar waktunya untuk melakukan paging data masuk dan keluar daripada melakukan pekerjaan yang berguna. Menjaga working set tetap berada di memori, atau mengurangi beban, dapat menghindarinya.

Methods for this concept

Related concepts