Makalah Manajemen Memory


TUGAS IV
Sistem Operasi
Manajemen Memory




Nama            : Idni Nuzulul Farandani
NIM             : 121051107
                                      Kelas            : A ( Senin, 13.30 – 15.00 )

Institut Sains dan Teknologi AKPRIND Yogyakarta
Teknologi Industri / Teknik Informatika
2013/2014


KATA  PENGANTAR

Puji syukur kita panjatkan atas kehadiran Tuhan Yang Maha Esa yang telah memberikan segala rahmat serta hidayah-Nya kepada kita, sehingga penulis dapat menyelesaikan tugas ini untuk melengkapi tugas-tugas Sistem Operasi.
Makalah ini disusun melalui beberapa tahapan, yakni dari browsing, dan juga menggunakan jasa layanan Internet sampai makalah ini selesai dibuat, makalah ini dapat terselesaikan oleh penulis berkat bantuan dari teman-teman yang tidak henti-hentinya memberikan motivasi.
Dalam menyusun Tugas Kelompok ini penulis merasa masih banyak kekurangan-kekurangan baik pada teknis penulisan maupun  materi, mengingat akan kemampuan yang dimiliki penulis. Untuk itu kritik dan saran dari semua pihak sangat penulis harapkan demi penyempurnaan pembuatan Tugas Individu  ini.
Dari permasalahan yang telah kita bahas, semoga kita lebih mengetahui dan mempermudah kita dalam menjalankan program browsing tersebut sehingga kita semua dapat mengambil hikmah dari tugas yang penulis kerjakan.
Semoga permasalahan yang penulis selesaikan dapat bermanfaat bagi kita semua dan menjadikan suatu hal yang dapat kita terapkan dalam kehidupan sehari-hari.



                                                                                             Yogyakarta, 28 Desember 2013


                                                                                                     Idni Nuzulul Farandani



DAFTAR ISI

HALAMAN JUDUL  ................................................................................................................ i
KATA PENGANTAR .............................................................................................................. ii
DAFTAR ISI ............................................................................................................................ iii

BAB I Manajemen Meori Pada Sistem Multiprogramming .......................................................... 1
A.    Berdasarkan Pengalokasian Memori ................................................................................... 1
1.     Alokasi Berurut ............................................................................................................ 1 - 3
2.     Partisi Dinamis ............................................................................................................. 3 - 5
3.     Sistem Buddy .................................................................................................................... 5
B.    Alokasi  Tidak Berurut ....................................................................................................... 6
1.     Sistem Pagging .................................................................................................................. 6
2.     Sistem Segmentasi ............................................................................................................. 7
3.     Sistem Kombinasi .............................................................................................................. 7

BAB II Optimalisai Utilitas Memori ............................................................................................ 8
A.    Konsep Dasar Memori ...................................................................................................... 8
1.     Overlay ............................................................................................................................. 9
2.     Dynamic Loading ....................................................................................................... 9 - 10
3.     Dynamic Linking .............................................................................................................. 10
4.     Swapping ................................................................................................................. 10 - 11
B.    Memori Virtual ......................................................................................................... 11 - 12

DAFTAR PUSTAKA ............................................................................................................ 13




BAB I
Manajemen Memori
Pada Sistem Multiprogramming


Manajemen pada system Multiprograming memiliki karakteristik sbb :
1.     Terdapat sejumlah proses menempati memori utama pada setiap saat .
2.     Image proses dari program dapat dimuat seluruhnya atau sebagian saja ke memori utama
3.     Alokasi memori utama ke proses dapat berurutan ataupun tidak berurutan .
4.   Dimungkinkan seluruh atau sebagian image proses berpindah lokasi memori utama selama eksekusinya .
5.     Dimungkinkan suatu proses lokasi memori utama diakses bersama oleh sejumlah proses atau disebut dengan memory sharing .

A.           Berdasarkan Pengalokasian Memori




1.     Alokasi Berurut (Contiguous)
Memori harus mengakomodasi kebutuhan SO dan proses user. Memori utama biasanya terbagi dalam dua bagian:
·                Resident operating system, biasanya tersimpan di alamat memori rendah.
·                User proces menggunakan memori beralamat tinggi/besar.

