Apa itu Virtual Memory?

Virtual Memory

Konsep

Virtual memori jika kita artikan secara terpisah adalah, virtual mempunyai arti maya/tidak
nyata. Sedangkan memori bisa berarti sebagai penyimpanan. Jadi, jika kita gabung
pengertiannya, virtual memori adalah suatu penyimpanan data sementara yang disimpan
dalam bentuk memori maya. Memori virtual ini biasanya bisa berukuran beberapa kali lipat
lebih besar dibandingkan dengan memori utama atau memori fisik. Jadi bila programmer
memiliki memori fisik yang kecil, bisa menggunakan memori virtual ini.

Alasan memakai virtual memory :

Jika komputer menjalankan sistem operasi windows atau sejenisnya membutuhkan lebih
banyak RAM/memori daripada RAM yang terpasang pada system, makai ia menggunakan
sebagian kecil dari hard drive untuk tujuan ini. Misalkan ada situasi computer kita tidak
memiliki ruang pada memori fisik, maka ia menulis beberapa hal yang perlu diingat ke dalam
file swap dan itu sebagai memori virtual.

Kelebihan menggunakan virtual memori :

  • Jumlah pengguna yang bisa dilayani bertambah
  • Respon meningkat, hal itu dikarenakan beban input dan output menurun
  • Penggunaan memori fisik menjadi berkurang, sehingga ruang memori fisik menjadi
    lebih lega
  • Proses input dan output menjadi rendah

Demand Paging

  • Proses ada pada memori sekunder dan halaman dimuat hanya berdasar permintaan
    tidak di awal.
  • Sebuah CPU membutuhkan page di dalam main memori
  • Jika halaman tidak ada dalam memori utama maka bisa dinamakan dengan page fault
  • Jika page fault terjadi, maka CPU akan mengirim control program menuju system
    operasi untuk mengembalikan page yang dibutuhkan ke dalam memori.

Page Fault

  • Page fault terjadi jika kebutuhan page tidak ada di dalam memori
  • Page fault bisa ditangani oleh system operasi:
    – Invalid reference → abort
    – Tidak ada memori utama → load the page

Paging

  • Misal Virtual Memori berukuran 64 KB, dan memori fisiknya hanya 32 KB
  • Ukuran programnya bisa 64 KB
  • Urutan pagenya di memori fisik belum tentu samadengan yang ada di virtual memori
  • Urutan pagenya di memori fisik belum tentu samadengan yang ada di virtual memori

Page Replacement Algorithm (PRA)

  • Page replacement algorithm adalah algoritma untuk memilih page mana yang akan
    diganti, apabila nantinya akan terjadi page replacement.
  • PRA ini memiliki tujuan supaya jumlah page fault menjadi sekecil mungkin
  • Terdapat bebarapa jenis algoritma, diantaranya adalah sebagai berikut:
    1. First In First Out (FIFO)
    2. Least Recently Used Algorithm
    3. Second Change Algorithm
    4. Optimal Algorithm
  1. FIFO : Page yang dialokasikan lebih awal akan direplace lebih awal
  2. Optimal Algorithm
    • Replace page yang tidak akan digunakan untuk jangka waktu yang lama
    • Page fault terendah dari semua algoritma page replacement
    • Tidak ada anomaly belady
    • Ideal, tapi sulit diaplikasikan
    • Hanya berguna untuk mengukur performa algoritma yang lainnya
  3. Least Recently Used
    • Mengganti page yang sudah tidak berguna untuk periode waktu yang terlama
    • Lebih realistis dibandingkan sebelumnya karena menggunakan informasi
    sebelumnya
    • Ada 12 page fault
    • Lebih baik dari FIFO, akan tetapi belum pasti optimal
    • Ada 2 cara impelementasi LRU: LRU dengan counter, dan dengan stack

Implementasi LRU

LRU dengan Counter
➢ Setiap page yang masuk mempunyai counter
➢ Setiap saat suatu page diferensi, copy clock menuju dalam counter
➢ Mencari page yang akan diganti menurut nilai counternya

