Kamis, 28 Februari 2013

virtual box



virtual box

VirtualBox adalah perangkat lunak virtualisasi, yang dapat digunakan untuk mengeksekusi sistem operasi "tambahan" di dalam sistem operasi "utama". Sebagai contoh, jika seseorang mempunyaisistem operasi MS Windows yang terpasang di komputernya, maka seseorang tersebut dapat pula menjalankan sistem operasi lain yang diinginkan di dalam sistem operasi MS Windows.
Fungsi ini sangat penting jika seseorang ingin melakukan ujicoba dan simulasi instalasi suatu sistem tanpa harus kehilangan sistem yang ada. Aplikasi dengan fungsi sejenis VirtualBox lainnya adalah VMware dan Microsoft Virtual PC.


Kadangkala, ada suatu program tertentu yang ingin kita jalankan namun terkendala dengan kompatibiltas Operating System (OS). Misalnya ada aplikasi yang kita tahu dulu bisa berjalan di WinXP tapi kini setelah dicoba lagi di Win7 tidak bisa dibuka (crash). Atau bahkan bisa juga ada aplikasi khusus yang kita butuhkan untuk pekerjaan, namun teryata aplikasi tersebut hanya bisa berjalan di Windows sementara komputer kita berbasis Linux.
Tentu saja, kita bisa menggunakan sistem Dual Booting untuk menanam dua OS dalam satu komputer. Tapi kadang cara ini kurang praktis karena banyak yang harus dipersiapkan seperti misalnya mengatur partisi, mengatur file, dll. Selain itu apabila suatu saat kita sudah tidak membutuhkan lagi OS yang kedua, maka proses uninstall-nya tidak mudah. Yang sering terjadi akhirnya malah format ulang, dan itu berarti atur partisi dan file lagi.
Membuat Virtual Machine Dengan Menggunakan VirtualBox
Sebenarnya, ada satu solusi yang praktis untuk hal ini, yaitu dengan menggunakan VirtualBox. Dengan VirtualBox, Anda bisa seolah-olah membuat komputer baru (virtual machine) dan meng-install-nya dengan OS yang Anda inginkan (Guest OS). Lebih hebatnya lagi, Anda bisa menjalankan keduanya dalam waktu yang bersamaan; berpindah dari Guest ke Host dan sebaliknya dengan mudah. Jika sudah tidak membutuhkan lagi, Anda tinggal menghapus saja (remove) virtual machine tersebut tanpa proses yang rumit.
Nah, di artikel ini saya akan menjelaskan mengenai cara membuat virtual machine menggunakan VirtualBox. Karena banyak hal yang harus dijelaskan, untuk kemudahan, maka saya membaginya dalam beberapa section yaitu: Download & Installl Virtual Box, Setup Virtual Machine & Guest OS, dan terakhir adalah Setting. Di contoh ini, saya akan meng-install WinXP di virtual machine yang akan dibuat. Adapun VirtualBox-nya sendiri saya jalankan di sistem operasi Win7. Jadi, Guest OS = WinXP dan Host OS = Win7. Berikut langkah-langkahnya:
DOWNLOAD & INSTALL VIRTUALBOX
  • Pertama download dulu installer-nya di sini. Pilih sesuai dengan tipe OS yang Anda gunakan.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Setelah itu jalankan file installer-nya. Klik Next> pada saat VirtualBox Setup Wizard muncul.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Selanjutnya Anda bisa memilih lokasi instalasinya. Klik Next> untuk melanjutkan.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Pilih di mana saja Anda ingin shortcut dibuat, lalu klik Next>.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Biasanya akan muncul peringatan bahwa koneksi ke jaringan akan diputus sementara pada selama proses instalasi. Klik saja Next>.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Klik Install untuk memulai proses instalasi.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Jika UAC muncul, klik saja Yes.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Sampai disini Anda sudah berhasil meng-install VirtualBox. Klik Finish untuk menjalankan program VirtualBox.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
