Hardware Virtual Memory

Pendahuluan

Memori  merupakan  suatu  tempat penyimpanan  utama  (primary  storage)  yang  bersifat  sementara  (volatile).  Ukuran memori yang terbatas dapat menimbulkan masalah bagaimana menempatkan program yang berukuran yang lebih besar dari ukuran memori fisik (memori utama) dan masalah penerapan  multiprogramming yang membutuhkan tempat yang lebih besar di memori.

Memori  virtual  adalah  suatu  teknik  yang  memisahkan  antara  memori  logis  dan  memori  fisiknya. Memori logis merupakan kumpulan keseluruhan halaman dari suatu program. Tanpa memori virtual, memori  logis  akan  langsung dibawa  ke  memori fisik  (memori  utama).  Disinilah  memori  virtual melakukan  pemisahan  dengan  menaruh  memori logis  ke  secondary  storage (disk  sekunder)  dan hanya membawa halaman yang diperlukan ke memori utama (memori fisik). Teknik ini menempatkan keseluruhan program di disk sekunder dan membawa halaman-halaman yang diperlukan ke memori fisik sehingga memori utama hanya akan menyimpan sebagian alamat proses yang sering digunakan dan sebagian lainnya akan disimpan dalam disk sekunder dan dapat diambil sesuai dengan kebutuhan. Jadi  jika  proses  yang  sedang berjalan  membutuhkan  instruksi  atau  data  yang  terdapat  pada  suatu halaman tertentu maka halaman tersebut akan dicari di memori utama. Jika halaman yang diinginkan tidak ada maka akan dicari ke disk sekunder.

Prinsip Locality

Program atau data yang akan dieksekusi biasanya terletak pada alamat memori berurutan(locality) berurutan(locality). Sehingga, dimungkinkan untuk menerapkan sistem yang  dapat memperkirakan bagian program mana yang dapat memperkirakan bagian program mana yang selanjutnya akan dieksekusi

Terdapat 2 jenis jenis lokalitas:

    1. Lokalitas berdasarkan waktu (temporal locality), proses cenderung terkonsentrasi acuannya ke satu interfal waktu eksekusi yang dekat.

    1. Lokalitas berdasarkan ruang (spatial locality), proses cenderung terkonsentrasi acuannya ke satu kelompok data yang berdekatan.

Paging

Karakteristik Paging Pada Virtual Memory :

    1. Memori dipartisi kecil-kecil menjadi frame

    2. Program dipecah kecil-kecil menjadi page

    3. Terjadi fragmentasi internal

    4. Tidak terjadi fragmentasi eksternal

    5. SO menggunakan tabel page untuk mencatat lokasi tempat page di memori di memori

    6. SO mencatat daftar frame yang kosong

    7. Alamat absolut dihitung berdasarkan nomor page dan offset

    8. Proses dapat dieksekusi meskipun baru beberapa pagesaja yang ditaruh di memori

    9. Bila page baru dimasukkan ke memori dapat menyebabkan terjadi perpindahan page dari memori ke harddisk

Page Table Structure (PTS)

    PTS.PNG

Prosedur pada PTS :

    1. Register menyimpan alamat awal tabel page suatu proses

    2. Sebuah program membutuhkan data dan mengirimkan sebuah alamat virtual

    3. Nomor page pada alamat virtual digunakan sebagai indeks untuk menunjuk nomor frame pada tabel page

    4. Nomor frame digabungkan dengan offset pada alamat virtual menjadi alamat fisik

    5. Alamat fisik digunakan untuk mengakses bagian program pada memori

Inverted Page Table (IPT)

………..

Translation Lookaside Buffer (TLB)

TLB.PNG

    Prosedur pada TLB :

    1. Suatu program meminta data/program dengan mengirimkan alamat virtual.

    2. Prosesor mencari page yang diminta pada TLB.

    3. Jika page yang diminta ada, maka terjadi TLB hit. Fram diambil dari TLB untuk membentuk alamat fisik.

    4. Jika terjadi TLB miss, prosesor mencari page yang diminta pada tabel page.

    5. Jika page yag diminta ada, maka frame diambil dari tabel page untuk membentuk alamat fisik.

    6. Page yang baru saja diambil disimpan di TLB.

    7. Jika pada yang diminta tidak ada, maka dilakukan pencarian ke harddisk.

    8. Alamat fisik digunakan untuk mengambil data pada memori.

Ukuran page

……………….

Segmentasi

    Segmentasi.PNG

Prosedur pada segmentasi :

    1. Register menyimpan alamat awal tabel segment suatu proses.

    2. Sebuah program membutuhkan data dan mengirimkan sebuah alamat virtual.

    3. Nomor segment pada alamat virtual digunakan sebagai indeks untuk mengakses tabel segment sehingga diperoleh alamat awal segment tersebut.

    4. Alamat awal dari segment dijumlahkan dengan offset pada alamat virtual menjadi alamat fisik.

    5. Alamat fisik digunakan untuk mengakses bagian program/data pada memory.

Kombinasi Paging dan Segmentasi

…………………….

    Paging + Segmentasi.PNG

Prosedur kombinasi segmentasi dan paging :

    1. Register berfungsi untuk menyimpan alamat tabel segment suatu proses.

    2. Program membutuhkan data dan mengirimkan alamat virtual

    3. Nomor segement pada alamat virtual digunakan sebagai indeks untuk mengakses tabel segment sehingga diperoleh alamat awal dari tabel page.

    4. Nomor page digunakan sebagai indeks untuk mengakses tabel page sehingga diperolehnomor frame.

    5. Alamat fisik adalah gabunngan antara nomor frame dan nomor page

    6. Alamat fisik digunakan untuk mengakses bagaian program pada memori

Proteksi dan Sharing

Proteksi dan sharing dilakukan pada segementasi dikarenakan

    • Alamat awal suatu segmen telah diketahui

    • Panjang segment sudah ditentukan

    • Alamat akses di luar batas tersebut akan dapat diketahui.

Proteksi  dan sharing pada model ring .

Terdapat beberpa aturan pada model ring yaitu

    • Program hanya bisa mengakses program yang terdapat pada ring yang sama atau ring yang lebih luar

    • Jika program ingin mengakses program pada ring yang lebih dalam maka harus mengirimkan call service.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *