GNU/Linux >> Belajar Linux >  >> Linux

Perbedaan antara halaman virtual dan bingkai halaman?

Memori fisik diatur ke dalam PAGE FRAMES. Ukuran bingkai laman adalah pangkat 2 dalam byte dan bervariasi di antara sistem.

Memori logis diatur ke dalam PAGES. Ukuran halaman cocok dengan bingkai halaman.

Alamat logis dibagi menjadi pemilih halaman dan offset ke dalam halaman.

Halaman logis dipetakan ke bingkai halaman menggunakan tabel halaman. Struktur tabel halaman bervariasi di antara sistem. Pemilih halaman dari alamat logis berfungsi sebagai indeks ke dalam tabel halaman.

Di sebagian besar sistem, tabel halaman dapat menentukan alamat logis yang valid yang tidak memiliki bingkai halaman terkait. Ini adalah sistem memori virtual. Jika aplikasi mencoba mengakses halaman seperti itu, itu memicu pengecualian kesalahan halaman. Penangan kesalahan halaman sistem operasi harus mengalokasikan bingkai halaman fisik, memuat bingkai halaman menggunakan data dari penyimpanan sekunder, memperbarui tabel halaman untuk memetakan halaman logis ke bingkai halaman fisik yang baru dialokasikan, dan akhirnya memulai kembali instruksi yang menyebabkan kesalahan.

Sistem operasi mengelola tabel halaman. CPU (secara transparan ke aplikasi) menerjemahkan bingkai halaman logis menjadi bingkai halaman fisik menggunakan tabel halaman.


Page frame adalah properti fisik dari memori utama. Padahal, halaman virtual adalah... virtual.

frame 0  frame 1  frame 2  frame 3  frame 4
----------------------------------------------
|        |        |        |        |        |
|        |        |        |        |        |
---------------------------------------------- Main Memory

Halaman (atau halaman memori, atau halaman virtual, atau halaman logis) adalah blok memori virtual dengan panjang tetap yang berdekatan.

Bingkai (atau bingkai memori, atau halaman fisik, atau bingkai halaman) adalah blok RAM dengan panjang tetap (mis. memori fisik, itu ada - seperti dalam "fisik". Memori virtual diciptakan agar matematika kita berfungsi dengan baik dan efisien untuk mengelola memori dengan aman).

Perhatikan bahwa bingkainya mungkin tidak bersebelahan, tetapi halamannya akan bersebelahan. Kami ingin prosesnya, OS menangani alamat berurutan karena membuat segalanya lebih mudah. Biarkan chip perangkat keras khusus (MMU) menghubungkan alamat virtual ke alamat fisik yang tepat &sebaliknya.

Alamat virtual digunakan oleh proses, sedangkan alamat fisik digunakan oleh perangkat keras, yaitu. CPU (menempatkan alamat di bus alamatnya untuk meminta akses memori) dan subsistem RAM (MMU, tabel halaman dll). Ketika sebuah program dikompilasi, kompiler mengubah kode program menjadi kode yang dapat dimengerti mesin dan di antara proses ini, alamat spasi diatur dalam bentuk alamat virtual. Saat diproses oleh prosesor, mereka kembali dipetakan ke lokasi fisik yang tersedia di memori apakah itu RAM atau HDD, dengan bantuan MMU.

PS.Saya tidak memaafkan penggunaan istilah page frame. Anda mungkin menyadari bahwa itu adalah sumber kebingungan. Menempel 'halaman' dan 'bingkai', dua kata yang sangat sederhana dengan makna yang jelas.


Linux
  1. Perbedaan Antara Shell Login dan Shell Non-login?

  2. Perbedaan Antara 2>&-, 2>/dev/null, |&, &>/dev/null Dan>/dev/null 2>&1?

  3. Apa Perbedaan Antara Sudo Su – Dan Sudo Su —?

  1. Perbedaan Antara Eot dan Eof?

  2. Perbedaan Antara [0-9], [[:digit:]] Dan D?

  3. Perbedaan Antara Perpipaan Dan Ekspansi Perintah?

  1. Perbedaan Antara Pengguna Sudo Dan Pengguna Root?

  2. Perbedaan antara CLOCK_REALTIME dan CLOCK_MONOTONIC?

  3. Perbedaan antara ${} dan $() di Bash