Alokasi berurut terbagi menjadi tiga yakni:
1.    Partisi Statis
Ciri-ciri dari partisi statis sebagai berikut:
1.     Memori dibagi menjadi partisi-partisi dengan ukuran yang tetap.
2.   Satu proses hanya memakai satu partisi. Jika proses sudah selesai, partisi tersebut dapat digunakan proses yang lain.
3.    Dibagi menjadi 2 bagian:
a)     Berukuran Sama



Banyak kelemahan, antara lain:
·                Proses yang ukurannya lebih besar dari ukuran partisi tidak dapat dialokasikan.
·                Sebaliknya bila ukuran proses lebih kecil daripada ukuran partisi, maka akan terjadi pemborosan ruang memori (Fragmentasi internal).




b)    Berukuran Tidak Sama




Untuk mengatasi kelemahan dari Pengalokasian berurut dengan partisi statis dengan ukuran sama, yaitu proses ukuran kecil diletakkan ke partisi yang kecil dan sebaliknya.
 Ada 2 jenis strategi:
1.)     Satu antrian untuk setiap partisi
Tiap proses diletakkan pada partisi dengan ukuran terkecil yang dapat dimuatnya.
Kelemahan: ada partisi yang memiliki antrian panjang dan ada yang kosong.
2.)     Satu antrian untuk seluruh partisi
Semua proses dimasukkan pada satu antrian yang sama, Algoritma penjadwalan melakukan pemilihan partisi.
Kelemahan: jika proses yang berukuran kecil terpaksa masuk ke partisi sisa yang besar, sehingga terjadi pemborosan ruang.

2.   Partisi Dinamis
Ciri-ciri:
1.     Pada kondisi awal, memori tidak dibagi menjadi partisi-partisi
2.     Pemartisian dilakukan pada saat image proses akan disalin ke memori utama.
3.     Ukuran partisi yang dialokasikan akan disesuaikan dengan ukuran image proses.
4.     Partisi akan dibebaskan jika program sudah selesai.
5.  Keuntungan : tidak terjadi fragmentasi internal alokasi memori disesuaikan dengan besarnya image proses.
Cara kerja:
1.   Pengalokasian dilakukan dengan mencari hole à suatu ruang memori utama yang kosong, yang cukup besar untuk menampung image proses.
2.  Hole sisa kadang kala terlalu kecil untuk dapat dialokasikan ke proses lainnya sehingga  tidak bisa digunakan lagi à fragmentasi eksternal.
3.   Salah satu cara untuk mengatasi masalah ini adalah melakukan memory compaction.
Yaitu: menggeser image proses-proses yang ada  di memori sehingga hole terkumpul di satu tempat saja
Kelemahan:
·                Proses alokasi dan dealokasi menjadi lebih rumit.
·                Perlu pengelolaan informasi area memori yang masih kosong.

Ada 2 metode pengelolaan memori kosong:
1.    Peta bit (bitmap)
Ø  Menggunakan area memori khusus untuk mencatat seluruh area kosong pada memori utama.
Ø  Memakai nilai 0 dan 1
·         Nilai 0  , alamat memori tersebut masih kosong.
·         Nilai 1  , alamat memori tersebut sudah terisi.

2.     Linked list
Ø   Informasi mengenai hole kosong berikutnya dicatat pada hole kosong sebelumnya.
Ø   Tidak diperlukan area memori khusus. Karena seluruh informasi tercatat di area memori kosong itu sendiri sehingga menghemat kapasitas memori utama.
Diperlukan algoritma untuk menentukan hole mana yang akan dialokasikan ke suatu proses.
1.     Algoritma Best-fit
·           Mencari memori blok yang paling kecil yang dapat menampung image proses.
·           Memerlukan waktu lama karena harus searching seluruh blok memori utama.
·           Fragmentasi eksternal dapat ditekan sekecil mungkin.


2.     Algoritma First-fit
·           Mencari memori kosong dari alamat awal sampai menemukan blok yang dapat menampung image proses.
·           Sederhana dan cepat.

3.    Algoritma Next-fit
·           Hampir sama dengan First-fit.
·           Bedanya: proses searching dimulai dari alamat alokasi terakhir.

4.     Algoritma Worst-fit
·           Mencari hole yang paling besar di seluruh area memori utama.
·           Tujuannya: hole sisa yang tercipta setelah alokasi masih cukup besar untuk dialokasikan ke proses lainnya.

3.    Sistem Buddy
Ø  Berupa pemartisian secara dinamis.
Ø  Ciri khusus adalah partisi yang terbentuk senantiasa berukuran besar sebesar bilangan  2n    2,4,8,16…..256,512,1024(1Mb).
Alokasi memori pada sistem buddy:
1)    Menentukan ukuran partisi
·           Ditentukan ukuran partisi untuk menampung image proses yaitu ukuran bilangan pangkat 2 terkecil.
·           Misal : ukuran image proses = 12kb, maka ukuran partisi yang bisa digunakan adalah 16kb.

2)     Pengalokasian
Ø   Selanjutnya adalah mencari hole yang ukurannya sebesar perhitungan.
Ø   Jika tidak ada maka dicarikan hole yang berukuran sedikit lebih besar. Kemudian dipecah secara bertahap sesuai dengan aturan bilangan pangkat 2.
Ø   Misal : ukuran image proses = 12kb dan hole yang paling kecil adalah 64kb.
·                maka dipecah menjadi 2 partisi 32kb, selanjutnya dipecah lagi menjadi 2 partisi 16kb.
·                dan partisi 16kb pertama yang bisa dipakai untuk image proses 12kb.


B.    Alokasi Tidak Berurut (Non Contiguous)
1.    Dengan Sistem Paging
Ø  Pada model pengalokasian tak berurut, bagian-bagian dari image proses dapat diletakkan secara terpisah di memori utama.
Ø  Pada sistem paging memerlukan pengalamatan logika khusus yang membagi menjadi blok-blok dengan ukuran sama yang disebut page.
Ø  Pada sistem paging , perlua adanya translasi alamat ke memori fisik yang dipartisi secara statis yang disebut frame, yang ukurannya sama dengan page pada ruang alamat logika.

Konsep dasar alokasi memori :
Ø  Memori utama dibagi menjadi frame-frame kecil berukuran sama dan diberi nomor frame sebagai referensi.
Ø  Ruang alamat logika proses dibagi menjadi page-page seukuran frame.
Ø  Loading time: page-page image proses diletakkan pada frame-frame kosong dan dicatat pada page table.

Proteksi Memori pada sistem paging :
Ø  Berfungsi menghindari pengaksesan memori secara ilegal.
misal: pengaksesan bagian memori yang sudah ditempati proses lain.
Ø  Proteksi frame dilakukan dengan cara menambahkan bit proteksi untuk tiap entry page table  misal: 
·         cek apakah frame tersebut bersifat read atau read-write.
·         cek apakah alamat logika yang dituju suatu proses valid atau invalid.

Memory Sharing pada sistem paging :
Ø  Untuk menghemat penggunaan kapasitas memori.
Ø  Jika ada 2 atau lebih proses yang memiliki bagian kode instruksi, atau data yang sama maka dapat digunakan bersama dan cukup diletakkan sekali di frame memori.
Ø  Masing-masing proses mengacu ke frame yang sama pada page table nya.


2.     Dengan Sistem Segmentasi
Ø  Memakai sistem partisi dinamis.
Ø  Pada pengalamatan logika, image proses dibagi menjadi bagian-bagian yang disebut segmen.
Ø  Pembagian segmen biasanya mengikuti struktur program oleh kompiler, yang biasanya tiap segmen berupa main program, stack, routine, symbol table.
Ø  Partisi memori utama terjadi pada saat alokasi yang besarnya sesuai dengan besar segmen program yang dialokasikan.

Konsep alokasi memori :
Ø  Image proses dibagi menjadi beberapa segmen yang ukurannya tidak harus sama.
Ø  Segmen-segmen image proses dialokasikan ke tempat-tempat kosong di memori utama, dan informasi alokasi dicatat pada segmen table.
Ø  Segmen table berisi nilai limit (panjang segmen) dan nilai base (alamat awal bagian memori yang dialokasikan).

Proteksi memori pada segmentasi :
Ø  Membandingkan nilai segmen yang ada di pengalamatan logika dengan nilai limit yang ada di segmen table.
Ø  Apabila nilai segmen yang ada di pengalamatan logika lebih besar (>) daripada  nilai limit yang ada di segmen table, berarti terjadi usaha pengaksesan lokasi diluar area segmen program itu, sehingga memicu terjadinya trap (addresing error)

Memori sharing pada  sistem segmentation :
Sharing segmen antara 2 atau lebih proses dapat dilakukan dengan mencatat lokasi alokasi segmen tersebut ke tabel segmen masing-masing proses.

3.     Dengan Sistem  Kombinasi
Gabungan antara pengalokasian tak berurut secara paging dan segmentasi.





BAB II
OPTIMALISASI UTILITAS MEMORI

A.  Konsep Dasar Memory
Memori merupakan bagian dari komputer yang berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga sebaik-baiknya. Sebagian besar komputer memiliki hirarki memori yang terdiri atas tiga level, yaitu:
       Register di CPU, berada di level teratas. Informasi yang berada di register dapat diakses dalam satu clock cycle CPU.
       Primary Memory (executable memory), berada di level tengah. Contohnya, RAM. Primary Memory diukur dengan satu byte dalam satu waktu, secara relatif dapat diakses dengan cepat, dan bersifat volatile (informasi bisa hilang ketika komputer dimatikan). CPU mengakses memori ini dengan instruksi single load dan store dalam beberapa clock cycle.
       Secondary Memory, berada di level bawah. Contohnya, disk atau tape.
Secondary Memory diukur sebagai kumpulan dari bytes (block of bytes), waktu aksesnya lambat, dan bersifat non-volatile (informasi tetap tersimpan ketika komputer dimatikan). Memori ini diterapkan di storage device, jadi akses meliputi aksi oleh driver dan physical device.
Komputer yang lebih canggih memiliki level yang lebih banyak pada sistem hirarki memorinya, yaitu cache memory dan bentuk lain dari secondary memory seperti rotating magnetic memory, optical memory, dan sequntially access memory. Akan tetapi, masing-masing level ini hanya sebuah penyempurnaan salah satu dari tiga level dasar yang telah dijelaskan sebelumnya.
Bagian dari sistem operasi yang mengatur hirarki memori disebut dengan memory manager. Di era multiprogramming ini, memory manager digunakan untuk mencegah satu proses dari penulisan dan pembacaan oleh proses lain yang dilokasikan di primary memory, mengatur swapping antara memori utama dan disk ketika memori utama terlalu kecil untuk memegang semua proses.
Tujuan dari manajemen ini adalah untuk :
·           Meningkatkan utilitas CPU
·           Data dan instruksi dapat diakses dengan cepat oleh CPU
·           Efisiensi dalam pemakaian memori yang terbatas
·           Transfer dari/ke memori utama ke/dari CPU dapat lebih efisien

Ø   Strategi untuk meningkatkan utilitas memory utama pada suatu sistem komputer :

1.             Overlay
Overlay adalah suatu teknik pemrograman yang berfungsi membagi program yang besar, menjadi bagian yang kecil sehingga dapat dimuat secara parsial kedalam suatu page memori yang berukuran lebih kecil.
Bila bagian kode intruksi pada program yang ingin diakses tidak terdapat dalam memori atau tidak ada dalam memori maka bagian tersebut akan disalin ke bagian overlay. Teknik overlay ini hanya akan menyalin intruksi dan data yang sedang dijalankan ke memori utama, sedangkan pada bagian lain dari program tetap disimpan di media penyimpanan.
Teknik overlay ini digunakan terutama pada sistem informasi dengan manajemen memori partisi statis. Dimana pada model partisi statis, ukuran programnya tidak boleh lebih besar dari ukuran partisinya, sehingga program yang berukuran besar tidak dapat disalin ke memori utama. Dengan menggunakan teknik overlay maka hanya sebagian kode intruksi  program saja yang akan disalinkan ke partisi tersebut dan jika bagian lain dari program dibutuhkan maka akan dilakukan replacement pada area overlay program tersebut. Sehingga dengan menggunakan teknik overlay ini program yang berukuran besar tetap bisa dijalankan pada OS (Operating System), atau Sistem Operasi dengan model manajemen memori partisi statis.

2.             Dynamic Loading
Dynamic Loading adalah program utama di-load dahulu dan dieksekusi. Bila suatu routine perlu memanggil routine lain, routine yang dipanggil lebih dahulu diperiksa apakah rutin yang dipanggil sudah di-load. Jika tidak, relocatable linking loader dipanggil untuk me-load rutin yg diminta ke memori dan meng-ubah tabel alamat.
Keuntungan dari dynamic loading adalah rutin yang tidak digunakan tidak pernah di-load. Skema ini lebih berguna untuk kode dalam jumlah besar diperlukan untuk menangani kasus-kasus yang jarang terjadi seperti error routine. Dinamic loading tidak memerlukan dukungan khusus dari sistem operasi. Sistem operasi hanya perlu menyediakan beberapa rutin pustaka untuk implementasi dynamic loading.
Contoh pemakaian Dynamic Loading :
Cara pemakaian API dari Dynamic Loading akan diperlihatkan di sini dengan menggunakan program demo yang sederhana. Source code program terdiri dari dua file, yaitu main.c dan simple_dl.c (Lihat list program: script-1 adalah main.c, script-2 adalah simple_dl.c dan script-3 adalah Makefile). File main.c adalah program utama yang mempunyai fungsi main(). Sedangkan file simple_dl.c adalah file modul yang berisi simbol variabel dan simbol pengimplementasi fungsi yang akan diakses dari fungsi main() dengan menggunakan fasilitas API Dynamic Loading. Dua simbol didefinisikan di dalam simple_dl.c. Yang pertama adalah simbol variabel yang didefinisikan sebagai berikut: char* info_linux = "Info Linux!"; Nama simbol variabel ini adalah info_linux yang merupakan pointer dari tipe data char. Pada pointer ini juga secara langsung dialokasikan sejumlah memori yang berisikan karakter string "Info Linux!". Simbol kedua adalah hello_world yang merupakan simbol dari pengimplementasi fungsi hello_world(). Pada prinsipnya nama simbol tidak selalu sama dengan nama pengimplementasi fungsi. Kita akan membahas hal ini secara ringkas pada bagian akhir dari artikel ini pada kasus penulisan program menggunakan C++. Simbol fungsi ini didefinisikan sebagai berikut: void hello_world(void); Fungsi ini hanya akan menampilkan kalimat "Hello world!" di layar monitor. Sebelum kita membahas kode di file main.c, kita akan mencoba untuk mengkompilasi file simple_dl.c. Untuk dapat menghasilkan shared library, pada proses kompilasi harus digunakan parameter -fPIC. PIC adalah kepanjangan dari position independent code. Dengan instruksi berikut:

3.             Dynamic Linking
Dynamic Linking adalah proses dengan banyak langkah, ditemukan juga penghubung-penghubung pustaka yang dinamis, yang menghubungkan semua rutin yang ada di pustaka. Beberapa sistem operasi hanya mendukung penghubungan yang statis, dimana seluruh rutin yang ada dihubungkan ke dalam suatu ruang alamat. Setiap program memiliki salinan dari seluruh pustaka. Konsep penghubungan dinamis, serupa dengan konsep pemanggilan dinamis.
Pemanggilan lebih banyak ditunda selama waktu eksekusi, dari pada lama penundaan oleh penghubungan dinamis. Keistimewaan ini biasanya digunakan dalam sistem kumpulan pustaka, seperti pustaka bahasa subrutin. Tanpa fasilitas ini, semua program dalam sebuah sistem, harus mempunyai salinan dari pustaka bahasa mereka (atau setidaknya referensi rutin oleh program) termasuk dalam tampilan yang dapat dieksekusi.

4.     Swapping



Skema Swapping
Swapping merupakan Sebuah proses agar bisa dieksekusi bukan hanya membutuhkan sumber daya dari CPU, tetapi juga harus terletak dalam memori. Dalam tahapannya, suatu proses bisa saja ditukar sementara keluar memori ke sebuah penyimpanan sementara dan kemudian dibawa lagi ke memori untuk melanjutkan pengeksekusian. Hal ini dalam sistem operasi disebut swapping. Sebagai contoh, asumsikan sebuah multiprogramming environment dengan algoritma penjadwalan CPU round-robin. Ketika waktu kuantum habis, pengatur memori akan menukar proses yang telah selesai dan memasukkan proses yang lain ke dalam memori yang sudah bebas. Sementara di saat yang bersamaan, penjadwal CPU akan mengalokasikan waktu untuk proses lain di dalam memori. Ketika waktu kuantum setiap proses sudah habis, proses tersebut akan ditukar dengan proses lain. Untuk kondisi yang ideal, manajer memori dapat melakukan penukaran proses dengan cepat sehingga proses akan selalu berada dalam memori dan siap dieksekusi saat penjadwal CPU hendak menjadwal CPU.