SETUP VIRTUAL MACHINE & GUEST OS
  • Selanjutnya yang perlu dilakukan adalah membuat virtual machine-nya. Klik New di VirtualBox Manager untuk memulai.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Anda akan disambut oleh New Virtual Machine Wizard. Klik Next untuk melanjutkan.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Di sini Anda akan memilih jenis OS apa yang akan Anda install sebagai Guest OS. Dalam contoh ini kita akan meng-install WinXP. Klik Next jika sudah selesai memilih jenis OS.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Anda bisa menentukan berapa besar memory (RAM) untuk virtual machine ini nantinya. Geser slider ke angka yang inginkan, lalu klik Next.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Untuk pertama kali, pastikan Anda men-centang/contreng Boot Hard Disk dan juga memilih Create new hard disk, seperti ilustrasi di bawah ini. Jika sudah, klik Next.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Selanjutnya Anda akan masuk ke Create New Virtual Disk Wizard. Klik Next untuk melanjutkan.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Anda bisa memilih apakah ukuran virtual hard disk ini nantinya besarnya bisa berubah atau selalu tetap. Untuk penghematan sebaiknya Anda memilih yang Dynamically expanding storage. Klik Next jika sudah memilih.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Di sini Anda bisa memilih lokasi dimana virtual hard disk ini akan dibuat, sekaligus juga menentukan ukuran maksimal hard disk (hard disk maximum size). VirtualBox secara default menyarankan ukuran sebesar 10 G. Namun Anda juga bisa men-set lebih kecil selama Anda yakin bahwa ukuran tersebut sudah cukup untuk kebutuhan Anda nantinya. Klik Next.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Ini adalah Summary dari proses Create New Virtual Disk Wizard. Klik Finish.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Ini adalah Summary dari proses pembuatan New Virtual Machine. Klik Finish.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Terlihat bahwa Anda sudah mempunyai satu virtual machine bernama WinXP, walaupun isinya masih kosong. Nah tugas selanjutnya adalah mengisi virtual machine ini dengan Guest OS. Dobel-klik pada entry WinXP tersebut untuk memulai.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Anda akan disambut oleh First Run Wizard. Klik saja Next.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Di sini Anda akan memilih media yang akan Anda gunakan sebagai sumber instalasi. Dalam contoh ini saya menggunakan CD WinXP (bootable tentunya), yang saya masukkan ke Drive E (DVD ROM). Jika sudah, klik Next.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Ini adalah Summary dari First Run Wizard. Ada baiknya disini Anda sudah menyiapkan installer-nya ke Drive yang Anda pilih sebelumnya. Klik Finish untuk memulai proses instalasi.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Tampilan instalasi WinXP pun akan mulai keluar. Tekan Enter untuk melanjutkan.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Pilih Format the partition using the NTFS file system, lalu tekan Enter.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Silahkan tunggu sampai proses instalasi WinXP selesai.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Selamat, Anda kini sudah mempunyai Guest OS WinXP di virtual machine Anda! Sebelum Anda mulai “bermain-main” dengan virtual machine baru ini ada baiknya dilakukan beberapa perubahan setting dulu supaya Anda semakin nyaman dalam menggunakannya nanti. Beberapa setting mengharuskan virtual machine dalam keadaan non-aktif, beberapa hanya bisa dilakukan dalam Guest OS Safe Mode. Karenanya untuk sekarang shutdown dulu Guest OS Anda.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
