Resume Pertemuan Ke-9 “Manajemen Memori”

Manajemen memori berkaitan dengan :

  • Memori utama sebagai sumber daya yang harus dialokasikan dan dipakai bersama dalam proses yang aktif.
  • Usaha agar pemrograman atau pemrosesan tidak dibatasi oleh kapasitas memori fisik pada sistem komputer.

Memori utama harus diatur agar :

  • Meningkatkan utilitas CPU secara maksimal.
  • Pemakaian efisien karena kapasitas memori utama terbatas.
  • CPU dapat mengakses data dan instruksi dengan cepat.
  • Efisiensi transfer data dari/ke memori utama ke/dari CPU.

Fungsi manajemen memori yaitu :

  • Mengelola informasi memori yang terpakai dan tidak terpakai
  • Mengelola swapping antara memori utama dan disk
  • Mengalokasikan memori ke proses yang memerlukan
  • Mendealokasikan memori dari proses telah selesai

 

  1. Swapping

Ini adalah metode pengalihan sementara dari memori ke tempat penyimpanan dan akan dipanggil kembali ke memori jika akan melanjutkan eksekusi. Terdapat manajemen memori dengan swapping dan tanpa swapping.

  1. Monoprogramming

Ini merupakan manajemen memori paling sederhana dimana sistem komputer hanya menjalankan 1 program atau pemakai berjalan dalam 1 waktu. Sumber daya sepenuhnya dikuasai proses yang sedang berjalan. Alokasi memori dilakukan berurutan karena hanya terdapat 1 proses yang menguasai seluruh sistem

Ciri-ciri manajemen memori monoprogramming :

  • 1 proses pada 1 waktu
  • 1 proses menggunakan semua memori
  • Program yang dijalankan mengambil kendali seluruh mesin
  • Program dimuatkan ke seluruh memori dari disk/tape oleh pemakai
  1. Multiprogramming dengan Pemartisian Statis

Multiprogramming merupakan metode yang memungkinkan banyak proses bersamaan pada memori utama.

Alasan menggunakan multiprogramming :

  • Efisien dalam sumber daya
  • Dapat mengerjakan beberapa pekerjaan secara stimultan
  • Dapat memecah program menjadi dua/lebih proses sehingga memudahkan pemrogram
  • Dapat memberi layanan interaktif secara stimultan ke beberapa orang
  1. Partisi Statis

Memori dibagi menjadi beberapa partisi tetap. Proses-proses ditempatkan pada partisi tersebut.

Berdasarkan ukurannya dibedakan menjadi:

  • Ukuran partisi sama. Memori dibagi menjadi beberapa partisi dengan ukuran setiap partisinya sama. Proses yang ukurannya kurang/sama dengan partisi dimasukkan kesembarang partisi tersedia. Kelemahannya adalah bila program berukuran lebih besar dari partisi yang disediakan maka pemrogram harus mempersiapkan overlay sehingga hanya bagian program yang benar-benar dieksekusi yang dimasukan dalam memori utama dan saling bergantian, overlay dapat dijalankan oleh sistem operasi yang mendukung swapping. Kelemahan lainnya adalah akan terdapat ruang yang tidak dipakai (fragmentasi internal) yang menyebabkan pemborosan memori jika program berukuran lebih kecil dari partisi yang tersedia.
  • Ukuran partisi berbeda. Ukuran semua partisi berbeda.
  1. Partisi Dinamis

Jumlah, lokasi, dan ukuran proses di memori dapat bermacam-macam sepanjang waktu secara dinamis. Cara kerjanya adalah membuatkan partisi segera sesuai kebutuhan saat proses akan masuk ke memori. Metode ini juga memiliki kelemahan yaitu :

  • Merumitkan alokasi dan dealokasi memori
  • Di antara partisi yang dipakai dapat terjadi lubang-lubang kecil memori. Solusi dalam mengatasi lubang-lubang memori adalah dengan pemadatan memori yaitu menggabungkan semua lubang kecil dengan memindahkan semua proses agar berdekatan. Namun terdapat kelemahan dalam pemadatan memori sebagai berikut :
  • Saat pemadatan, sistem harus menghentikan sementara semua proses yang menyebabkan meningkatnya waktu tanggap
  • Memerlukan banyak waktu