B.  Memory Virtual
Selama bertahun-tahun, pelaksanaan manajemen memori pada intinya adalah dengan menempatkan semua bagian proses yang akan dijalankan ke dalam memori sebelum proses dapat mulai dieksekusi. Dengan demikian semua bagian proses tersebut harus memiliki alokasi sendiri di dalam memori fisik.
Pada kenyataannya tidak semua bagian dari program tersebut akan diproses, misalnya:
·                Ada pernyataan-pernyataan atau pilihan yang hanya akan dieksekusi jika kondisi tertentu dipenuhi.
·                Terdapat fungsi-fungsi yang jarang digunakan.
·                Pengalokasian memori yang lebih besar dari yang sebenarnya dibutuhkan.
Pada memori berkapasitas besar, hal-hal ini tidak akan menjadi masalah. Namun pada memori dengan kapasitas yang sangat terbatas, hal ini akan menurunkan optimalisasi utilitas dari ruang memori fisik (memori utama).
Setiap program yang dijalankan harus berada di memori. 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.
Memori fisik dibagi menjadi page frames yang berukuran sama dan diidentifikasikan dengan nomor page frames. Bingkai (frame) menyimpan data dari halaman. Atau memori virtual memetakan nomor virtual pages ke nomor page frames. Mapping (pemetaan) menyebabkan halaman virtual hanya dapat mempunyai satu lokasi alamat fisik. Dalam sistem paging, jika sebuah ruang diperlukan untuk proses dan halaman yang bersangkutan tidak sedang digunakan, maka halaman dari proses akan mengalami paged out (disimpan ke dalam disk) atau swap out, memori akan kosong untuk halaman aktif yang lain. Halaman yang dipindah dari disk ke memori ketika diperlukan dinamakan paged in (dikembalikan ke memori) atau swap in. Ketika sebuah item dapat mengalami paging, maka item tersebut termasuk dalam item yang menempati ruang virtual, yang diakses dengan alamat virtual dan ruangan yang ada dialokasikan untuk informasi pemetaan. Sistem operasi mengalokasikan alamat dari item tersebut hanya ketika item tersebut mengalami paging in.
Keuntungan yang diperoleh dari penyimpanan hanya sebagian program saja pada memori fisik adalah:
·                Berkurangnya proses M/K yang dibutuhkan (lalu lintas M/K menjadi rendah).
·                Ruang menjadi lebih leluasa karena berkurangnya memori fisik yang digunakan.
·                Meningkatnya respon karena menurunnya beban M/K dan memori.
·                Bertambahnya jumlah pengguna yang dapat dilayani. Ruang memori yang masih tersedia luas memungkinkan komputer untuk menerima lebih banyak permintaan dari pengguna.
Teknik memori virtual akan memudahkan pekerjaan seorang programmer ketika besar data dan programnya melampaui kapasitas memori utama. Sebuah multiprogramming dapat mengimplementasikan teknik memori virtual sehingga sistem multiprogramming menjadi lebih efisien. Contohnya: 10 program dengan ukuran 2 MB dapat berjalan di memori berkapasitas 4 MB. Tiap program dialokasikan 256 Kbyte dan bagian - bagian proses (swap in) masuk ke dalam memori fisik begitu diperlukan dan akan keluar (swap out) jika sedang tidak diperlukan.
Prinsip dari memori virtual adalah bahwa "Kecepatan maksimum ekseskusi proses di memori virtual dapat sama, tetapi tidak akan pernah melampaui kecepatan eksekusi proses yang sama di sistem yang tidak menggunakan memori virtual".
Memori virtual dapat diimplementasikan dengan dua cara:
·         Demand Paging yaitu dengan menerapkan konsep pemberian halaman pada proses.
·         Demand segmentation, lebih kompleks diterapkan ukuran segmen yang bervariasi.





DAFTAR PUSTAKA

Komentar

Postingan populer dari blog ini

Makalah Sistem Operasi Terdistribusi

Program Bank Sederhana Menggunakan Java ( menggunakan 3 package )