SETTING
  • Kali ini akan dibahas mengenai beberapa setting-an penting supaya Anda semakin nyaman dalam menggunakan virtual machine Anda. Pastikan virtual machine Anda dalam keadaan mati (powered off), setelah itu dobel-klik untuk menghidupkan dan bersiaplah menekan F8 karena kita akan masuk ke Safe Mode.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Pilih Safe Mode, lalu tekan Enter.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Tekan Enter sekali lagi ketika masuk ke tampilan seperti di bawah ini.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Setelah masuk Safe Mode, klik Yes untuk menutup window pemberitahuan tersebut.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Pada menu VirtualBox, pilih Devices -> Install Guest Additions…
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Akan muncul Windows Explorer. Dobel-klik VBoxWindowsAdditions.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Anda akan disambut oleh VirtualBox Guest Additions Setup Wizard. Klik Next> untuk melanjutkan.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Pilih lokasi instalasi, lalu klik Next>.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Jika Anda berencana menjalankan aplikasi di Guest OS yang membutuhkan Direct3D (games misalnya), maka pastikan Direct3d Support dipilih. Jika sudah klik Install.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Proses instalasi Guest Additions pun selesai. Klik OK.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Klik Finish untuk restart dan masuk ke WinXP secara normal.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Selanjutnya kita akan membuat Shared Folders. Kegunaannya adalah sebagai tempat untuk bertukar (transfer) file antara Guest dan Host. Caranya adalah pilih Devices -> Shared Folders…
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Klik tombol Add di sebelah kanan atas window.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Pada Folder Path, pilih Other…
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Tentukan folder mana yang akan Anda shared.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Selanjutnya pilih Auto-mount supaya folder tersebut langsung di-shared secara otomatis saat startup.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Rekapnya akan terlihat di sini. Anda juga bisa membuat lebih dari satu Shared Folders jika Anda mau. Klik OK untuk mengakhiri.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Shared Folders ini baru akan mulai bisa digunakan jika Anda sudah melakukan restart. Namun untuk sekarang shutdown dulu Guest OS Anda karena kita akan melakukan perubahan setting terakhir melalui VirtualBox Manager.
  • Klik Settings pada menu VirtualBox Manager.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Pilih tab System di sebelah kiri. Nah di sini Anda bisa melakukan pengaturan memory (RAM) dan juga Boot Order. Supaya booting cepat, pilih Hard Disk sebagai Boot Order prioritas pertama.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Pilih tab Display dan Anda bisa merubah besarnya Video Memory (VGA Card) dan juga mengaktifkan fitur Enable 3D Acceleration. Klik OK jika sudah.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Selanjutnya jalankan lagi virtual machine tersebut. Setelah masuk Windows, coba jalankan Explorer. Terlihat bahwa Shared Folders kini sudah bisa diakses.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
  • Aplikasi yang tidak bisa dibuka di Win7 pun kini bisa dijalankan.
Cara Membuat Virtual Machine Dengan Menggunakan VirtualBox
Demikianlah penjelasan tentang langkah-langkah teknis untuk membuat virtual machine beserta instalasi Guest OS-nya dengan menggunakan VirtualBox. Dengan cara ini, kita seolah mempunyai “komputer baru” yang siap dijalankan. Dalam dunia IT, banyak manfaat yang bisa diperoleh dengan menggunakan VirtualBox ini. Seorang Java Programmer yang hendak membuat aplikasi multi-platform, bisa menggunakan VirtualBox ini untuk menguji programnya di berbagai OS (Windows, Mac, Linux, FreeBSD, dll).
Atau seseorang yang sedang belajar untuk menjadi hacker, biasanya juga akan membuat virtual machine untuk menguji keampuhan script ataupun virus buatannya, tanpa harus khawatir OS utama yang sedang digunakannya juga ikut terinfeksi. Anda pun bisa bereksperimen dengan VirtualBox ini sesuai dengan kebutuhan Anda. Selamat mencoba

virtual memory

virtual memory



Pengertian Virtual Memory

Beberapa sistem operasi memerlukan yang namanya virtual memory. Layaknya Linux yang membutuhkan swap, microsoft windows vista ataupun XP pun membutuhkan yang namanya virtual memory. Pengertian dari Virtual memory itu sendiri yakni memori sementara yang digunakan komputer untuk menjalankan berbagai program aplikasi ataupun menyimpan data yang membutuhkan memory yang lebih besar dari memory yang telah tersedia ( Memory fisik seperti RAM, baca disini untuk lebih lengkap ). Program ataupun data yang tidak muat dimasukan pada memory asli ( RAM ), akan disimpan ke dalam sebuah Pagging File. Pengertian Pagging file ialah data yang hanya disimpan sementara atau bisa disebut swap. Pada sistem operasi linux kita diharuskan untuk membuat dua partisi utama yaitu untuk system dan untuk swap. Virtual Memory ini Berbeda halnya dengan Memory fisik seperti RAM, karena ram merupakan komponen yang termasuk kedalam golongan hardware. Walapun dalam kenyatannya Virtual Memory ini disimpan di harddisk, tetapi kerjannya itu tidak tampak, artinya berjalan secara software namun disimpan dihardware. Data yang disimpan ini tidak dapat bertahan lama, dalam artian hanya saat di gunakan saja. Dan bila komputer dimatikan, data data yang tadinya ada di virtual memory akan hilang. Jadi Fungsi Virtual Memoryialah untuk mengoptimalkan kinerja dari komputer, dengan tambahan memory, maka kemungkinan terjadi crash sangat kecil sekali. Ukuran dari paging file biasanya berbeda - beda, kalau ukuran paging file linux ialah 2 kali lipat dari memory aslinya. Misalkan kita memakai memory berkapasitas 512 MB, maka ukuran paging filenya yaitu 1 GB. Walaupun tidak harus 2 GB, tapi untuk memaksimalkan kinerja maka sebaiknya 2 kali lipatnya. Dan untuk Ukuran Paging file Di windows XP dan Vista Yaitu 1,5 kali dari kapasitas aslinya. Misalkan kita menggunakan memory sebesar 1 GB, maka paging filenya sebesar 1,5 GB. Dalam Xp maupun Vista paging file ini dinamai dengan pagefile.sys bila anda ingin mencarinya, pasti tidak akan ketemu, karena file ini disembunyikan atau hidden files.