Masalah yang dapat ditemui dalam partisi dinamis adalah proses yang dapat tumbuh berkembang. Solusi yang dapat diambil adalah memakai lubang memori yang tidak dipakai bila bersebelahan dengan lubang memori. Namun bila proses bersebelahan dengan proses lain maka dapat dilakukan beberapa alternatif :

  • Bila tersedia lubang memori besar yang dapat memuat proses maka proses dipindahkan ke lubang memori tersebut
  • Satu proses atau lebih diswap ke disk agar terdapat lubang untuk proses yang berkembang
  • Jika proses tidak dapat bertumbuh di memori dan swap disk sudah penuh maka proses harus menunggu/disingkirkan.

Strategi alokasi memori yang dapat diterapkan adalah alokasi harus mencari sekumpulan blok memori yang cukup untuk memuat proses, dimana lubang kosong yang sama/lebih besar dibandingkan ukuran memori yang diperlukan proses. Berikut strategi alokasi memori :

  1. Algoritma First Fit

Algoritma ini akan menempatkan proses pada lokasi pertama yang berukuran cukup besar untuk proses tersebut. Contoh : Data yang datang dengan ukuran 2 kb akan menempati partisi ukuran 3 kb pada urutan partisi kosong : 3 kb, 2 kb, 4 kb, 6 kb

  1. Algoritma Next Fit

Langkah-langkahnya sama seperti algoritma first fit, yang membedaknnya adalah dalam algoritma next fit pencarian dimulai dari lokasi terakhir menemukan partisi yang cocok. Contoh : Data yang datang dengan ukuran 4 kb dan pencarian dimulai dari urutan ketiga akan menempati partisi ukuran 6 kb pada urutan partisi kosong : 4 kb, 2 kb, 3kb, 6 kb

  1. Algoritma Worst fit

Sesuai Namanya maka algoritma akan menempatkan proses pada lokasi yang paling besar dan cukup untuk menempatkan proses tersebut. Data yang datang dengan ukuran 2 kb akan menempati partisi ukuran 6 kb pada urutan partisi kosong : 3 kb, 2 kb, 4 kb, 6 kb.

  1. Sistem Buddy

Sistem ini mengalokasikan memori berdasarkan kelipatan 2 (2k; k = 0, 1, 2, … ). Semua ruang pada memori kerja didefinisikan sebagai satu kesatuan. Bagian baru akan dibelah apabila ada data yang menempati. Sistem pembelahan sesuai dengan pangkat bilangan biner yaitu 20, 21, 22, 23, … . Dalam sistem ini diperlukan batas atas (u) dan batas bawah (l).

 

Program yang dijalankan harus dimuat dalam memori utama. Menjadi masalah bila program lebih besar dari memori utama yang tersedia. Terdapat 2 solusi mengatasinya yaitu :

  • Overlay

Memecah program menjadi bagian yang dapat dimuat memori. Overlay akan dimuatkan ke memori begitu diperlukan. Saat belum diperlukan overlay disimpan di disk.

  • Memori maya (virtual memory)

Merupakan kemampuan mengalamati ruang memori melebih memori utama yang tersedia. Ukuran gabungan program, data an stack melebihi jumlah memori fisik yang tersedia adalah arti dari gagasan memori maya. Sistem operasi menyimpan bagian proses yang sedang digunakan di memori utama dan sisanya di disk. Bagian di disk diperlukan maka bagian memori yang tidak diperlukan disingkiran diganti bagian di disk yang diperlukan. Memori maya dapat dilakukan dengan 2 cara :

  • Paging
  • Segmentasi

Posted

in

by

Tags:

Comments

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

* Kode Akses Komentar:

* Tuliskan kode akses komentar diatas: