Crossed Red Kunai - Naruto

Senin, 02 April 2012

SISTEM OPERASI

VIRTUAL MEMORI
Memori virtual adalah suatu teknik yang memisahkan antara memori logis dan memori fisiknya. Teknik
ini menyembunyikan aspek-aspek fisik memori dari pengguna dengan menjadikan memori sebagai
lokasi alamat virtual berupa byte yang tidak terbatas dan menaruh beberapa bagian dari memori
virtual yang berada di memori logis.
Konsep memori virtual dikemukakan pertama kali oleh John Fotheringham pada tahun 1961 dengan
menggunakan dynamic storage allocation pada sistem komputer atlas di Universitas Manchester.
Sedangkan istilah memori virtual dipopulerkan oleh Peter J. Denning yang mengambil istilah 'virtual'
dari dunia optik.
Prinsip dari memori virtual yang perlu diingat adalah bahwa "Kecepatan maksimum eksekusi proses di memori virtual dapat sama, tetapi tidak pernah melampaui kecepatan eksekusi proses yang sama di
sistem yang tidak menggunakan memori virtual".

Memori virtual dapat diimplementasikan dengan dua cara:
1. Demand paging. Menerapkan konsep pemberian halaman pada proses.
2. Demand segmentation. Lebih kompleks diterapkan karena ukuran segmen yang bervariasi.
Demand segmentation tidak akan dijelaskan pada pembahasan ini.

DEMAND PAGING
Demand paging adalah salah satu implementasi dari memori virtual yang paling umum digunakan.
Demand paging pada prinsipnya hampir sama dengan permintaan halaman (paging) hanya saja
halaman (page) tidak akan dibawa ke ke dalam memori fisik sampai ia benar-benar diperlukan. Untuk
itu diperlukan bantuan perangkat keras untuk mengetahui lokasi dari halaman saat ia diperlukan.
Karena demand paging merupakan implementasi dari memori virtual, maka keuntungannya sama
dengan keuntungan memori virtual, yaitu:
• Sedikit I/O yang dibutuhkan.
• Sedikit memori yang dibutuhkan.
• Respon yang lebih cepat.
• Dapat melayani lebih banyak pengguna.
Ada tiga kemungkinan kasus yang dapat terjadi pada saat dilakukan pengecekan pada halaman yang
dibutuhkan, yaitu: halaman ada dan sudah berada di memori-statusnya valid ("1"); halaman ada tetapi
masih berada di disk atau belum berada di memori (harus menunggu sampai dimasukkan)-statusnya
tidak valid ("0"). Halaman tidak ada, baik di memori maupun di disk (invalid reference).

Penanganan Kesalahan Halaman
Penanganan kesalahan halaman dapat dituliskan sebagai berikut:
• CPU mengambil instruksi dari memori untuk dijalankan. Lakukan pengambilan instruksi dari
halaman pada memori dengan mengakses tabel halaman. Pada tabel halaman bit terset tidak
valid.
• Terjadi interupsi kesalahan halaman, maka interupsi itu menyebabkan trap pada sistem operasi.
• Jika referensi alamat yang diberikan ke sistem operasi ilegal atau dengan kata lain halaman yang
ingin diakses tidak ada maka proses akan dihentikan. Jika referensi legal maka halaman yang
diinginkan diambil dari disk.
• Halaman yang diinginkan dibawa ke memori fisik.
• Mengatur ulang tabel halaman sesuai dengan kondisi yang baru. Jika tidak terdapat ruang di
memori fisik untuk menaruh halaman yang baru maka dilakukan penggantian halaman dengan
memilih salah satu halaman. Penggantian halaman dilakukan menurut algoritma tertentu yang
akan dibahas pada bab selanjutnya. Jika halaman yang digantikan tersebut sudah dimodifikasi
oleh proses maka halaman tersebut harus ditulis kembali ke disk.
• Setelah halaman yang diinginkan sudah dibawa ke memori fisik maka proses dapat diulang.

Kesalahan halaman menyebabkan urutan kejadian berikut:

1. Ditangkap oleh Sistem Operasi.
2. Menyimpan register pengguna dan proses.
3. Tetapkan bahwa interupsi merupakan kesalahan halaman.
4. Periksa bahwa referensi halaman adalah legal dan tentukan lokasi halaman pada disk.
5. Kembangkan pembacaan disk ke frame kosong.
6. Selama menunggu, alokasikan CPU ke pengguna lain dengan menggunakan penjadwalan CPU.
7. Terjadi interupsi dari disk bahwa I/O selesai.
8. Simpan register dan status proses untuk pengguna yang lain.
9. Tentukan bahwa interupsi berasal dari disk.
10. Betulkan tabel halaman dan tabel yang lain bahwa halaman telah berada di memori.
11. Tunggu CPU untuk untuk dialokasikan ke proses tersebut
12. Kembalikan register pengguna, status proses, tabel halaman, dan meneruskan instruksi interupsi.

Kelebihan/Kekurangan

Manajemen memori dengan permintaan halaman (demand paging) memiliki kelebihan yang sama
dengan manajemen memori dengan pemberian halaman, antara lain menghilangkan masalah
fragmentasi eksternal sehingga tidak diperlukan pemadatan (compaction). Selain itu permintaan
halaman memiliki kelebihan yang lain, yaitu:

a. Memori virtual yang besar. Memori logis tidak lagi terbatas pada ukuran memori fisik. Hal ini
berarti bahwa besar suatu program tidak akan terbatas hanya pada ukuran memori fisik tersedia. b. Penggunaan memori yang lebih efisien. Bagian program yang dibawa ke memori fisik hanyalah
bagian program yang dibutuhkan sementara bagian lain yang jarang digunakan tidak akan dibawa.
c. Meningkatkan derajat multiprogamming. Derajat multiprogramming menunjukkan banyaknya
proses yang berada di memori fisik. Dengan penggunaan permintaan halaman maka ukuran
suatu program di memori akan lebih kecil mengingat bahwa hanya bagian program yang
diperlukan saja yang akan dibawa ke memori fisik. Penggunaan memori yang lebih kecil oleh
sebuah proses memberi sisa ruang memori fisik yang lebih besar sehingga lebih banyak proses
yang bisa berada di memori fisik. Hal ini berpengaruh pada utilisasi CPU dan throughput
(banyaknya proses yang dapat diselesaikan dalam satu satuan waktu) yang lebih besar.
d. Penggunaan I/O yang lebih sedikit. Hal ini dapat terjadi karena permintaan halaman hanya
membawa bagian yang diperlukan dari suatu program. Penggunaan I/O pada permintaan
halaman lebih sedikit dibandingkan dengan manajemen memori lain yang membawa seluruh
memori logis sebuah program ke memori fisik.

Permintaan halaman juga memiliki beberapa kekurangan, antara lain:
a. Processor overhead. Interupsi kesalahan halaman memberikan kerja tambahan kepada CPU
untuk mengambil halaman yang tidak berada di memori fisik pada saat diperlukan.
b. Thrashing. Suatu kondisi yang terjadi akibat kesalahan halaman yang melewati batas normal.
Akibat dari thrashing adalah CPU lebih banyak mengurusi kesalahan halaman daripada
menangani proses itu sendiri. Hal ini dapat menurunkan kinerja dari CPU.

Kinerja Demand paging

Salah satu hal yang menjadi pertimbangan dalam penggunaan permintaan halaman adalah waktu
akses memori menjadi lebih lambat akibat perlunya penanganan kesalahan halaman.
Halaman Fault Time
Lamanya waktu untuk mengatasi kesalahan halaman disebut dengan halaman fault time. Ada tiga
faktor utama yang mempengaruhi halaman fault time ini, yaitu:
1. Melayani interupsi dari kesalahan halaman. Aktivitas yang dilakukan dalam melayani kesalahan
halaman ini, yaitu:
a. Memberitahu sistem operasi saat terjadinya kesalahan halaman.
b. Menyimpan status dari proses bersangkutan.
c. Memeriksa apakah referensi halaman yang diberikan legal atau tidak. Bila referensi yang
diberikan legal maka dicari lokasi dari halaman tersebut di disk.
2. Pembacaan halaman. Aktivitas yang terjadi dalam pembacaan halaman ini, yaitu:
a. Menunggu dalam antrian sampai mendapatkan giliran untuk membaca.
b. Menunggu disk untuk membaca lokasi yang diminta. Disk melakukan kerja mekanis untuk
membaca data sehingga lebih lambat dari memori.
c. Mengirim halaman yang diminta ke memori fisik.
3. Pengulangan instruksi. Aktivitas yang terjadi untuk mengulangi instruksi ini, yaitu:
a. Interupsi proses yang sedang berjalan untuk menandakan bahwa proses yang sebelumnya
terhenti akibat kesalahan halaman telah selesai dalam membaca halaman yang diminta.
b. Menyimpan status dari proses yang sedang berjalan.
c. Membetulkan tabel halaman untuk menunjukkan bahwa halaman yang ingin dibaca sudah
ada di memori fisik.
d. Mengambil kembali status proses bersangkutan untuk selanjutnya dijalankan di CPU.


Tidak ada komentar:

Posting Komentar