Memori Virtual

Selama bertahun-tahun, pelaksanaan berbagai strategi managemen memori yang ada menuntut keseluruhan bagian proses berada di memori sebelum proses dapat mulai dieksekusi. Dengan kata lain, semua bagian proses harus memiliki alokasi sendiri pada memori fisiknya.
Pada nyatanya tidak semua bagian dari program tersebut akan diproses, misalnya:
  1. Terdapat pernyataan-pernyataan atau pilihan yang hanya akan dieksekusi jika kondisi tertentu dipenuhi. Apabila kondisi tersebut tidak dipenuhi, maka pilihan tersebut tak akan pernah dieksekusi/ diproses. Contoh dari pilihan itu adalah: pesan-pesan error yang hanya akan muncul bila terjadi kesalahan dalam eksekusi program.
  2. Terdapat fungsi-fungsi yang jarang digunakan, bahkan sampai lebih dari 100x pemakaian.
  3. Terdapat pealokasian memori lebih besar dari yang sebenarnya dibutuhkan. Contoh pada: array, list, dan tabel.

Hal-hal di atas telah menurunkan optimalitasi utilitas dari ruang memori fisik. Pada memori berkapasitas besar, hal ini mungkin tidak menjadi masalah. Akan tetapi, bagaimana jika memori yang disediakan terbatas?
Salah satu cara untuk mengatasinya adalah dengan overlay dan dynamic loading . Namun hal ini menimbulkan masalah baru karena implementasinya yang rumit dan penulisan program yang akan memakan tempat di memori. Tujuan semula untuk menghemat memori bisa jadi malah tidak tercapai apabila program untuk overlay dan dynamic loading . malah lebih besar daripada program yang sebenarnya ingin dieksekusi.
Maka sebagai solusi untuk masalah-masalah ini digunakanlah konsep memori virtual.

Pengertian

Memori virtual merupakan suatu teknik yang memisahkan antara memori logis dan memori fisiknya. Teknik ini mengizinkan program untuk dieksekusi tanpa seluruh bagian program perlu ikut masuk ke dalam memori.
Berbeda dengan keterbatasan yang dimiliki oleh memori fisik, memori virtual dapat menampung program dalam skala besar, melebihi daya tampung dari memori utama yang tersedia.
Prinsip dari memori virtual yang patut diingat adalah bahwa: "Kecepatan maksimum eksekusi proses di memori virtual dapat sama, tetapi tidak pernah melampaui kecepatan eksekusi proses yang sama di sistem tanpa menggunakan memori virtual."
Konsep memori virtual pertama kali dikemukakan Fotheringham pada tahun 1961 pada sistem komputer Atlas di Universitas Manchester, Inggris (Hariyanto, Bambang : 2001).

Keuntungan

Sebagaimana dikatakan di atas bahwa hanya sebagian dari program yang diletakkan di memori. Hal ini berakibat pada:
  • Berkurangnya I/O yang dibutuhkan (lalu lintas I/O menjadi rendah). Misal, untuk program butuh membaca dari disk dan memasukkan dalam memory setiap kali diakses.
  • Berkurangnya memori yang dibutuhkan (space menjadi lebih leluasa). Contoh, untuk program 10 MB tidak seluruh bagian dimasukkan dalam memori. Pesan-pesan error hanya dimasukkan jika terjadi error.
  • Meningkatnya respon, sebagai konsekuensi dari menurunnya beban I/O dan memori.
  • Bertambahnya jumlah user yang dapat dilayani. Ruang memori yang masih tersedia luas memungkinkan komputer untuk menerima lebih banyak permintaan dari user.

Implementasi

