Jelaskanlah apa yang saudara ketahui tentang konsep memori virtual dan mengapa
memori virtual ini dibutuhkan oleh sistem operasi?
Jawab : Menurut yang saya pahami, memori virtual adalah memori cadangan atau
tambahan, dibutuhkan oleh sistem operasi karena iya akan sangat membantu, jika
sistem operasi kehabisan memori dalam menjalankan proses, memori virtual akan
berfungsi sebagai memori tambahan bagi sistem operasi.
3. Teknik lokalisasi adalah salah satu metoda yang digunakan dalam memori virtual ini,
jelaskanlah apa dan bagaimana teknik lokalisasi ini dilakukan dalam sistem memori
virtual.
Jawab : Prinsip lokalitas menyatakan bahwa referensi-referensi program dan data di
dalam sebuah proses cenderung berkelompok. Dimungkinkan juga melakukan tebakan
yang cerdik untuk potongan proses mana yang akan diperlukan dalam waktu dekat,
sehingga dapat menghindarkan terjadinya thrashing. Agar memori virtual dapat
diterapkan dan efektif diperlukan dua hal. Pertama,harus ada hardware yang
mendukung tekning paging dan/atau segmentasi agar dapat dilaksanaknan. Kedua,
sistem operasi harus memiliki software untuk mengatur perpindahan page dan/segmen
antara memori sekunder dengan memori utama.
Berikut tugas sistem operasi dalam hubungannya dengan memori virtual. Ambil sebuah
proses berukuran besar yang terdiri dari sebuah program yang panjang dan beberapa
array data. Dalam waktu yang cukup singkat, eksekusi dapat dipecah menjadi beberapa
program yang lebih kecil (contoh, subroutine) dan akses hanya menuju satu atau dua
array data. Apabila demikian, jelas memuatkan lusinan proses tidak akan berguna bila
hanya potongan dan sedikit jumlah yang digunakan sebelum program tersebut ditunda
atau di-swap keluar. Memori dapat digunakan dengan lebih baik menggunakan
beberapa potongan saja. Setelah itu, bila program bercabang ke sebuah instruksi atau
referensi sebuah item data pada potongan yang tidakada di dalam memori utama, akan
terjadi fault. Fault akan memberi tahu sistem operasi supaya membawa potongan yang
diinginkan ke dalam memori utama.
Jadi, pada saat tertentu beberapa potongan proses yang berada di dalam memori utama
dapat ditampung lebih banyak. Waktu juga akan dapat dihemat karena potongan-
potongan yang tidak dapat dipakai tidak akan di-swap ke dalam dan keluar memori. Di
dalam keadan yang steady, biasanya seluruh memori utama akan dipenuhi oleh
potongan-potongan proses sehingga prosesor dan sistem operasi memiliki akses ke
proses sebanyak mungkin. Oleh karena itu, pada saat membawa satu potongan ke
dalam memori utama, sistem operasi harus membuang potongan lainnya ke luar
memori. Apabila sistem operasi membuang keluar sebuah potongan sesaat sebelum
potongan tersebut digunakan, sistem operasi harus segera mengambil lagi potongan
tersebut. Terlalu banyak kejadian seperti itu akan mengakibatkan terjadinya kondisi yang
disebut thrashing, yaitu sebagian besar waktu prosesor digunakan untuk melakukan
swap potongan dibandingkan dengan waktu yang digunakan untuk melakukan eksekusi.
Menghindarkan terjadinya thrashing adalah prinsip lokalitas dan telah menghasikan
beberapa algoritma yang kompleks namun efektif.
b. Segmentasi
Memori utama tidak dipartisikan
Segmen-segmen program yang ditetapkan oleh pemogram ke compiler
(yaitu keputusan diambil oleh pemogram)
Tidak terjadi fragmentasi internal
Fragmentasi eksternal
Sistem operasi harus memiliki sebuah segment table bagi masing-masing
proses yang menunjukkan alamat pemuatan dan panjang setiap segment
Sistem operasi harus memiliki daftar hole bebas di dalam memori utama