makalah orkom tentenag virtual memory1

23
Makalah Organisasi Komputer Tentang Virtual Memory Disusun Oleh: QO’DRI NURHUDA 201431304 TRY OKTA BAGASKARA 201431281 SEKOLAH TINGGI TEKNIK PLN

Upload: mas-putra

Post on 16-Sep-2015

299 views

Category:

Documents


9 download

DESCRIPTION

tentang mengihitung makalah memory untuk meningkatkan kinerja komputer yga baik dan benar sehingga mempermudah pekerjaan manusia

TRANSCRIPT

  • Makalah Organisasi KomputerTentang

    Virtual Memory

    Disusun Oleh:QODRI NURHUDA 201431304

    TRYOKTABAGASKARA 201431281

    SEKOLAH TINGGI TEKNIKPLN

  • BAB IPENDAHULUAN

    A. Latar Belakang Masalah

    Dalam ilmu komputer, memori virtual adalah teknik manajemen memori yangdikembangkan untuk kernel multitugas. Teknik ini divirtualisasikandalam berbagaibentuk arsitektur komputer dari komputer penyimpanan data (seperti memori aksesacak dan cakram penyimpanan), yang memungkinkan sebuah program harusdirancang seolah-olah hanya ada satu jenis memori, memori "virtual", yang bertindaksecara langsung beralamat memori baca/tulis (RAM).

    Sebagian besar sistem operasi modern yang mendukung memori virtual jugamenjalankan setiap proses di ruang alamat khususnya sendiri. Setiap program dengandemikian tampaknya memiliki akses tunggal ke memori virtual. Namun, beberapasistem operasi yang lebih tua (seperti OS/VS1 danOS/VS2 SVS) dan bahkan yangmodern yang (seperti IBM i) adalah sistem operasi ruang alamat tunggal yangmenjalankan semua proses dalam ruang alamat tunggal yang terdiri dari memorivirtual.

    Memori virtual membuat pemrograman aplikasi lebih mudaholeh fragmentasi persembunyian dari memori fisik; dengan mendelegasikan ke kernelbeban dari mengelola hierarki memori (sehingga menghilangkan keharusan untukprogram dalam mengatasi hamparan secara eksplisit); dan, bila setiap proses berjalandalam ruang alamat khususnya sendiri, dengan menghindarkan kebutuhan untukmerelokasi kode program atau untuk mengakses memori dengan pengalamatanrelatif.

    Virtualisasi memori adalah generalisasi dari konsep memori virtual.

    B. Rumusan masalah1. Apa itu virtual memory ?2. Apa itu fungsi virtual memory ?

  • 3. Apa sajakah kelebihan dan kekurangan virtual memory ?4. Bagaimana Konsep Virtual Memori Pada Windows dan Konsep Virtual MemoriPada Linux Memori ?

    C. Tujuan Pembuatan laporan1. Untuk mengetahui apa itu virtual memory2. Untuk mengetahui apa fungsi dari virtual memory3. Untuk mengetahui apa kelebihan dan kekurangan virtual memory4. Untuk mengetahui bagaimana Konsep Virtual Memori Pada Windows dan

    Konsep Virtual Memori Pada Linux Memori

  • BAB IIPEMBAHASAN

    1. virtual memory

    virtual memoryMemori virtual (dalam bahasa Inggris: virtual Memory) adalah sebuah

    mekanisme yang digunakan oleh aplikasi untuk menggunakan sebagian dari memorisekunderseolah-olah ia menggunakannya sebagai RAM fisik yang terinstal di dalamsebuah sistem. Mekanisme ini beroperasi dengan cara memindahkan beberapa kodeyang tidak dibutuhkan ke sebuah berkas di dalam hard drive yang disebut denganswap file, page file atau swap partition.

    Dalam sistem operasi berbasis Windows NT, terdapat sebuah komponen yangmengatur memori virtual, yakni Virtual Memory Manager (VMM). VMM dapatmemetakan alamat-alamat virtual yang dimiliki oleh sebuah proses yang berjalan kedalam page memori fisikdi dalam komputer. Dengan cara begini, setiap proses pundapat memperoleh memori virtual yang cukup agar dapat berjalan, dan yangterpenting adalah setiap proses tidak mengganggu memori yang sedang digunakanoleh proses lainnya. VMM menangani paging antara RAM dan page file, denganmemindahkan page dengan menggunakan sebuah cara yang disebut sebagai demandpaging. Hasilnya, setiap aplikasi 32-bit pun dapat mengakses memori hingga 4gigabyte (meskipun Windows hanya membatasi proses yang berjalan dalam moduspengguna hanya sebatas 2 GB saja).

    Memori virtual menggabungkan RAM aktif dan memori aktif dalam bentuk cakramke dalam berbagai macam alamat yang berdekatan.

  • 2. Keuntungan dan kelebihan virtual memoryKeuntungan sistem virtual memory: Konsep mesin virtual menyediakan proteksi yang lengkap untuk sumber daya system

    sehingga masing-masing mesin virtual dipisahkan mesin virtual yang lain. Isolasi initidak memperbolehkan pembagian sumber daya secara langsung

    Sistem mesin virtual adalah mesin yang sempurna untuk riset dan pengembangansystem operasi. Pengembangan system dikerjakan pada mesin virtual, termasuk didalamnya mesin fisik dan tidak mengganggu operasi system yang normal.

    Kerugian sistem virtual memory: Konsep mesin virtual sangat sulit untuk mengimplementasikan kebutuhan dan

    duplikasi yang tepat pada mesin yang sebenarnya.

    3. Fungsi Virtual Memory

    Untuk mengoptimalkan kinerja dari komputer, dengan tambahan memory, makakemungkinan terjadi crash sangat kecil sekali.

    Ukuran dari paging file biasanya berbeda beda.Untuk ukuran paging file linuxialah 2 kali lipat dari memory aslinya. Misalkan kita memakai memory berkapasitas512 MB, maka ukuran paging filenya yaitu 1 GB. Walaupun tidak harus 2 GB, tapiuntuk memaksimalkan kinerja maka sebaiknya 2 kali lipatnya. Untuk ukuran pagingfile di windows XP dan Vista Yaitu 1,5 kali dari kapasitas aslinya. Misalkan kitamenggunakan memory sebesar 1 GB, maka paging filenya sebesar 1,5 GB. DalamXp maupun Vista paging file ini dinamai dengan pagefile.sys bila kita inginmencarinya, pasti tidak akan ketemu, karena file ini disembunyikan atau hidden files.

    Demand Paging Merupakan implementasi yang paling umum dari memori virtual.

    Prinsip permintaan pemberian halaman (demand paging) hampir sama dengan sistempenomoran (paging) dengan menggunakan swapping. Perbedaannya adalah page pada

  • permintaan pemberian halaman tidak akan pernah di-swap ke memori sampai iabenar-benar diperlukan. Untuk itu diperlukan adanya pengecekan dengan bantuanperangkat keras mengenai lokasi dari page saat ia dibutuhkan. Page diletakkan dimemori hanya jika diperlukan. Hal ini menyebabkan kebutuhan I/O lebih rendah,kebutuhan memori lebih rendah, respon lebih cepat dan lebih banyak user yangmenggunakan.

    Sistem paging dengan swapping

    Proses disimpan di memori sekunder (disk). Jika proses akan dieksekusi, makadipindah (swap) ke memori. Menggunakan lazy swapper untukmelakukan swapping bilapage tersebut akan digunakan yang berarti sebuah pagetidakpernah ditukar ke memori kecuali page diperlukan. Jika page diperlukan, dilakukanacuan ke page tersebut, tetapi jika acuan invalid maka dilakukanpenghentian. Pageyang sedang tidak berada di memori tersebut akan dibawa kememori dari backing store. Untuk membedakan antarapage pada memoridengan page pada disk digunakan valid-invalid bit. Tabel page untuk page yangberada di memori diset valid, sedangkan tabel page untuk page yang tidak sedangdi memori (ada pada disk) diset invalid

  • Beberapa page tidak sedang berada di memori

    Akses ke page yang diset invalid menyebabkanpage fault, yang menyebabkantrap ke sistem operasi. Karena status (register, kode kondisi, counter instruksi) dariproses ter-interrupt disimpan bila terjadi page fault, proses dapat dimulai lagi padatempat dan status yang sama, kecuali page yang cocok sedang di memori dan sedangdiakses. Prosedur untuk menangani page fault seperti Gambar 8-4 sebagai berikut :

    1. Sistem operasi melihat tabel untuk menentukan jika acuan invalid maka prosesdan page sedang tidak berada di memori.

    2. Jika acuan invalid dilakukan trap ke sistem operasi.3. Sistem mencari frame kosong4. Sistem melakukan proses swapping ke frame bebas.5. Tabel page di-reset, bit valid-invalid diset 1 atau valid6. instruksi di-restart.

  • Langkah-langkah bila terjadi page fault

    Apabila tidak ditemukan frame bebas maka dilakukan page replacement yaitumencari beberapa page di memori yang tidak digunakan kemudian dilakukan swap outkebacking store. Terdapat beberapa algoritma page replacement dimana performansialgoritma diharapkan menghasilkan jumlah page fault minimum.Beberapa pagekemungkinan dibawa ke memori beberapa kali. Perangkat keras yangdibutuhkan untuk mendukung demand pagingsamadengan 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 systemcomputer. Diasumsikan ma adalah access time ke memori dan p adalah probabilitas

  • terjadipage 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 diperlukanuntuk melayanipage fault. Page fault menyebabkan terjadi

    1. Trap ke sistem operasi.2. Menyimpan register dan status proses.3. Menentukan interrupt adalah page fau.t4. Memeriksa page acuan legal atau tidak dan menentukan lokasi page pada disk.5. Membaca dari disk ke frame bebas :

    a. Menunggu di antrian untuk perangkat sampai permintaan membaca dilayani.b. Menunggu perangkat mencari dan / atau waktu latency.c. Memulai transfer dari page ke frame bebas.

    6. Sementara menunggu, alokasikan CPU untuk user lain.7. Interrupt dari disk (melengkapi I/O).8. Menyimpan register dan status process user lain.9. Menentukan interrupt dari disk.10. Memperbaiki tabel page dan tabel lain untuk menunjukkan page yang dimaksud

    sudah di memori.11. Menunggu CPU dialokasikan untuk proses ini kembali.12. Menyimpan kembali register, status proses dan tabelpage baru, kemudian

    melanjutkan kembali instruksi yang di-interupsi.

    Tidak semua langkah diatas diperlukan pada setiap kasus. Pada beberapa kasus,terdapat tiga komponen utama dari waktu pelayanan page fault yaitu

    1. Melayani interrupt page fault.2. Membaca page.3. Memulai kembali proses.

  • Untuk menghitung effective access time dari sistem demand paging perhatikancontoh berikut.

    Diasumsikan memory access 100 ns. Rata-rata waktu latency untukhard disk adalah 8 ms, waktu pencarian 15 ms dan rata-rata transfer sebesar 1 ms. Totalwaktu paging 25 ms.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, makaeffective access time = 25micro-sec (lebih lambat dengan faktor 250). Tetapi bila menginginkan degradasikurang dari 10% maka110 > 100 + 25000000 x p10 > 250000000 x pp < 0.0000004

    Perlu diperhatikan system harus mempertahankan rata-rata page-fault yang rendahpada sistem demand-paging. Sebaliknya, jika effective access time meningkat maka akanmemperlambat eksekusi proses secara drastis.

    4. Page ReplacementPage replacement diperlukan pada situasi dimana proses dieksekusi perlu frame bebas

    tetapi tidak tersedia frame bebas. Sistem harus menemukan satu frame yangsedang tidakdigunakan dan membebaskannya. Untuk membebaskan frame dengan cara menulis isinyauntuk ruang swap dan mengubah tabel page (dan tabel lain) yangmenunjukkan page tidaklagi di memori.

  • Kebutuhan akan page replacement

    Langkah-langkah untuk page fault yang memerlukan page replacement sepertiGambar nya adalah sebagai berikut :1. Carilah lokasi page yang diharapkan pada disk.2. Carilah frame kosong dg cara :

    Bila ada frame kosong, gunakan. Bila tidak ada, gunakan algoritma page replacement untuk menyeleksi frame yangakan menjadi korban.

    Simpan page korban ke disk, ubah tabel page.3. Baca page yang diinginkan ke frame kosong yang baru, ubah tabel page.4. Mulai kembali proses user.

    Langkah langkah page replacement

  • Algoritma Page ReplacementTerdapat beberapa algoritma page replacement, setiap sistem operasi mempunyai

    skema yang unik. Algoritma page replacement secara umum diinginkan yang mempunyairata-rata page fault terendah. Algoritma dievaluasi dengan menjalankannya pada stringtertentu dari memory reference dan menghitung jumlah page fault. String yang mengacuke memori disebut reference string (string acuan). String acuan dibangkitkan secararandom atau dengan menelusuri sistem dan menyimpan alamat dari memori acuan.Misalnya jika ditelusuri proses tertentu, disimpan alamat berikut :0100, 0432, 0101, 0612, 0102, 0103, 0104,0101, 0611, 0102, 0103, 0104, 0101, 0610,0102, 0103, 0104, 0101, 0609, 0102, 0105

    dimana 100 byte per page direduksi ke string acuan :

    1, 4, 1, 6, 1, 6, 1, 6, 1, 6, 1

    Untuk menentukan jumlah page fault untuk string acuan dan algoritma pagereplacementtertentu, harus diketahui jumlah page frame tersedia juga harus diketahui. Semakin tinggijumlah frame lebih tinggi, semakin rendah jumlah page fault. Hal ini dapat dilihat dengangrafik

  • Grafik jumlah page fault terhadap jumlah frame

    Terdapat beberapa algoritma page replacement antara lain algoritma first in firstout (FIFO), optimal dan least recently use (LRU). Berikut akan diilustrasikanalgoritma page replacement tersebut dengan menggunakan string acuan

    7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1

    Algoritma FIFOAlgoritma FIFO merupakan algoritma paling sederhana. Algoritma FIFO

    diasosiasikan dengan sebuahpage bila page tersebut dibawa ke memori. Bila adasuatupage yang akan ditempatkan, maka posisi page yang paling lama yang akandigantikan. Algoritma ini tidak perlu menyimpan waktu pada saat sebuah page dibawa kememori. Ilustrasi algoritma FIFO

    Algoritma page replacement FIFO

    Meskipun algoritma FIFO mudah dipahami dan diimplementasikan, performansi

  • tidak selalu bagus karena algoritma FIFO menyebabkan Beladysanomaly. Beladysanomaly mematahkan fakta bahwa untuk beberapa algoritma pagereplacement, bila rata-rata page faultmeningkat, akan meningkatkan jumlah alokasi frame.Sebagai contoh, jika menggunakan string acuan :1, 2, 3, 4, 1, 2, 5, 1, 2, 5, 1, 2, 3, 4, 5dengan algoritma FIFO terjadi Beladys anomaly

    Algoritma OptimalAlgoritma optimal merupakan hasil penemuan dariBeladys anomaly. Algoritma ini

    mempunyai rata-rata page fault terendah. Algoritma optimal akan mengganti pageyangtidak akan digunakan untuk periode waktu terlama. Algoritma ini menjaminrata-rata page fault terendah untuk jumlah frame tetap tetapi sulit implementasinya.Ilustrasi dari algoritma optimal

    Beladys anomaly

    Algoritma page replacement optimal

  • Algoritma Least Recently Use (LRU)Algoritma LRU merupakan perpaduan dari algoritma FIFO dan optimal. Prinsip dari

    algoritma LRU adalah mengganti page yang sudah tidak digunakan untuk periode waktuterlama. Ilustrasi algoritma LRU sbb:

    Algoritma page replacement LRU

    Untuk mengimplementasikan algoritma LRU, digunakan dua model yaitu : Counter : setiap entry tabel pagee diasosiasikan dengan sebuah time-of-use dan

    sebuah clock logika atau counter ditambahkan ke CPU. Clock ini dinaikkan untuksetiap acuan ke memori. Jika sebuah acuan ke page dibuat, isi clock register dicopyke time-of-use pada tabel page untukpage tersebut.

    Stack : stack dari nomor page diatur. Jika sebuah pagedigunakan acuan,maka page dihapus dari stack dan meletakkan pada top of stack. Dengan cara ini,stack selalu digunakan page dan bagian bawah untuk page LRU. Implementasi stackuntuk algoritma LRU diilustrasikan sbb:

    Implementasi LRU menggunakan stack

  • Pengalokasian FrameAlokasi frame berhubungan dengan mekanisme alokasi sejumlah memori bebas

    yang tetap diantara beberapa proses. Meskipun terdapat beberapa variasipengalokasian frame bebas ke beberapa proses, tetapi strategi dasar jelas yaitu :proses user dialokasikan untuk sembarang frame bebas. Jumlah minimum frame perproses ditentukan oleh arsitektur dimana jumlah maksimum tergantung jumlahmemori fisik yang tersedia.

    Jumlah minimim frame ditentukan oleh arsitekturinstruction-set. Bilaterjadi page fault sebelum eksekusi instruksi selesai, instruksi harus di-restart.Sehingga tersedia frame yang cukup untuk membawa semua pageyang berbedadimana sembarang instruksi dapat mengacu. Misalnya mikrokomputer menggunakanmemori 128K yang dikomposisikan dengan page ukuran 1K, maka terbentuk128 frame. Jika sistem operasi menggunakan 35K, maka 93frame sisa digunakanprogram user. Bila suatu program menyebabkan page fault sebanyak 93 kali, makamenempati 93 frame bebas tersebut. Jika terjadi page fault ke 94, dari 93 frame yangterisi harus dipilih salah satu untuk diganti yang baru. Bila program selesai,93 frame tersebut dibebaskan kembali.

    Terdapat 2 bentuk algoritma alokasi yaitu equal allocation dan proportionalallocation. Pada equal allocation, jika terdapat m frame dan n proses, makasetiap proses dialokasikan sejumlah frame yang sama (m/n frame). Padaproportionalallocation setiap proses dialokasikan secara proporsional berdasarkan ukurannya.Jika ukuran virtual memori untuk proses pi adalah si dan total jumlah frame yangtersedia m, maka frame ke ai dapat dialokasikan ke proses pi sama dengan :

    ai si /S x mDimana S = si. Contohnya :

    m=64si=10s2=127

  • a1=10/137 x 64 = 5a2=127/137 x 64 = 59Selain itu terdapat algoritma alokasi berprioritas yang menggunakan skema

    proporsional dengan lebih melihat prioritas proses daripada ukuran proses. Jikaproses Pi membangkitkan page fault, dipilih satu dari frame-frame dari proses yangmempunyai nomor prioritas terendah.

    ALOKASI GLOBAL DANALOKASI LOKALPage replacement adalah faktor terpenting lain yang harus dipertimbangkan

    dalam alokasi frame. Pada multiple process yang berkompentisi mendapatkan frame,algoritmapage replacement dikelompokkan dalam 2 kategori yaituglobalreplacement dan local replacement.

    Global replacement mengijinkan suatu proses untuk menyeleksisuatu frame yang akan dipindah dari sejumlahframe, meskipun frame tersebut sedangdialokasikan ke proses yang lain. Pada local replacement, jumlah frame yangdialokasikan untuk proses tidak berubah. Setiap proses dapat memilihdari frame-frame yang dialokasikanuntuknya.

    Permasalahan pada global replacement adalah proses tidak dapat mengontrolrata-rata page fault. Sejumlah page pada memori untuk sebuah proses tidak hanyatergantung pada perilaku paging untuk proses tersebut, tetapi juga perilaku paginguntuk proses yang lain. Bagaimanapun, karena algoritma global replacementmenghasilkan throughput yang lebih besar, metode ini sering digunakan.

    ThrashingMisalnya sembarang proses tidak mempunyai frameyang cukup. Meskipun

    secara teknis dapat mengurangi jumlah frame yang dialokasikan sampai minimum,terdapat sejumlah page yang sedang aktif digunakan. Jika suatu proses tidakmemiliki jumlah frame yang cukup, maka sering terjadi page fault. Sehingga harusmengganti beberapa page. Tetapi karena semua page sedang digunakan, harusmengganti page yang tidak digunakan lagi kemudian. Konsekuensinya, seringterjadi page fault lagi dan lagi. Proses berlanjut page fault,

  • mengganti page untukpage fault dan seterusnya.Kegiatan aktifitas paging yang tinggi disebutthrashing. Sebuah proses

    mengalami thrashing jika menghabiskan lebih banyak waktu untuk paging daripadaeksekusi. Efek thrashing dapat dibatasi dengan menggunakan algoritma local(priority) replacement. Grafik terjadinya proses thrashing pada sistemmultiprogramming dapat dilihat sbb:

    Thrashing

    Beberapa sistem operasi memerlukan yang namanya virtual memory. LayaknyaLinux yang membutuhkan swap, microsoft windows vista ataupun XP punmembutuhkan yang namanya virtual memory. Pengertian dari Virtual memory itusendiri yakni memori sementara yang digunakan komputer untuk menjalankanberbagai program aplikasi ataupun menyimpan data yang membutuhkan memoryyang lebih besar dari memory yang telah tersedia ( Memory fisik seperti RAM, bacadisini untuk lebih lengkap ). Program ataupun data yang tidak muat dimasukan padamemory asli ( RAM ), akan disimpan ke dalam sebuah Pagging File. PengertianPagging fileialah data yang hanya disimpan sementara atau bisa disebut swap. Padasistem operasi linux kita diharuskan untuk membuat dua partisi utama yaitu untuksystem dan untuk swap. Virtual Memory ini Berbeda halnya dengan Memory fisikseperti RAM, karena ram merupakan komponen yang termasuk kedalam golonganhardware. Walapun dalam kenyatannya Virtual Memory ini disimpan di harddisk,tetapi kerjannya itu tidak tampak, artinya berjalan secara software namun disimpandihardware. Data yang disimpan ini tidak dapat bertahan lama, dalam artian hanya

  • saat di gunakan saja. Dan bila komputer dimatikan, data data yang tadinya ada divirtual memory akan hilang. Jadi Fungsi Virtual Memoryialah untukmengoptimalkan kinerja dari komputer, dengan tambahan memory, makakemungkinan terjadi crash sangat kecil sekali. Ukuran dari paging file biasanyaberbeda - beda, kalau ukuran paging file linuxialah 2 kali lipat dari memory aslinya.Misalkan kita memakai memory berkapasitas 512 MB, maka ukuran paging filenyayaitu 1 GB. Walaupun tidak harus 2 GB, tapi untuk memaksimalkan kinerja makasebaiknya 2 kali lipatnya. Dan untuk Ukuran Paging file Di windows XP danVista Yaitu 1,5 kali dari kapasitas aslinya. Misalkan kita menggunakan memorysebesar 1 GB, maka paging filenya sebesar 1,5 GB. Dalam Xp maupun Vista pagingfile ini dinamai dengan pagefile.sys bila anda ingin mencarinya, pasti tidak akanketemu, karena file ini disembunyikan atau hidden files.

    Konsep Virtual Memori Pada WindowsPada komputer kita, jumlah memory yang tersedia adalah jumlah antara memory

    fisik/RAM dengan virtual memory. Virtual memory adalah sebuah porsi pada harddisk yang di-set menyerupai RAM oleh system. Virtual memory merupakan ruangpenyimpanan sementara yang digunakan untuk menjalankan program yangmembutuhkan memory yang lebih besar dari memory fisik.Virtual memory berupa file yang bernama pagefile.sys yang di-set hidden olehWindows. File ini disebut paging file, yang digunakan untuk menampung programdan data yang tidak cukup di memory fisik. Virtual memory lebih lambat daripadamemory fisik, dan penggunaan yang terlalu banyak dapat menurunkan kinerja sistem.Sehubungan dengan itu, windows memindahkan proses yang tidak terlalu sering kevirtual memory, dan membiarkan proses yang sering digunakan di memory fisik. Jadiini sangat efisien.

    Ukuran dari virtual memory dapat kita rubah, Windows merekomendasikanukuran minimal dari vitual memory adalah 1.5 kali dari memory fisik kita. Jika andamemiliki beberapa harddisk, misal hardisk pertama adalah C: dan harddisk keduaadalah D: dan anda jarang menggunakan drive D:, anda dapat memindahkan virtualmemory ke drive D:. Memindahkan virtual memory ke harddisk yang jarang

  • digunakan akan sedikit meningkatkan performa. Alasannya adalah, pada harddiskpertama biasanya head dari harddisk sangat sibuk untuk membuka program,dokumen, menyimpan file dan masih banyak lagi. Tetapi ingat, cara ini tidak akanberguna bila drivenya terletak pada harddisk yang sama atau dengan kata lain sebuahpartisi.

    Dalam proses ini seluruh program akan ditempatkan di disk sekunder danmembawa halaman-halaman yang diperlukan ke memori fisik sehingga memoriutama hanya akan menyimpan sebagian alamat proses yang sering digunakan dansebagian lainnya akan disimpan dalam disk sekunder dan dapat diambil sesuaidengan kebutuhan.Jadi jika proses yang sedang berjalan membutuhkan instruksi ataudata yang terdapat pada suatu halaman tertentu maka halaman tersebut akan dicari dimemori utama. Jika halaman yang diinginkan tidak ada maka akan dicari ke disksekunder.

    Konsep Virtual Memory: Pemisahan antara user logical memory (virtual) dengan physical memory. Logical address space (program) dapat lebih besar dari alokasi memori fisik yang

    diberikan. Hanya sebagian kecil dari program yang harus berada di memori untuk eksekusi. Terdapat mekanisme untuk melakukan alokasi dan dealokasi page (swapped out dan

    in) sesuai dengan kebutuhan (referensi program). Terdapat bagian dari disk menyimpan sisa page (program) yang sedang dijalankan di

    memori.Virtual memory dapat diimplementasikan melalui :

    Demand paging, menerapkan konsep pemberian halaman pada prosesDemand segmentation, lebih kompleks diterapkan ukuran segmen yang bervariasi.

    Konsep Virtual Memori Pada Linux Memori

    Organisasi dan manajemen memori sangat mempengaruhi kinerja komputer. Manajemen

  • memori melakukan tugas penting dan kompleks berkaitan dengan:

    Memori utama sebagai sumber daya yang harus dialokasikan dan dipakai bersamadiantara sejumlah proses yang aktif. Agar dapat memanfaatkan pemroses dan fasilitasmasukan/keluaran secara efisien, maka diinginkan memori yang dapat menampungsebanyak mungkin proses.

    Upaya agar pemrogram atau proses tidak dibatasi kapasitas memori fisik di systemkomputer.

    Linux memanfaatkan virtual memori untuk mendukung kinerja sistem. Sebagai sistemoperasi multiprogramming, virtual memori dapat meningkatkan efisisensi sistem. Sambilproses menunggu bagiannya diswap masuk ke memori, menunggu selesainya operasimasukan/keluaran dan proses diblocked. Jatah waktu pemroses dapat diberikan keproses-proses lain.

    Manajemen memori Linux menyediakan:1. Ruang alamat besar

    Ruang alamat dapat lebih besar dibanding memori fisik yang tersedia2. Proteksi

    Tiap proses di sistem mempunyai ruang alamat maya tersendiri. Ruang ruang alamatmaya itu sepenuhnya terpisah. Proses yang berjalan di satu aplikasi tidak dapatmengganggu proses lainnya.3. Pemetaan memori

    Dilakukan pemetaan antara memori maya ke memori fisik yang tersedia.4. Memori maya bersama (shared virtual memory)

    Memori maya bersama ini untuk menghemat ruang memori, seperti pustaka dinamisbagi beberapa proses.

    Karena memori fisik lebih sedikit dibanding memori maya, maka sistem hanyamemuatkan page-page maya yang saat itu sedang digunakan proses. Linux memuatkanpage maya begitu diperlukan. Teknik ini disebut dengan demand paging. Saat pemrosesberusaha mengakses alamat maya yang tidak di memori fisik, pemroses tidak dapatmenemukan isian di tabel page maya. Pemroses menerbitkan page fault.

  • Jika alamat maya yang dituju tak absah (yaitu proses berusaha mengakses alamatmaya yang tidak dibolehkan), maka sistem operasi mengakhiri proses itu untukmemproteksi proses-proses lain.

    Jika alamat maya yang dituju absah tapi tidak sedang di memori fisik, maka sistemoperasi harus membawa page ke memori dari disk. Pengaksesan disk memerlukanwaktu lama. Jika terdapat proses lain yang dapat dijalankan, maka sistem operasimemilih proses lain untuk dijalankan. Proses dimulai kembali di instruksi dimanapage fault terjadi. Pemroses dapat memetakan memori maya ke memori fisik saatdilakukan pengaksesan memori maya, sehingga proses terus berjalan. Jika tidakterdapat memori bebas, sistem operasi harus membuat ruang bagi page yang akandimasukkan dengan membuang page lain dari memori.

    Jika page telah dimodifikasi (dirty-page), sistem operasi harus menjaga isi page.Ketika dipindahkan dari memori, disimpan di ruang khusus (swap space).

    Jika page yang dibuang berupa page belum ditulisi maka page tidak perlu dituliskanke diskLinux menempatkan proses pada memori yang dibagi menjadi sejumlah partisi.

    Pemartisian ini bersifat dinamis maka jumlah, lokasi dan ukuran proses di memori dapatberagam sepanjang waktu secara dinamis. Proses yang akan masuk ke memori segeradibuatkan partisi sesuai kebutuhan. Linux menciptakan ruang disk tempat swap terlebihdahulu, saat proses diciptakan, ruang swap pada disk dialokasikan. Ketika proses harusdikeluarkan dari memori utama, proses selalu ditempatkan ke ruang yang telahdialokasikan, bukan ke tempat tempat berbeda setiap kali terjadi swap-out. Ketika prosesberakhir, ruang swap pada disk didealokasikan.

  • BAB IIIPENUTUP

    KESIMPILAN

    Jadi, Virtual Memori adalah suatu sistem yang digunakan oleh sistem operasi untukmenggunakan sebagian dari memori sekunder (Harddisk). Seolah-olah sistem tersebutmenggunakan memori internal / primary (RAM) fisik yang terpasang pada sebuah sistemkomputer. Cara kerja sistem ini beroperasi dengan cara memindahkan beberapa kodeyang tidak dibutuhkan ke sebuah berkas pada Hard Drive yang biasa disebut dengan PageFile. Proses pemakaian virtual memori pada windows umumnya dapat dilihat di TaskManager.

    Beberapa keuntungan penggunaan memori virtual adalah sebagai berikut: Berkurangnya proses I/O yang dibutuhkan (lalu lintas I/O menjadi rendah)

    .Misalnya untuk program butuh membaca dari disk dan memasukkan dalammemory setiap kali diakses.

    Ruang menjadi lebih leluasa karena berkurangnya memori fisik yang digunakan.Contoh, untuk program 10 MB tidak seluruh bagian dimasukkan dalam memori fisik.Pesan-pesan error hanya dimasukkan jika terjadi error.

    Meningkatnya respon, karena menurunnya beban I/O dan memori. Bertambahnya jumlah pengguna yang dapat dilayani. Ruang memori yang masih

    tersedia luas memungkinkan komputer untuk menerima lebih banyak permintaan daripengguna.