Gagasan dari memori virtual adalah ukuran gabungan program, data dan stack melampaui jumlah memori fisik yang tersedia. Sistem operasi menyimpan bagian-bagian proses yang sedang digunakan di memori utama (main memory) dan sisanya ditaruh di disk. Begitu bagian di disk diperlukan, maka bagian di memori yang tidak diperlukan akan disingkirkan (swap-out) dan diganti (swap-in) oleh bagian disk yang diperlukan itu.
Memori virtual diimplementasikan dalam sistem multiprogramming. Misalnya: 10 program dengan ukuran 2 Mb dapat berjalan di memori berkapasitas 4 Mb. Tiap program dialokasikan 256 KByte dan bagian-bagian proses di-swap masuk dan keluar memori begitu diperlukan. Dengan demikian, sistem multiprogramming menjadi lebih efisien.
Memori virtual dapat dilakukan melalui dua cara:
  1. Permintaan pemberian halaman (demand paging).
  2. Permintaan segmentasi (demand segmentation). Contoh: IBM OS/2. Algoritma dari permintaan segmentasi lebih kompleks, karenanya jarang diimplementasikan.

Apa itu Virtual Memori? Mungkin sebagian dari pengguna Microsoft Windows sudah tidak asing lagi dengan istilah itu. Karena sering sekali windows memberi peringatan kepada user tentang “Memory is low”, ini terjadi karena komputer kekurangan memori untuk menjalankan sebuah program. Hal ini sering terjadi pada saat komputer ingin menjalankan program yang memerlukan sumber memori yang besar seperti Game, mungkin banyak gamer sering sekali terganggu dengan masalah seperti ini.
Sesuai dengan namanya “Virtual Memori” berarti :
  • Memori : Ruang penyimpanan
  • Virtual : Tiruan / tidak nyata.
Jadi Virtual Memori adalah sebuah sistem yang digunakan oleh sistem operasi untuk menggunakan sebagian dari Memori Sekunder yaitu Harddisk seolah-olah ia menggunakannya sebagai memori internal/utama (RAM) fisik yang terpasang di dalam sebuah sistem komputer. Sistem ini beroperasi dengan cara memindahkan beberapa kode yang tidak dibutuhkan ke sebuah berkas di dalam hard drive yang disebut denganpage file. Proses pemakaian Virtual memori di windows umumnya dapat dilihat di Task manager, seperti gambar di bawah ini.
Grafik_Virtual_Memory
Dalam sistem operasi berbasis Windows NT, terdapat sebuah komponen yang mengatur memori virtual yaitu Virtual Memory Manager (VMM) yang memiliki fungsi untuk dapat memetakan alamat-alamat virtual yang dimiliki oleh sebuah proses yang berjalan ke dalam page memori fisik di dalam komputer. Dengan cara ini maka setiap proses dapat memperoleh memori virtual yang cukup agar dapat berjalan dan tidak mengganggu memori yang sedang digunakan oleh proses lainnya. VMM menangani paging antara RAM dan page file agar setiap aplikasi 32-bit dapat mengakses memori hingga 4 Gigabyte, meskipun Windows hanya membatasinya pada kisaran 2 Gigabyte.
Jadi, untuk komputer yang mempunyai memori / RAM kecil ada baiknya memperbesar virtual memori agar tetap dapat menjalankan aplikasi yang membutuhkan memori yang besar terutama untuk game.
Berikut adalah langkah-langkah untuk memperbesar virtual memori di Windows XP (Experience) :
  1. click tombil start.
  2. Pilih / masuk ke control panel.
  3. Click pilihan System.
  4. Maka muncul window “System properties”. Dan pilih tab Advanced
  5. click tombol Setting pada frame Performance.
  6. Maka muncul window “Performance Option”. Dan pilih tab Advanced
  7. kemudian click tombol Change pada frame Virtual Memory.
  8. Maka akan muncul gambar dibawah ini.
Range_Virtual_Memory
9. Ubahlah nilai yang saya lingkari menjadi lebih besar dari nilai default/ nilai standar, minimal sesuai dengan nilai yang ada di gambar ini. Yaitu berkisar antara 1024 – 2048 Megabyte.
10. Click tombol Set dan OK.
11. Jika Windows anda memerlukan restart maka click tombil ok untuk me-restart komputer anda.
Sebenarnya konsep virtual memory ini juga berlaku untuk Sistem operasi lainnya seperti pada sistem operasi Linux, pada sistem operasi linux konsep virtual memory ini lebih dikenal dengan Swap memory yang telah dipartisi sebelumnya. Ini berlaku untuk semua distro linux seperti: redhat (fedora core), ubuntu/debian, mandriva/mandrake , suse dan lainnya. Tetapi dalam sistem operasi linux biasanya virtual memory telah di tetapkan sebelum proses instalasi-nya yaitu dalam bentuk partisi harddisk untuk swap memory.


  • Konsep dasar memori virtual
