Rabu, 02 Mei 2018

VIRTUAL MEMORY


MAKALAH

VIRTUAL MEMORY







Disusun oleh :

DENNY ANDRIAN 11116823

FINSYEN ILHAM ERDI 12116843

PRAYOGA DWI PANGESTU 15116787

RICHARD CAMBRESS HANSPADAR 16116313

RANDY MUWARDANI 16116062



FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

SISTEM INFORMASI

UNIVERSITAS GUNADARMA



BAB I

PENDAHULUAN

1.1      LATAR BELAKANG



Virtual memory adalah bagian yang terkait erat dengan unit-unit operasional dan interkoneksi antar komponen penyusun sistem sistem komputer dalam merealisasikan aspek arsitekturalnya. Komputer sendiri adalah sebuah mesin elektronik yang secara cepat menerima informasi masukan digital dan mengolah informasi tersebut menurut seperangkat instruksi yang tersimpan dalam komputer dan menghasilkan keluaran informasi yang dihasilkan setelah diolah.

      Terdapat hal-hal yang akan diketahui pada Virtual memory diantaranya : Penegrtian virtual memory, Page Replacement , Algoritma page replacement, Algoritma fifo, Algoritma optimal, Algoritma least recently use(LRU), Alokasi frame, Alokasi global, Alokasi lokal, Trashing. Virtual memory sangat penting dalam sistem operasi, dimana berfungsi sebagai penghubung antara memory utama dengan penyimpanan piringan atau harddisk .



1.2      RUMUSAN MASALAH



1.       Apa yang dimaksud dengan virtual memori ?

2.       Apa saja fungsi Virtual Memori ?

3.       Apa yang dimaksud dengan Demand Paging ?

4.       Menjelaskan apa yang dimaksud dengan Page Replacement.



1.3       TUJUAN

Supaya pembaca dapat memahami penggunaan virtual memori sebagai pelengkap memori kerja dan mengerti tentang fungsi memori semu (Virtual Memori) serta paging dan segmentasi.



BAB II

PEMBAHASAN

2.1 Virtual memori

Dalam ilmu komputer, memory virtual adalah teknik manajemen memory yang dikembangkan untuk kernel multi tugas. Teknik ini divirtualisasikan dalam berbagai bentuk arsitektur komputer dari komputer penyimpanan data (seperti memori akses acak dan cakram penyimpanan), yang memungkinkan sebuah program harus dirancang seolah-olah hanya ada satu jenis memori, memori "virtual", yang bertindak secara langsung beralamat memori baca/tulis (RAM).

Sebagian besar sistem operasi modern yang mendukung memori virtual juga menjalankan setiap proses di ruang alamat khususnya sendiri. Setiap program dengan demikian tampaknya memiliki akses tunggal ke memori virtual. Namun, beberapa sistem operasi yang lebih tua (seperti OS/VS1 dan OS/VS2 SVS) dan bahkan yang modern yang (seperti IBM i) adalah sistem operasi ruang alamat tunggal yang menjalankan semua proses dalam ruang alamat tunggal yang terdiri dari memori virtual.

Memory virtual membuat pemrograman aplikasi lebih mudah oleh fragmentasi persembunyian dari memori fisik; dengan mendelegasikan ke kernel beban dari mengelola hierarki memori (sehingga menghilangkan keharusan untuk program dalam mengatasi hamparan secara eksplisit); dan, bila setiap proses berjalan dalam ruang alamat khususnya sendiri, dengan menghindarkan kebutuhan untuk merelokasi kode program atau untuk mengakses memori dengan pengalamatan relatif. Virtualisasi memori adalah generalisasi dari konsep memori virtual.



2.2 Konsep  dasar memori virtual

Manajemen memori pada intinya adalah menempatkan semua bagian proses yang akan dijalankan kedalam memori sebelum proses itu dijalankan. Untuk itu, semua bagian proses itu harus memiliki tempat sendiri di dalam memori fisik.

Tetapi tidak semua bagian dari proses itu akan dijalankan, misalnya:

  • Pernyataan atau pilihan yang hanya akan dieksekusi pada kondisi tertentu. Contohnya adalah: pesan-pesan error yang hanya muncul bila terjadi kesalahan saat program dijalankan.
  • Fungsi-fungsi yang jarang digunakan.
  • Pengalokasian memori yang lebih besar dari yang dibutuhkan. Contoh: array , list dan tabel.

