Selasa, 18 Desember 2012

MANAJEMEN MEMORI

I. FRAGMENTASI


Fragmentasi adalah munculnya hole-hole yang tidak cukup besar untuk menampung permintaan dari proses. Fragmentasi dibagi 2 yakni:

1. Fragmentasi Eksternal


    Dikatakan fragmentasi eksternal apabila terdapat dalam bentuk banyak hole yang berukuran kecil dan tidak sistematis. Fragmentasi eksternal terjadi pada situasi di mana terdapat cukup ruang memori total untuk memenuhi permintaan, tetapi tidak dapat langsung dialokasikan karena tidak berurutan. Fragmentasi eksternal dilakukan pada algoritma alokasi dinamis, terutama strategi first-fit dan best-fit.
    Untuk mengatasi fragmentasi eksternal adalah dengan teknik compaction (pemadatan), yaitu mengatur kembali isi memori  yang kosong diletakkan bersama di suatu bagian yang besar. Compaction hanya dapat dilakukan apabila relokasi bersifat dinamis dan pengalamatan dilakukan pada saat proses dijalankan. Solusi lain untuk fragmentasi eksternal adalah paging dan segmentasi.

II. Fragmentasi Internal


    Dikatakan fragmentasi internal apabila terdapat di dalam blok memori yang sudah teralokasi secara statis. Fragmentasi internal terjadi pada situasi di mana  memori yang dialokasikan lebih besar dari pada memori yang diminta, tetapi untuk partisi tertentu hanya berukuran kecil sehingga  tidak digunakan. Pada multiple partition, fragmentasi internal mungkin terjadi pada situasi berikut. Misalnya lubang 18464 byte, dan proses meminta 18462 byte. 

Segmentasi dapat menyebabkan terjadi fragmentasi eksternal, ini terjadi ketika semua blok memori yang dapat dapat dialokasikan terlalu sedikit untuk mengakomodasi sebuah segmen. Dalam kasus ini, proses hanya harus menunggu sampai terdapat cukup tempat untuk menyimpan segmen tersebut di memori, atau, melakukan suatu pemampatan dapat digunakan untuk membuat ruang kosong dalam memori menjadi lebih besar. Karena segmentasi pada dasarnya adalah algoritma penempatan secara dinamis, maka kita dapat melakukan pemampatan memori kapan saja kita mau. Jika CPU Scheduler harus menunggu untuk satu proses, karena masalah pengalokasian memori, ini mungkin akan dilewati untuk mencari proses yang berprioritas lebih kecil untuk dieksekusi lebih dulu untuk membebaskan ruang kosong dalam memori.
Seberapa seriuskah masalah fragmentasi eksternal dalam segmentasi? Jawaban dari pertanyaan ini tergantung kepada besarnya rata-rata segmen yang tersimpan didalam memori. Jika ukuran rata-rata dari segmen menggunakan sedikit tempat di memori, maka fragmentasi eksternal yang dilakukan juga akan sedikit terjadi.

II. PAGING


    Paging adalah suatu metode yang memungkinkan suatu alamat memori fisis yang tersedia dapat tidak berurutan. Sistem aging mengimplementasikan ruang alamat besar pada memori kecil menggunakan index register, base register, dan segment register, dan sebagainya. Seolah user memiliki ruang memori besar tanpa mengelola overlay.
Istilah-istilah dalam paging adalah :
1. Alamat maya (virtual address)
   Merupakan alamat yang dihasilkan dari perhitungan menggunakan index register, base register, segment register dan sebagainya. Ruang alamat yang dibentuk oleh alamat maya disebut ruang alamat maya (virtual address space) yang diberi simbol V, sedangkan jumlah alamat pada V disombolkan dengan |V|. Alamat maya diacu dari proses running alamat.
2. Alamat nyata (real address)
   Merupakan suatu alamat di memori utama  fisik, ruang alamat yang dibentuk alamat nyata disebut sebagai ruang alamat nyata (real address space) yang diberi simbol R, sedangkan jumlah alamat nyata disimbolkan denfgan |R|.