Sebagian besar algoritma manajemen memori memerlukan satu kebutuhan dasar
yaitu instruksi yang akan dieksekusi harus berada di memori fisik. Pada beberapa
kasus, keseluruhan program tidak diperlukan. Misalnya :
  • Program mempunyai kode untuk menangani kondisi error yang tidak biasa. Karena error-error ini jarang terjadi, kode ini hampir tidak pernah dieksekusi.
  • Array, list dan tabel dialokasikan lebih dari kapasitas memori yang diperlukan
  • Pilihan dan gambaran program jarang digunakan


Pada kasus dimana keseluruhan program dibutuhkan, mungkin tidak semua diperlukan pada saat yang sama. Kemampuan mengeksekusi program hanya pada beberapa bagian dari memori mempunyai beberapa keuntungan yaitu :
  • Program tidak terbatas jumlah memori fisik yang tersedia sehingga user dapat menulis program untuk ruang alamat virtual yang sangat besar yang berarti menyederhanakan programming task.
  • Karena setiap program user dapat menggunakan memori fisik yang lebih kecil, pada waktu yang sama dapat menjalankan lebih banyak program.



I/O yang lebih sedikit diperlukan untuk load atau swap program user ke memori, sehingga setiap program user dapat berjalan lebih cepat.
    Memori virtual adalah teknik yang memisahkan
    memori logika user dari memori fisik. Menyediakan memori virtual yang sangat besar diperuntukkan untuk programmer bila tersedia memori fisik yang lebih kecil. Programmer tidak perlu

    khawatir jumlah memori fisik yang tersedia, sehingga dapat berkonsentrasi pada
    permasalahan pemrograman. Gambaran memori virtual dapat dilihat pada Gambar


    • Demand paging adalah sistem paging dengan swapping seperti pada ilustrasi gambar dibawah.
    Page diletakkan di memori hanya jika diperlukan. Hal ini menyebabkan kebutuhan
    I/O lebih rendah, kebutuhan memori lebih rendah, responlebih cepat dan lebih banyak user yang menggunakan.
    Proses disimpan di memori sekunder (disk). Jika proses akan dieksekusi, maka
    dipindah (swap) ke memori. Menggunakan lazy swapper untuk melakukan swapping
    bila page tersebut akan digunakan yang berarti sebuah page tidak pernah ditukar ke
    memori kecuali page diperlukan. Jika page diperlukan, dilakukan acuan ke page
    tersebut, tetapi jika acuan invalid maka dilakukan penghentian.


    Untuk membedakan antara page pada memori dengan page pada disk digunakan
    valid-invalid bit. Tabel page
    untuk page yang berada di memori diset "valid',

    sedangkan tabel page untuk page yang tidak sedang di memori (ada pada disk) diset "invalid" seperti Gambar

    Akses ke page yang diset "invalid" menyebabkan page fault, yang
    menyebabkan trap ke sistem operasi. Karena status (register, kode kondisi, counter
    instruksi) dari proses ter-interrupt disimpan bila terjadi page fault, proses dapat dimulai lagi pada tempat dan status yang sama, kecuali page yang cocok sedang di memori dan sedang diakses. Prosedur untuk menangani page fault seperti Gambar sebagai berikut :
    1. Sistem operasi melihat tabel untuk menentukan jika acuan invalid maka proses dihentikan dan page sedang tidak berada di memori.
    2. Jika acuan invalid dilakukan trap ke sistem operasi.
    3. Sistem mencari frame kosong
    4. Sistem melakukan proses swapping ke frame bebas.
    5. Tabel page di-reset, bit valid-invalid diset 1 atau valid
    6. instruksi di-restart.



    Apabila tidak ditemukan
    frame bebas maka
    dilakukan page replacement
    yaitu

    mencari beberapapage di memori yang tidak digunakan kemudian dilakukan swap out
    ke backing store. Terdapat beberapa algoritma page replacement dimana performansi
    algoritma diharapkan menghasilkan jumlah page faultminimum. Beberapa page
    kemungkinan dibawa ke memori beberapa kali.
    Perangkat keras yang dibutuhkan untukmendukung demand paging
    sama

    dengan perangkat keras untuk sistem paging denganswapping yaitu
    • Tabel page : tabel mempunyai kemampuan untuk memberi entry bit valid-invalid atau nilai khusus untuk bit proteksi
    • Memori sekunder : digunakan untuk membawa page yang tidak di memori dan biasanya adalah disk kecepatan tinggi yang disebut swap device.

    • Unjuk Kerja DEMAND PAGING


    Demand paging memberikan efek yang signifikan dalam kinerja sistem

    computer. Diasumsikan ma adalah access time ke memori dan Padalah probabilitas terjadi page fault (0 ≤ p ≤ 1), maka effective access time didefinisikan sebagai :


    EAT = (1-p) x ma + p x page_fault-time

    Untuk menghitung effective access time, harus diketahui berapa waktu yang diperlukan untuk melayani page fault. Page fault menyebabkan terjadi
    1. Trap ke sistem operasi.
    2. Menyimpan register dan status proses.
    3. Menentukan interrupt adalah page fault
    4. Memeriksa page acuan legal atau tidak dan menentukan lokasi page pada disk.



    Membaca dari disk ke frame bebas :
    1. Menunggu di antrian untuk perangkat sampai permintaan membaca dilayani.
    2. Menunggu perangkat mencari dan / atau waktu latency.
    3. Memulai transfer dari page ke frame bebas.

    1. Sementara menunggu, alokasikan CPU untuk user lain.
    2. Interrupt dari disk (melengkapi I/O).
    3. Menyimpan register dan status process user lain.
    4. Menentukan interrupt dari disk.
    5. Memperbaiki tabel page dan tabel lain untuk menunjukkan pageyang dimaksud sudah di memori.
    6. Menunggu CPU dialokasikan untuk proses ini kembali.
    7. Menyimpan kembali register, status proses dan tabel page baru, kemudian melanjutkan kembali instruksi yang di-interupsi.

        Untuk Menghitung Effective Access Time
        dari sistem demand paging perhatikan contoh berikut. Diasumsikan memory access 100 ns. Rata-rata waktu latency untuk hard disk adalah 8 ms, waktu pencarian 15 ms dan rata-rata transfer sebesar 1 ms. Total waktu paging ≈ 25 ms.

        EAT = (1-p) x ma + p x page_fault-time

      Effective access time = (1-p) x (100) + p x (25 ms)
      = (1-p) x 100 + p x 25000000
      = 100 + 24999900 x p

      Apabila satu dari 1000 akses menyebabkan page fault, maka effective access time = 25 micro-sec (lebih lambat dengan faktor 250). Tetapi bila menginginkan degradasi
      kurang dari 10% maka
      110 > 100 + 25000000 x p
      10 > 250000000 x p
      p < 0.0000004

      Dapat Disimpulkan system harus mempertahankan rata-ratapage-fault yang rendah pada sistem demand-paging. Sebaliknya, jika effective access time meningkatmaka akan memperlambat eksekusi
      proses secara drastis.



      • PAGE REPLACEMENT
      Page replacement diperlukan pada situasi dimana proses dieksekusi perlu frame
      bebas tetapi tidak tersedia frame bebas. Sistem harus menemukan satu frame yang
      sedang tidak digunakan dan membebaskannya. Untuk membebaskanframe dengan cara
      menulis isinya untuk ruang swap dan mengubah tabel page (dan tabel lain) yang
      menunjukkan page tidak lagi di memori. Kebutuhan akan page replacement dapat
      dilihat pada Gambar




      Langkah-langkah untukpage fault yang memerlukan page replacement seperti
      Gambar 8-6 adalah sebagai berikut :
      1. Carilah lokasi pageyang diharapkan pada disk.
      2. Carilah framekosong dg cara :
      • Bila ada frame kosong, gunakan.
      • Bila tidak ada, gunakan algoritma page replacement untuk menyeleksiframe
      yang akan menjadi korban.
      • Simpan page korban ke disk, ubah tabel page.
      3. Baca page yang diinginkan ke frame kosong yang baru, ubah tabelpage.
      4. Mulai kembali proses user