Pada memori berkapasitas besar, hal-hal ini tidak akan menjadi masalah. Akan tetapi, pada memori yang sangat terbatas, hal ini akan menurunkan optimalisasi utilitas dari ruang memori fisik. Sebagai solusi dari masalah-masalah ini digunakanlah konsep memori virtual.

Memori virtual adalah suatu teknik yang memisahkan antara memori logis dan memori fisiknya. Teknik ini menyembunyikan aspek-aspek fisik memori dari user dengan menjadikan memori sebagai lokasi alamat virtual berupa byte yang tidak terbatas dan menaruh beberapa bagian dari memori virtual yang berada di memori logis. Berbeda dengan keterbatasan yang dimiliki oleh memori fisik, memori virtual dapat menampung program dalam skala besar, melebihi daya tampung dari memori fisik 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). Sebagaimana dikatakan di atas bahwa hanya sebagian dari program yang diletakkan di memori fisik. Hal ini memberikan keuntungan yaitu:

  • Berkurangnya proses I/O yang dibutuhkan (lalu lintas I/O menjadi rendah). Misalnya untuk program butuh membaca dari disk dan memasukkan dalam memory setiap kali diakses.
  • Space 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 user yang dapat dilayani. Ruang memori yang masih tersedia luas memungkinkan komputer untuk menerima lebih banyak permintaan dari user .

Gagasan utama dari memory 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 fisik ( main memory ) dan sisanya diletakkan di disk. Begitu bagian yang berada di disk diperlukan, maka bagian di memori yang tidak diperlukan akan dikeluarkan dari memori fisik ( swap-out ) dan diganti ( swap-in ) oleh bagian disk yang diperlukan itu.

Memori virtual diimplementasikan dalam sistem multi programming. Misalnya: 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. Dengan demikian, sistem multi programming menjadi lebih efisien.

Memory virtual dapat dilakukan melalui dua cara:

  • Permintaan pemberian halaman ( demand paging )
  • Permintaan segmentasi ( demand segmentation ). Contoh: IBM OS/2. Algoritma dari permintaan segmentasi lebih kompleks, karena itu jarang diimplementasikan.



2.3 Unjuk Kerja Demand Paging



Demand   paging   memberikan   efek  yang   signifikan   dalam kinerja   sistem computer.   Diasumsikan ma adalah access timeke memori dan adalah probabilitas terjadi page fault (0 ≤ ≤ 1),maka effective access time didefinisikan sebagai :

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



Untuk  menghitung effective access  time, harus  diketahui berapa waktu  yang diperlukan untuk melayani page fault.  Page faultmenyebabkan terjadi

1.  Trap ke sistem operasi.

2.  Menyimpan register dan status proses.

3.  Menentukan interrupt adalah page faut.

4.  Memeriksa page acuan legal atau tidak dan menentukanlokasi page pada disk.

5.  Membaca dari disk ke frame bebas :



a. Menunggu diantrian untuk perangkat sampaipermintaan membaca dilayani.

b. Menunggu perangkat mencari dan / atau waktulatency.

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 menunjukkanpage yang dimaksud sudah dimemori.                       

11. Menunggu CPU dialokasikan untuk proses ini kembali.

12. Menyimpan   kembali  register,   status   proses   dan   tabel  page   baru,   kemudian melanjutkan kembali instruksi yang di-interupsi



Tidak semua langkah diatas diperlukan pada setiap kasus.  Padabeberapa kasus, terdapat tiga komponen utama dari waktu pelayananpage fault  yaitu

·         Melayani interrupt page fault.

·         Membaca page.

·         Memulai kembali proses.



Untuk menghitung effective access time dari sistem demand pagingperhatikan contoh  berikut.   Diasumsikan memory access 100 ns.   Rata-rata waktu latency untuk hard disk adalah 8 ms, waktu pencarian 15 ms danrata-rata transfer sebesar 1 ms.  Total waktu paging ≈ 25 ms.

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

= (1-p) x 100 + x 25000000

= 100 + 24999900 x p



Apabila satu dari 1000 akses menyebabkan page fault, makaeffective 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



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



2.4 Page Replacement

Page Replacement diperlukan pada saat dimana proses dieksekusi perlu frame bebas tambahan tetapi tidak tersedia frame bebas.