3. Page
    Merupakan unit terkecil virtual memori space, ruang alamat maya merupakan proses kelibatan dari page yang berukuran sama.
4. Page frame
    Merupakan unit terkecil dari memori fisik, memori fisik secara konseptual dibagi menjadi jumlah unit berukuran tetap tapi page frame kadang juga disebut frame.
5. Page fault
    Merupakan exception untuk permintaan alokasi page ke memori, dalam dalam konteks memori maya, page fault sering juga disingkat fault.

Kerugian dan Keuntungan Paging


o) Jika kita membuat ukuran dari masing-masing pages menjadi besar:
   à Keuntungan: akses memori akan relatif lebih cepat.
   à Kerugian: kemungkinan terjadinya fragmentasi internal yang sangat besar.
o)Jika kita membuat ukuran dari masing-masing pages menjadi kecil:
   à Keuntungan: akses memori akan relatif lebih lambat.
   à Kerugian: kemungkinan terjadinya fragmentasi internal akan menjadi lebih kecil.

Struktur Paging




  • Struktur MMU
  • Perangkat Keras Pemberian page
  • Tabel page
  • Skema Tabel page Dua Tingkat
  • Paging secara multilevel
  • Tabel page secara inverted
  • Berbagi page.

III. SEGMENTASI


Metode Dasar


Segmentasi adalah sebuah bagian dari managemen memori yang mengatur pengalamatan dari memori yang terdiri dari segmen-segmen. logical address space adalah kumpulan dari segmen-segmen yang mana tiap-tiap segmen mempunyai nama dan panjang. alamat tersebut menunjukkan alamat dari segmen tersebut dan offset-nya didalam segmen-segmen tersebut. pengguna kemudian menentukan pengalamatan dari setiap segmen menjadi dua bentuk, nama segmen dan offset dari segmen tersebut (Hal ini berbeda dengan pemberian halaman, dimana pengguna hanya menentukan satu buah alamat, dimana pembagian alamat menjadi dua dilakukan oleh perangkat keras, semua ini tidak dapat dilihat oleh user).
Untuk kemudahan pengimplementasian, segmen-segmen diberi nomor dan direferensikan dengan menggunakan penomoran tersebut, daripada dengan menggunakan nama. maka, logical address space terdiri dari dua tuple yaitu: (nomor-segmen, offset) Pada umumnya, program dari pengguna akan dikompilasi, dan kompilator tersebut akan membuat segmen-segmen tersebut secara otomatis. Jika mengambil contoh kompilator dari Pascal, maka kemungkinan kompilator tersebut akan membuat beberapa segmen yang terpisah untuk:
1. Variabel Global
2. Prosedur dari pemanggilan stack, untuk menyimpan parameter dan pengembalian alamat
3. Porsi dari kode untuk setiap prosedur atau fungsi
4. Variabel lokal dari setiap prosedur dan fungsi
Jadi, Segmentasi adalah salah satu cara untuk mengatur memori dengan menggunakan segmen dimana program dibagi menjadi beberapa segmen (kumpulan logical unit).

Arsitektur Segmentasi


- Saling berbagi
- Adanya proteksi
- Alokasi yang dinamis

Masalah Dalam Segmentasi


- Segmen dapat membesar.
- Muncul fragmentasi luar.
- Bila ada proses yang besar.

Penggunaan Segmentasi


- Multics
- Intel


IV. MEMORI VIRTUAL


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-Prinsip Memori Virtual


Konsep memori virtual yang dikemukakan Fotheringham pada tahun 1961 pada sistem komputer Atlas di Universitas Manchester, Inggris:
“ Kecepatan maksimum eksekusi proses di memori virtual dapat sama, tetapi tidak pernah melampaui kecepatan eksekusi proses yang sama di sistem tanpa menggunakan memori virtual."

Keuntungan Memori Virtual


Berdasarkan apa yang dikatakan sebelumnya 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 Memori Virtual


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.

2 komentar:

Tawar mengatakan...

Sukses ya ...

Unknown mengatakan...

Aamiin,,,Terimakasih Pak,,,
:)