LRU dengan Stack
➢ Gunakan stack yang berisi page number
➢ Jika suatu page diferensi, pindah ke stack paling atas
➢ Tidak perlu searching

Algoritma Alokasi

  • Alokasinya sama
  • Misal 200 frame dan 10 proses, berikan 20 page untuk setiap proses
  • Misal 200 frame dan 10 proses, berikan 20 page untuk setiap proses

kendalanya :

  • Setiap proses memiliki ukuran yang berbeda-beda
  • Yang dapat dialokasikan menjadi lebih banyak

Proposional Allokasi

  • Mengalokasikan menurut ukuran proses itu sendiri

Priority Allkokasi

Menggunakan skema alokasi proporsional, tetapo menggunakan prioritas, bukan ukuran

Misal terjadi P, menggenerate page fault maka terdapat 2 kemungkinan, yaitu :

  • Lokal Replacement : memilih salah satu frame miliknya untuk ditukar
  • Global replacement : memilih framenya proses lain dan prioritas lebih rendah untuk
    ditukar

 

Mengenal Sistem Operasi

Sistem operasi merupakan sebuah sistem yang dibutuhkan agar suatu perangkat bisa dijalankan dengan efektif dan efisien. Tanpa adanya sistem operasi, pengguna tidak dapat menjalankan program aplikasi pada komputer mereka, kecuali program booting.

Fungsi sistem operasi :

  1. Mengatur Perangkat Keras
  2. Mampu Menjalakan perintah dasar komputer
  3. Mengatur dan mengorganisir bermacam-macam Aplikasi
  4. Menterjemahkan bahasa Program ke dalam antar muka (Graphic user interface/GUI)
  5. Mengoptimalkan perangkat komputer

 

Tujuan dari sistem operasi :

  1. memudahkan pengguna untuk mengatasi masalah yang ada,
  2. agar pengguna lebih hemat waktu
  3. mempermudah penggunaan komputer

 

Ada beberapa contoh sistem operasi pada perangkat elektronik yang sering kita gunakan,

  •   Handphone
  1. Android
  2. Ios
  3. Symbian
  4. Blackberry

 

  • Laptop
  1. Windows
  2. Mac
  3. Linux

 

Beberapa hal yang dilakukan oleh sistem operasi :

  1. Membuat pengguna nyaman
  2. Memudahkan pengguna
  3. Performa yang bagus
  4. Mengontrol memori dan sumber daya komputer
  5. Mampu mengatasi masalah pengguna dengan mudah
  6. Mampu menjalankan program pengguna dengan baik
  7. Menggunakan perangkat keras komputer dengan efisien

 

Semoga bermanfaat.

 

 

Manajemen Memori: Pengertian, Jenis, dan Fungsi

Secara harfiah, kata “manajemen” mempunyai arti mengelola. Sedangkan kata “memori” mempunyai arti penyimpanan. Definisi secara umum manajemen memori adalah suatu kegiatan mengelola suatu memori pada komputer.

Jenis-jenis memori

Berdasarkan alokasinya, ada empat jenis memori komputer, antara lain adalah sebagai berikut:

  1. Memori primer (utama)
  2. Memori sekunder
  3. Memori cache
  4. Memori register

Berikut adalah penjelasan tentang keempat memori tersebut.

  1. Memori Primer

Memori ini langsung berkomunikasi pada CPU, auxiliary memory, dan cache memory. Memori primer berguna untuk menyimpan data atau program saat CPU aktif menggunakannya. Memori ini umumnya lebih mahal apabila dibandingkan dengan.memori sekunder, dan kapasitas memori primer lebih terbatas dibandingkan dengan.memori sekunder.

Contoh memori primer : RAM, ROM

  1. Memori sekunder

Memori ini memiliki fungsi sebagai tempat penyimpanan data yang besar. Memori sekunder bisa disebut sebagai memori eksternal seperti contohnya USB,CD, flash drive, hard drive, dan DVD. Memori ini lebih murah dibandingkan dengan memori primer, tetapi kecepatan membacanya lebih lambat daripada memori primer. Memori sekunder tidak dapat dijalankan langsung oleh CPU, berbeda dengan memori primer. Memori sekunder pertama-tama dimuat ke dalam RAM, baru kemudian ditransfer ke CPU.

  1. Memori Cache

Memori ini berukuran kecil berbasis chip yang disematkan di antara CPU dan memori primer. Memori ini berkinerja tinggi, bersifat sementara untuk meningkatkan kinerja CPU. Memori ini menyimpan semua data dan perintah yang sering digunakan CPU.

  1. Memori Register

Memori ini mempunyai fungsi sebagai tempat penyimpanan sementara untuk menyimpan dan mengirim data ke komputer. Memori ini adalah memori terkecil dan tercepat di komputer. Memori register memiliki ukuran 16, 32, dan 63 bit.

Fungsi manajemen memori

Manajemen memori memliki beberapa fungsi, diantaranya adalah sebagai berikut.

  1. Membuat kinerja CPU menjadi lebih cepat
  2. Mengoptimalkan kecepatan akses CPU
  3. Menjadikan pemakaian memori menjadi lebih efisien
  4. Mengefesienkan transfer data dari atau ke memori utama ke atau dari CPU.
  5. Mengelola informasi yang digunakan atau tidak digunakan
  6. Mengalokasikan memori ke proses yang dirasa perlu
  7. Mendealokasikan memori dari proses yang sudah selesai dilakukan
  8. Mengelola swapping antara memori primer dan disk.

 

  1. Swapping

Swapping adalah suatu kegiatan pemindahan proses dari memori utama ke disk dan kembali lagi. Berdasarkan keberadaan swapping, manajemen memori dibagi menjadi 2 bagian :

  • Manajemen tanpa swapping
  • Manajemen dengan swapping

 

  1. Monoprogramming

Monoprogramming adalah manajemen memori yang paling simple. Sistem komputer hanya ada satu proses atau program dalam satu waktu.

Ciri-ciri monoprogramming :

  1. Hanya ada satu proses pada satu waktu, sehingga proses berikutnya akan menimpa proses sebelumnya yang telah selesai dieksekusi.
  2. Hanya satu proses menggunakan seluruh memori
  3. Pengguna memusatkan program ke semua memori dari disk
  4. Program mengambil kendali semua mesin.

 

  1. Multiprogrammiing dengan permartisian statis

Multiprogramming bisa dilakukan dengan pemartisian statis. Ada beberapa alasan menggunakan multiprogramming. Diantaranya sebagai berikut :

  • Pemrogram jadi lebih mudah karena bisa memisah program menjadi 2 proses atau lebih
  • Supaya bisa memberikan layanan interaktif kepada sejumlah orang secara simultan
  • Penggunaan sumberr daya yang efisien
  • Eksekusi lebih murah jika proses besar dibagi menjadi beberapa proses yang lebih kecil
  • Bisa mengejarkan beberapa pekerjaan secara simultan

 

  1. Partisi statis

Memori dibedakan menjadi beberapa partisi tetap. Pada partisi itu sejumlah proses ditempatkan. Menurut ukurannya, dibedakan menjadi 2:

  1. Pemartisian dengan partisi yang berukuran sama

Apabila program mempunyai ukuran lebih besar daripada partisi yang ada, akibatnya adalah tidak dapat dimuatkan dan dijalankan. Pemrogram harus menyiapkan overlay. Overlay merupakan program yang dibagi menjadi bagian-bagian yang bisa dimuat ke memori. Sehingga hanya bebrapa bagian yang pasti dieksekusi yang dimasukkan ke memori primer dan saling bergantian.

2. Pemartisian dengan partisi yang berukuran berbeda

Penempatan pada pemartisian menjadi beberapa partisi yang sama ukuran. Penempatan proses menuju memori menjadi mudah karena bisa memilih sembarang partisi yang kosong.