KonsepPage Replacement :
– Jika tidak ada frame yang kosong, cari frame yang tidak sedang digunakan, lalu kosongkan dengan cara menuliskanisinya ke dalam swap space, dan mengubah semua table sebagai indikasi bahwa page tersebut tidak akan berada lama di memori.

Gambar dibawah menunjukkan jika proses user dieksekusi, maka akan timbul page fault.Padahal sudah tidak ada memori yang kosong, sehingga perlu adanya page replacement

Rutinitas Page replacement :
– Tentukan lokasi page yang diharapkan pada disk
– Carilahframe kosong
– Jika adaframe kosong, gunakan
– Jika tidak ada, gunakan algoritma page replacement untukmenyeleksi frame yang akan dikorbankan
– Simpan page yang dikorbankan ke disk, ubah page dan frame table secara berurutan
– Baca page yang diinginkan ke frame kosong; ubahpage dan frame table
– Mulai kembali user process



Secara umum, algoritma dapat dibagi dua:
– Global Replacement -> Victim frame dapat dipilih dari semua frame yang ada
– Local Replacement -> Victim frame dapat dipilih dari frame-frame yang sedang ditempati oleh image proses bersangkutan
Algoritma Page Replacement
– Selama jumlah frame meningkat, maka jumlah page fault akan menurun. Peningkatan jumlah frame dapat terjadi jika memori fisik diperbesar
– Tujuan Algoritma Page Replacement adalah untuk mendapatkan page fault terendah
– Pemilihan algoritma yang kurang tepat dapat menyebabkan peningkatan tingkat page fault sehingga proses akan berjalan lambat

Ada beberapa Algoritma Page Replacement :
a.  Algoritma FIFO
b.  Algoritma Optimal
c.  Algoritma LRU
d.  Algoritma Clock

a. Algoritma FIFO

– Merupakan algoritma yang paling sederhana
– Jika ada suatu page yang akan ditempatkan, maka posisi page yang paling lama yang akan digantikan
b. Algoritma Optimal
– Mengganti page yang tidak digunakan dalam waktu dekat
– Mempunyai rata-rata page fault terendah
– Algoritma ini sulit diimplementasikan
c. Algoritma LRU (Least Recently Use)


– Merupakan perpaduan dari FIFO dan optimal
– Page yang diganti adalah page yang telah lama tidak digunakan



Pengalokasian Frame


– Pengalokasian tiap-tiap proses bervariasi tergantung pada tingkat multiprogramming
– Jika tingkat multiprogramming nya semakin tinggi, maka proses akan kehilangan beberapa frame
– Sebaliknya jika tingkat multiprogramming berkurang, maka proses akan mendapat
frame melebihi dari yang dibutuhkan.

Jenis Alokasi Frame :
– Alokasi sama rata (equal allocation) ->Tiap proses mendapat jumlah frame sama banyak
– Alokasi proporsional (proporsional allocation) -> Tiap proses mendapat jumlah frame sesuai dengan besarnya image proses itu.
– Alokasi berprioritas (priority allocation) ->Jumlah frame yang dialokasikan untuk tiap proses berdasarkan prioritas.



BAB3

RANGKUMAN



Konsep memori virtual dikemukakan pertama kali oleh John Fotheringham pada tahun 1961 dengan menggunakan dynamic storage allocation pada sistem komputer atlas di Universitas Manchester.

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.



DAFTAR ISTILAH



I/O : input output, adalah Unit input adalah (masukan) unit luar yang digunakan untuk memasukkan data, unit output (keluaran) biasanya digunakan untuk menampilkan data

CPU : Central Processing Unit

Program : kata, ekspresi, atau pernyataan yang disusun dan dirangkai menjadi satu kesatuan prosedur, yang berupa urutan langkah, untuk menyelesaikan masalah yang diimplementasikan dengan menggunakan bahasa pemrograman sehingga dapat dieksesuksi oleh komputer.

OS : Endless Computers merilis sistem operasi Endless OS untuk pasar Indonesia. Sistem operasi ini telah dipasang secara pre-installed dalam laptop Asus dan Acer untuk pemasarannya. Endless OS adalah sistem operasi yang bisa digunakan untuk bekerja dan bermain.

Proteksi : perlindungan

User : user merupakan Pengguna. Biasanya ditujukan kepada pengguna suatu sistem yang umumnya adalah manusia.

Abort : Menghentikan



DAFTAR PUSTAKA







1 komentar: