Memori virtual
Memori Virtual adalah cara mengelola memori yang merupakan tren teknologi terkini yang digunakan dalam komputer. Perangkat keras (bagian fisik komputer, seperti CPU atau kartu grafis) menjalankan perangkat lunak. Perangkat lunak ini akan membutuhkan memori komputer untuk berjalan, dan melakukan apa yang perlu dilakukannya. Sebagian besar komputer yang digunakan saat ini dapat melakukan lebih dari satu hal pada satu waktu, mereka menjalankan lebih dari satu aplikasi. Hal ini dikenal sebagai multiprocessing.
Dalam hal ini, semua program atau aplikasi yang berjalan di komputer pada suatu waktu berbagi sumber dayanya. Komputer tidak memiliki lebih banyak prosesor atau memori utama (RAM) hanya karena lebih banyak program yang berjalan di dalamnya.
Memori virtual adalah gagasan bahwa aplikasi melihat blok memori dengan ukuran tertentu. Aplikasi dapat menggunakan memori ini sesuai keinginannya. Blok memori ini bersifat virtual dalam arti bahwa ia berasal dari bagian yang berbeda. Sebagian mungkin berada di memori utama komputer, tetapi sebagian juga mungkin berada di disk. CPU memiliki bagian khusus, yang disebut Arithmetic Logic Unit yang melakukan beberapa terjemahan antara memori aplikasi dan sumber daya sistem. Sistem operasi modern juga melakukan sebagian dari pekerjaan ini.
Apabila suatu program mencoba mengakses blok memori yang tidak berada dalam memori sistem, program itu dihentikan, dan blok itu dimuat ke dalam memori sistem. Apa yang ada di bagian memori sistem itu ditulis ke disk. Ini biasanya disebut paging.
Sistem komputer tertentu, seperti sistem embedded, tidak menggunakan memori virtual, karena mereka memerlukan waktu respons yang sangat cepat, atau yang selalu tetap sama. Salah satu masalahnya adalah bahwa dengan memori virtual, sulit untuk memprediksi waktu respons. Aplikasi yang menggunakan sebagian memori yang perlu di-load dari disk akan memiliki waktu respons yang berbeda dengan yang tidak. Oleh karena itu, konsep memori virtual tidak digunakan dalam sistem embedded.
Program mengira bahwa ia memiliki kisaran besar alamat yang bersebelahan; tetapi pada kenyataannya, bagian yang sedang digunakannya tersebar di sekitar memori utama, dan bagian yang tidak aktif disimpan dalam file disk.
Pertanyaan dan Jawaban
T: Apa yang dimaksud dengan memori virtual?
J: Memori virtual adalah cara mengelola memori komputer yang memungkinkan aplikasi mengakses blok memori dengan ukuran tertentu. Blok memori ini dapat berasal dari bagian yang berbeda, seperti memori utama atau disk.
T: Bagaimana cara kerja memori virtual?
J: Memori virtual bekerja dengan mengizinkan Unit Logika Aritmatika CPU untuk melakukan penerjemahan antara aplikasi dan sumber daya sistem. Sistem operasi modern juga melakukan bagian dari pekerjaan ini. Ketika sebuah aplikasi mencoba mengakses blok memori yang tidak ada di memori sistem, aplikasi tersebut akan dihentikan dan blok tersebut akan dimuat ke dalam Memori sistem.
T: Apa saja contoh komputer yang tidak menggunakan Memori virtual?
J: Sistem tertanam adalah salah satu contoh komputer yang tidak menggunakan Memori virtual karena membutuhkan waktu respons yang cepat atau yang selalu sama. Sulit untuk memprediksi waktu respons dengan Memori virtual sehingga tidak digunakan dalam sistem tertanam.
T: Apa yang dimaksud dengan multiprosesing?
J: Multiproses adalah ketika komputer dapat melakukan lebih dari satu hal sekaligus, menjalankan beberapa aplikasi sekaligus yang berbagi sumber daya.
T: Apa yang terjadi bila aplikasi mencoba mengakses blok Memori yang tidak ada di Memori sistem?
J: Saat aplikasi mencoba mengakses blok Memori yang tidak ada di Memori sistem, aplikasi akan dihentikan dan blok tersebut akan dimuat ke dalam Memori sistem.
T: Apa yang dimaksud dengan paging?
J: Paging mengacu pada apa yang terjadi saat apa yang ada di bagian Memori sistem perlu ditulis kembali ke disk karena aplikasi mengakses bagian lain yang tidak tersimpan di sana pada awalnya.