Memori virtual, teknik manajemen memori, memungkinkan sistem operasi (OS) yang kelebihan beban membuat bentuk memori sintetis yang memungkinkannya di luar batasan memori.
Pada dasarnya, ketika terlalu banyak program komputer menghabiskan memori, memori virtual memungkinkan OS untuk menggunakan kembali memori akses acak (RAM) untuk penggunaan hard disk drive.
Analogi keuangan yang cepat menggambarkan situasi dengan tepat: Think memori fisik di komputer Anda sebagai uang di rekening giro pribadi Anda. Semuanya baik-baik saja dan semuanya berfungsi dengan baik sampai Anda menghabiskan dana Anda. Setelah Anda mencapai titik terendah, bank Anda (yang menawarkan perlindungan overdraft pada rekening giro) mengeluarkan overdraft (memori virtual) yang sementara menutupi biaya akun.
Overdraft semacam itu mengandung batasan yang jelas. Pertama, batasan keuangan mengontrol besarnya pengeluaran yang akan ditanggung oleh bank. Plus, batas waktu mengatur berapa lama lembaga keuangan Anda akan memungkinkan situasi lanjutkan tanpa masuknya modal darurat ke akun Anda.
Memori virtual adalah komponen penting dari sistem komputer dan memungkinkan operasi umum yang lebih lancar, tetapi penting untuk dicatat bahwa itu bukan solusi permanen yang berkelanjutan. Ini dimaksudkan untuk menyediakan jumlah memori darurat. Lebih seperti perbaikan cepat yang semacam menyelesaikan pekerjaan—tetapi hanya untuk saat ini.
Memori virtual adalah ciptaan komputasi modern; pada intinya, ini hanya memperbarui konsep kuno “meminjam dari Peter untuk membayar Paul,” di mana sumber daya dialihkan dari satu sumber ke sumber lain.
Tetap terinformasi tentang tren industri yang paling penting—dan menarik—tentang AI, otomatisasi, data, dan di luarnya dengan buletin Think. Lihat Pernyataan Privasi IBM®.
Unit pemrosesan pusat (CPU) adalah komponen fungsional utama dari sebuah komputer, dan menggunakan berbagai bentuk memori. RAM adalah bentuk penggunaan memori yang lebih cepat dan lebih cepat diakses, tetapi ukurannya tidak terbatas. Hard disk drive CPU, sebagai alternatif, menawarkan banyak ruang penyimpanan disk, tetapi pada waktu akses yang lebih lambat.
Memori nyata diinstal pada CPU. Memori nyata mengacu pada perangkat keras RAM di mana data disimpan sementara untuk penggunaan langsung dan aktif. (Pemrogram juga menyebut memori nyata sebagai memori fisik atau memori utama.) Sebaliknya, memori sekunder dianggap non-volatile, yang berarti perangkat penyimpanan tersebut mempertahankan kemampuan penyimpanan bahkan ketika mesin dimatikan dan terputus dari sumber dayanya. Itu berbeda dari RAM, seperti halnya beberapa variabel kinerja lainnya.
Jika kedua jenis itu dibentuk kembali sebagai mobil, RAM akan seperti mobil sport kecil yang mencolok: cepat, mahal dan dengan ruang yang hampir tidak cukup untuk driver dan penumpang (kapasitas kecil). Memori sekunder lebih lambat dan lebih murah, seperti minivan ekonomis, dengan kapasitas yang jauh lebih besar daripada yang ditawarkan memori utama.
Hard drive, juga disebut hard disk drive (HDD), berfungsi sebagai unit penyimpanan gabungan dan pemutar, sedangkan hard disk itu sendiri adalah piring fisik di dalam HDD dan tempat data magnetik dikodekan.
Dalam kebanyakan kasus, penggunaan HDD telah diganti dengan solid state drive (SSD). SSD menjalankan fungsi yang sama tetapi menggunakan memori flash dalam bentuk chip memori non-volatile yang tidak memerlukan penggunaan bagian yang bergerak. SSD lebih baik dibandingkan dengan HDD berdasarkan kecepatannya yang kuat, profil fisik yang lebih ramping, dan daya yang berkurang.
Memori virtual beroperasi dengan mengubah sementara RAM yang telah digunakan sebelumnya tetapi sejak itu tetap tidak aktif dan tidak digunakan untuk beberapa waktu. OS mengekstrak data dari RAM yang hampir tidak digunakan dan menempatkannya ke dalam file swap (atau file halaman) pada hard disk drive.
OS kemudian menempatkan RAM yang baru dibersihkan ke dalam layanan segera. Memori tambahan yang “dipinjam” dari RAM itu membantu menjalankan beberapa program pengguna komputer tanpa gangguan kinerja sistem atau perlambatan yang dirasakan dalam kecepatan operasi.
Mengenai data, halaman berfungsi sebagai koin dunia dan berfungsi sebagai media dasar pertukaran. Dalam hal manajemen memori virtual, modul yang dicantumkannya adalah halaman, unit data terkecil. Halaman adalah blok-blok ruang alamat virtual yang berdekatan (berdampingan).
Halaman datang dalam satu ukuran tetap, umumnya. Awalnya, halaman ditimbang secara seragam sebesar 4 KB dan ukuran ini secara tradisional telah menjadi standar industri. Akhir-akhir ini, sistem yang lebih modern menggunakan ukuran tetap yang jauh lebih besar, termasuk ukuran hingga 2 MB atau 1 GB atau bahkan lebih besar.
Dalam memori virtual, sebagian besar halaman berukuran 4 KB atau 8 KB, tergantung pada arsitektur yang diikuti. Microsoft Windows, Linux , dan macOS milik Apple semuanya dibangun berdasarkan ukuran halaman 4 KB. Ukuran halaman memori virtual UNIX disusun sesuai dengan arsitektur perangkat keras masing-masing sistem sebagai sistem 32-bit atau 64-bit. (Sistem UNIX biasanya mencurahkan 3 GB hingga 4 GB untuk setiap proses yang dijalankan.)
Dalam OS tertentu, semua halaman biasanya akan sesuai dengan satu ukuran halaman. Pengecualian untuk aturan ini melibatkan partisi dinamis, yang menyajikan memori dalam berbagai ukuran, berdasarkan permintaan tertentu. Memiliki halaman berukuran identik memudahkan OS untuk berhasil mengelola semuanya secara bersamaan.
Juga, karena ukurannya yang cocok, lebih mudah bagi OS untuk mencegah fragmentasi eksternal, yang terjadi ketika kantong memori yang tidak digunakan berakar di antara blok memori yang dialokasikan. Hasilnya: terlalu sedikit memori yang tersedia untuk dialokasikan dalam satu potongan yang berguna.
Dengan menggunakan halaman, OS dapat memetakan memori logis dari suatu proses, pada dasarnya menerjemahkannya untuk memori fisik yang tidak bersebelahan dalam bentuk bingkai halaman. Bingkai halaman adalah blok memori fisik (RAM) yang digunakan OS sebagai jenis kontainer untuk halaman memori. Ukuran bingkai halaman cocok dengan halaman itu sendiri, baik itu 4 KB atau ukuran yang lebih besar.
CPU membuat alamat memori virtual, yang bertindak sebagai referensi lokasi memori yang akan digunakan oleh proses perangkat lunak yang berjalan pada OS itu. Para pemrogram menggunakan tabel halaman untuk melacak dan mengelola bingkai halaman serta berfungsi sebagai struktur data utama. Entri tabel halaman digunakan untuk menghubungkan alamat virtual ke alamat fisik dalam OS.
Nomor halaman virtual (VPN) menggunakan 20 bit pertama dari alamat virtual untuk berfungsi sebagai pengidentifikasi untuk ruang alamat virtual dalam ruang memori virtual proses komputer itu. Nomor halaman mengidentifikasi halaman sehingga unit manajemen memori (MMU) dapat mengambilnya dari bingkai memori fisik atau dari disk.
Sementara itu, bagian alamat yang tersisa berfungsi sebagai offset halaman, yang menentukan lokasi fisik yang tepat dari halaman itu di dalam OS, sampai ke lokasi byte individu.
Di dunia yang sempurna, RAM komputer akan terbukti cukup untuk menjalankan program. Namun, komputasi modern sangat cocok untuk multitasking dan mengoperasikan beberapa program secara bersamaan, yang dapat dengan mudah mengacaukan proses alokasi memori. Permintaan yang meningkat ini secara rutin menempatkan tuntutan berlebihan pada memori OS yang tersedia.
Ketika ruang disk yang tersedia habis sepenuhnya, memori virtual masuk untuk menjaga program Anda tetap berjalan. Namun, ekstensi operasi ini biasanya datang dengan biaya yang signifikan: kecepatan operasi. Memori virtual beroperasi pada klip yang lebih lambat daripada RAM fisik (karena drive penyimpanan membutuhkan waktu lebih lama untuk diakses). Dengan demikian, semakin banyak memori virtual yang terkuras OS, semakin besar kemungkinan operator akan mengalami penurunan kinerja.
Bentuk perlambatan kinerja ini disebut “thrashing.” Thrashing juga digunakan untuk merujuk pada keadaan operasi yang berkepanjangan dan disfungsional di mana OS mencurahkan sebagian besar kemampuan pemrosesannya untuk mengosok data masuk dan keluar dari memori alih-alih mengeksekusi kode.
Jenis fenomena lain yang sering terjadi dikenal sebagai “kesalahan halaman.” Kesalahan halaman terjadi ketika program yang berfungsi mencoba mengambil halaman data yang tidak dipetakan dalam RAM fisiknya pada saat itu.
Ini memacu gangguan perangkat keras, sementara handler kesalahan halaman di kernel OS diaktifkan. Kernel OS mengakses data yang diperlukan dari sumber penyimpanan sekunder. Kemudian, OS memperbarui tabel halaman yang melacak semua alamat virtual dan alamat fisik yang sesuai sebelum kembali ke operasi program normal.
Ada beberapa bentuk kesalahan halaman, masing-masing diklasifikasikan berdasarkan tingkat keparahan yang dirasakan:
Salah satu cara OS merampingkan pemrosesan adalah melalui paging permintaan. Teknik ini menghindari pemuatan depan seluruh program, dan sebagai gantinya, OS hanya memuat halaman-halaman yang diperlukan pada saat tertentu.
Di sisi baiknya, sistem dapat menjalankan lebih banyak program dengan cara ini. Kelemahannya dapat berarti tingginya insiden kesalahan halaman (mungkin menyebabkan kerusakan) yang disebabkan oleh operasi program yang terus-menerus mengganggu untuk mengambil halaman dari penyimpanan.
Berbagai metodologi berbasis algoritma digunakan bersamaan dengan paging permintaan. Masing-masing algoritma penggantian halaman ini alamat masalah dengan putaran yang berbeda:
Nikmati operasi yang lebih cepat dan lebih tangguh dengan menyatukan penyimpanan, perlindungan, dan orkestrasi untuk AI, VM, dan beban kerja kontainer.
Optimalkan dan skalakan beban kerja di seluruh lingkungan virtual dan fisik dengan virtualisasi yang efisien dan fleksibel.
Keahlian teknis yang komprehensif untuk server dan penyimpanan IBM Systems Anda.