Lompat ke konten Lompat ke sidebar Lompat ke footer

Pengertian dan Tipe Manajemen Memori Pada Sistem Operasi

Pengertian dan Tipe Manajemen Memori Pada Sistem Operasi - Memori adalah pusat dari operasi pada sistem komputer modern, berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga sebaik-baiknya. Memori adalah array besar dari word atau byte, yang disebut alamat. CPU mengambil instruksi dari memory berdasarkan nilai dari program counter.

Sedangkan manajemen memori adalah suatu kegiatan untuk mengelola memori komputer. Proses ini menyediakan cara mengalokasikan memori untuk proses atas permintaan mereka, membebaskan untuk digunakan kembali ketika tidak lagi diperlukan serta menjaga alokasi ruang memori bagi proses. Pengelolaan memori utama sangat penting untuk sistem komputer, penting untuk memproses dan fasilitas masukan/keluaran secara efisien, sehingga memori dapat menampung sebanyak mungkin proses dan sebagai upaya agar pemogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputer.

Pengertian dan Tipe Manajemen Memori Pada Sistem Operasi_
image source: www.wisecleaner.com
baca juga: Memahami DeadLock Pada Sistem Operasi dan Cara Mengatasinya

Fungsi Manajemen memori:

Manajemen memori merupakan salah satu bagian terpenting dalam sistem operasi. Memori perlu dikelola sebaik-baiknya agar :
  1. Utilitas CPU meningkat.
  2. Data dan instruksi dapat diakses dengan cepat oleh CPU.
  3. Tercapai efisiensi dalam pemakaian memori yang terbatas.
  4. Transfer data dari/ke memori utama ke/dari CPU dapat lebih efisien.
  5. Mengelola informasi yang dipakai dan tidak dipakai. 
  6. Mengalokasikan memori ke proses yang memerlukan. 
  7. Mendealokasikan memori dari proses telah selesai. 
  8. Mengelola swapping atau paging antara memori utama dan disk.

TYPE-TYPE MANAJEMEN MEMORI

A. Berdasarkan keberadaan swapping :

1. Manajemen tanpa swapping.
Manajemen memori tanpa pemindahan citra proses antara memori utama dan disk selama ekseskusi.

2. Manajemen dengan swapping.
Manajemen memori dengan pemindahan citra proses antara memori utama dan disk selama ekseskusi.

B. Manajemen Memori Berdasarkan Alokasi Memori

Terdapat dua cara menempatkan informasi ke dalam memori kerja

1. Alokasi Memori Berurutan (contigouos Allocation)
  • Pada alokasi memori berurutan, setiap proses menempati satu blok tunggal lokasi memori yang berurutan.
  • Kelebihan : sederhana, tidak ada rongga memory bersebaran, proses berurutan dapat dieksekusi secara cepat.
  • Kekurangan : memori boros, tidak dapat disisip apabila tidak ada satu blok memori yang mencukupi.

2. Alokasi Memori Tak Berurutan (Non Contiguous Allocation)
  • Program / proses ditempatkan pada beberapa sagmen berserakan, tidak perlu saling berdekatan atau berurutan. biasanya digunakan untuk lokasi memori maya sebagai lokasi page-page.
  • Kelebihan : sistem dapat memanfaatkan memori utama secara lebih efisien, dan system operasi masih dapat menyisip protes bila jumlah lubang-lubang memori cukup untuk memuat proses yang akan dieksekusi.
  • Kekurangan : memerlukan pengendalian yang lebih rumit dan memori jadi banyak berserakan tidak terpakai.

Terdapat 2 manajemen memori:

a. Manajemen memori statis
Dengan pemartisian statis, jumlah, lokasi, dan ukuran proses di memori tidak beragam sepanjang waktu secara tetap.

b. Manajemen memori dinamis
Dengan pemartisian dinamis, jumlah, lokasi, dan ukuran proses di memori dapat berseragam sepanjang waktu secara dinamis.

MANAJEMEN MEMORI PEMARTISIAN STATIS

Kondisi tanpa swapping :

a. Monoprogramming.
Merupakan manajemen memori paling sederhana, sistem komputer hanya mengijinkan satu program/pemakai berjalan pada satu waktu. Semua sumber daya sepenuhnya dikuasi proses yang sedang berjalan. Ciri-cirinya:
  1. Hanya terdapat satu proses pada satu saat, sehingga proses baru akan menimpa proses lama yang sudah selesai eksekusi.
  2. Hanya satu proses mengunakan semua memori.
  3. Pemakai memusatkan program keseluruh memori dari disk atau tape.
  4. Program mengambil kendali seluruh mesin.
  5. Masih dipakai untuk sistem kecil yaitu sistem tempelan (embedded system) yang menempel atau terdapat disistem lain.
  6. Sistem-sistem tempelan menggunakan mikroprosesor kecil, seperti Intel 8051, dan sebagainya.
  7. Sistem ini biasanya untuk mengendalikan satu alat sehingga menjadi bersifat intelejen (intelegent devices) dalam menyediakan satu fungsi spesifik. Karena hanya satu fungsi spesifik, dapat diprogram di mikroprosesor dengan memori kecil (1-64 Kb).

b. Multiprogramming dengan pemartisian statis
Multiprogramming dapat dilakukan dengan pemartisian statis, yaitu memori dibagi menjadi beberapa sejumlah partisi tetap. Pada partisi-partisi tersebut proses-proses ditempatkan.

MANAJEMEN MEMORI MULTIPROGRAMMING

melibatkan banyak pemakai secara simultan sehingga di memori akan terdapat lebih dari satu proses bersamaan. Oleh karena itu dibutuhkan sistem operasi yang mampu mendukung dua kebutuhan tersebut.

Melakukan dua aktivitas :
  1. Proteksi memori dengan isolasi ruang-ruang alamat secara disjoint (terpisah).
  2. Pemakaian bersama memori.

Memungkinkan proses-proses bekerja sama mengakses daerah memori bersama. Ketika konsep multiprogramming digunakan, pemakaian CPU dapat ditingkatkan.

MULTIPROGRAMMING pemartisian statis,

Terdapat beberapa alasan :

a. Mempermudah pemogram.
Pemrogram dapat memecah program menjadi dua proses atau lebih.

b. Agar dapat memberi layanan interaktif ke beberapa orang secara simultan.
Untuk itu diperlukan kemampuan mempunyai lebih dari satu proses dimemori agar memperoleh kinerja yang baik.

c. Efisiensi penggunaan sumber daya.
Bila pada multiprogramming maka proses tersebut diblocked (hanya DMA yang bekerja) dan proses lain mendapat jatah waktu pemroses, maka DMA dapat meningkatkan efisiensi sistem.

d. Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses kecil.

e. Dapat mengerjakan sejumlah job secara simultan.

PEMARTISIAN STATIS BERDASARKAN UKURAN

Partisi-partisinya terbagi dua :

1. Pemartisian menjadi partisi berukuran sama (ukuran semua partisi memori sama), yaitu:
  • Beberapa proses yang ukurannya kurang atau sama dengan ukuran partisi dimasukkan ke sembarang partisi yang tersedia.

Kelemahan :
  • Bila program berukuran lebih besar dibanding partisi yang tersedia, maka tidak dapat dimuatkan, tidak dapat dijalankan. Pemogram harus mempersiapkan overlay sehingga hanya bagian program yang benar- benar dieksekusi yang dimasukkan ke memori utama dan saling bergantian. Untuk overlay diperlukan sistem operasi yang mendukung swapping.
  • Untuk program yang sangat kecil dibanding ukuran partisi yang ditetapkan, maka banyak ruang yang tak dipakai yang diboroskan, disebut fragmentasi internal. Kelemahan ini dapat dikurangi dengan partisi-partisi tetap berukuran berbeda.

2. Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu ukuran semua partisi memori adalah berbeda

Strategi penempatan program ke partisi

DESKRIPSI :
  • Strategi penempatan pada pemartisian menjadi partisi-partisi berukuran sama. Penempatan proses ke memori dilakukan secara mudah karena dapat dipilih sembarang partisi yang kosong.
  • Strategi penempatan pada pemartisian menjadi partisi-partisi berukuran berbeda.

Satu antrian untuk tiap partisi (banyak antrian untuk seluruh partisi).

Proses ditempatkan ke partisi paling kecil yang dapat memuatnya.
  • Keuntungan : teknik ini adalah meminimalkan pemborosan memori.
  • Kelemahan : dapat terjadi antrian panjang disuatu partisi sementara antrian partisi-partisi lain kosong.

Satu antrian untuk seluruh partisi.

Proses-proses diantrikan di satu antrian tunggal untuk semua partisi. Proses segera ditempatkan di partisi bebas paling kecil yang dapat memuat.
  • Keunggulan : Lebih fleksibel serta implementasi dan operasi lebih minimal karena hanya mengelola satu antrian.
  • Kelemahan : Proses dapat ditempatkan di partisi yang banyak diboroskan, yaitu proses kecil ditempatkan di partisi sangat besar.

Fragmentasi pada pemartisian statis

Fragmentasi yaitu penyiaan/pemborosan memori akan terjadi pada setiap organisasi penyimpanan.

Fragmentasi pada pemartisian tetap terdiri dari:

a. Fragmentasi internal.
Proses tidak mengisi penuh partisi yang telah ditetapkan untuk proses.

b. Fragmentasi ekstenal.
Partisi dapat tidak digunakan karena ukuran partisi lebih kecil dibanding ukuran proses yang menunggu di antrian, sehingga tidak digunakan

Deskripsi Hirarki memori :
  1. Pemakaian memori dua tingkat, menggunakan cache memory yang dapat meningkatkan kinerja dan utilisasi memori secara dinamik.
  2. Chace memory merupakan penyimpan berkecepatan tinggi lebih cepat dibanding memori utama.
  3. Chace memory lebih mahal dibanding memori utama, sehingga kapasitas cache relatif kecil.

Address Binding
  • Sebelum eksekusi, program/proses berada di dalam disk, dan pada saat dieksekusi ia perlu berada pada suatu lokasi dalam memori fisik.
  • Address binding adalah menempatkan address relatif program/proses ke dalam address fisik memori (real memory address). Dapat berlangsung dalam salah satu tahapan : kompilasi, load atau eksekusi

Multiprograming dengan swapping

Pemindahan proses dari memori uatama ke disk dan sebaliknya disebut juga dengan swapping. Dengan swapping, multiprograming sistem timesharing dapat ditingkatkan kinerjanya dengan memindah proses – proses Blocked ke disk dan hanya memasukkan proses – proses Ready ke memori utama.

A. Multiprogramming dengan Pemartisian Dinamis

Dengan pemartisian dinamis maka jumlah, lokasi dan ukuran proses di memory dapat beragam sepanjang waktu secara dinamis. Proses yang akan masuk ke memori segera dibuatkan partisi untuknya sesuai kebutuhan. Teknik ini meningkatkan utilisasi memori.

Kelemahan pemartisian dinamis adalah :
  • Dapat terjadi lubang – lubang kecil memori di antara partisi – partisi yang dipakai.
  • Merumitkan alokasi dan dealokasi memori.

a. Terjadi Lubang – Lubang Kecil Memori

Lubang-lubang(yaitu kelompok blog-blog memori yang tidak digunakan ) kecil diantara blog-blog memori yang digunakan dapat diatasi dengan pemadatan memori (memori compaction). Pemadatan memori adalah operasi mengabungkan semua lubang kecil menjadi satu lubang besar dengan memindahkan semua proses agar saling berdekatan.

Kelemahan utama teknik pemadatan memori:
  • Memerlukan waktu yang sangat banyak.
  • Sistem harus menghentikan sementra semua proses selagi melakukan pemadatan. Hal ini meningkatkan waktu tanggapan di sistem interaktif dan tak mungkin digunakan sistem waktu nyata.

b. Proses Tumbuh Berkembang

Masalah lain pada pemartisian dinamis adalah proses dapat tumbuh berkembang segmen data proses dapat tumbuh, karena:
  • Heap untuk mendapat dinamis berkembang.
  • Stack untuk pemanggilan prosedur dan variabel lokal.

Solusi masalah ini adalah bila proses bersebelahan dengan lubang memori tak terpakai. Proses tumbuh memakai lubang itu. Masalah menjadi lebih parah bila proses bersebelahan dengan proses-proses lain.

Peringkat alternative penyelesaian adalah
  • Bila masih terdapat lubang besar yang dapat memuat proses, maka proses dipindahkan ke lubang memori yang cukup.
  • Satu proses atau lebih di-swap ke disk agar dapat memberi lubang cukup besar untuk proses yang berkembang.
  • Jika proses tidak dapat tumbuh dimemori dan daerah swap di disk telah penuh, proses harus menungggu atau disingkirkan.

B. Pencatatan Pemakaian Memori

Memori yang tesedia harus dikelola, dilakukan dengan pencatatan pemakaian memori. Terdapat tiga cara utama pencatatan pemakaian memori, yaitu:
  1. Pencatatan memakai peta bit (bit map).
  2. Pencatatan memakai senarai berkait.
  3. Pencatatan memakai sistem buddy.

a. Pencatatan Memakai Peta Bit.

Memori dibagi menjadi unit – unit alokasi, berkorespondensi dengan tiap unit alokasi adalah satu bit pada peta bit.
  • Nilai 0 pada peta bit berarti unit itu masih bebas.
  • Nilai 1 berarti unit digunakan.

Masalah pada peta bit adalah penetapan mengenai ukuran unit alokasi memori, yaitu:
  • Unit alokasi memori berukuran kecil berarti membesarkan ukuran peta bit.
  • Unit alokasi memori n berukuran besar berarti peta bit kecil tapi memori hanya disiakan pada unit terakhir masing – masing proses jika ukuran proses bukan kelipatan unit alokasi.

Keunggulannya:
  • Dealokasi dapat dilakukan secara mudah, hanya tinggal meng – set bit yang berkorespondensi dengan unit yang telah tidak digunakan dengan 0.

Kelemahan :
  • Harus dilakukan perhitungan blok lubang memori saat unit memori bebas.
  • Memerlukan ukuran peta bit besar untuk memori yang besar.

b. Pencatatan Memakai Senarai Berkait.

Sistem operasi mengelola senarai berkait untuk blok – blok memori yang dialokasikan dan bebas. Blok memori menyatakan memori untuk proses atau memori yang bebas.

Keunggulan :
  • Tidak ada penghitungan blok lubang memori karena sudah tercatat di simpul.
  • Memori yang diperlukan relatif lebihkecil.

Kelemahannya :
  • Dealokasi sulit dilakukan karena terjadi beberapa operasi penggabungan simpul – simpul di senarai.

C. Strategi Alokasi Memori

Terdapat beragam strategi alokasi proses ke memori. Alokasi harus mencari sekumpulan blok memori yang ukurannya mencukupi untuk memuat proses yaitu lubang kosing yang sama atau lebih besar dibanding ukuran memori yang diperlukan proses.

Adapun beragam algoritma seperti :

a. First – fit Algorithm
Strategi ini dapat dilakukan pada pencatatan memori dengan peta bit maupun senarai berkait.

Keunggulan yaitu Algoritma ini akan menemukan lubang memori paling cepat dibanding algoritma – algoritma lain.

b. Next – fit Algorithm
Mekanisme algoritma ini sama dengan algoritma first – fit algorithm, hanya penelusuran tidak dimulai dari awal tapi dimulai dari posisi terakhir kali menemukan segmen untuk proses.

c. Best – fit Algorithm
Algoritma mencari sampai akhir dan mengambil lubang terkecil yang dapat memuat proses. Algoritma ini mencoba menemukan lubang yang mendekati ukuran yang diperlukan.

Kelemahan :
  • Sangat lambat dibanding first – fit algorithm karena selalu menelusuri seluruhnya setiap kali dipanggil.
  • Memori diboroskan lebih banyak dibanding first – fit atau next – fit dan next – fit selalu mengisi lubang kecil yang tidak digunakan.

d. Worst – fit Algorithm
Algoritma ini selalu mencari lubang besar yang tersedia sehingga lubang dapat dipecah menjadi cukup besar agar berguna untuk proses – proses berikutnya.

e. Quick – fit Algorithm
Keempat algoritma ini dapat dipercepat dengan mengelola dua senarai yaitu :
  • Senarai untuk proses.
  • Senarai untuk lubang memori.

Keunggulan
  • Teknik ini mempercepat pencarian lubang atau penempatan proses.

Kelemahan

  • kompleksitas dealokasi memori bertambah dan melambatkan dealokasi memori karena memori yang dibebaskan harus dipindahkan dari senarai proses ke senarai lubang.

D. Sistem Buddy

Adalah algoritma pengelola memori yang memanfaatkan kelebihan penggunaan bilangan biner untuk pengalamatan memori. Bilangan biner digunakan untuk mempercepat penggabungan lubang – lubang berdekatan ketika proses berakhir atau dikeluarkan.

Manajer memori mengelola senarai blok – blok bebas berukuran 1, 2, 4, 8, 16 byte dan seterusnya, sampai kapasitas memori. Pada komputer dengan 1 megabyte memori maka terdapat 21 senarai yaitu dari 1 byte sampai 1 megabyte.

Mekanisme Pengelola
  • Awalnya semua memori adalah bebas dan hanya satu senarai 1 megabyte berisi satu isian tunggal satu lubang 1megabyte. Senarai – senarai lain adalah kosong.

Keunggulan :
  • Sistem buddy mempunyai keunggulan dibandingkan dengan algoritma yang mengurutkan blok – blok bedasar ukuran. Ketika blok berukuran 24 dibebaskan, maka manajer memori
  • Hanya mencari pada senarai lubang 24 untuk memeriksa apakah dapat dilakukan penggabungan. Alokasi dan dealokasi pada sistem buddy dapat dilakukan dengan cepat.

Kelemahan :
  • Utilisasi memori pada sistem buddy sangat tidak efesien.

E. Alokasi Ruang Swap pada Disk

Ada dua yaitu : ruang disk tempat swap dialokasikan begitu diperlukan dan ruang disk tempat swap dialokasikan lebih dulu.

1. Ruang Disk tempat swap dialokasikan begitu diperlukan.
Ketika proses harus dikeluarkan dari memori utama, ruang disk segera dialokasikan sesuai ukuran proses. Untuk itu diperlukan algoritma untuk mengelola ruang disk seperti untuk mengelola memori utama. Ketila proses dimasukkan kembali ke memori utama, segera ruang disk untuk swap didealokasikan.

2. Ruang Disk tempat swap dialokasikan lebih dahulu.
Saat proses diciptakan, ruang swap pada disk dialokasikan. Ketika proses harus dikeluarkan dari memori utama, proses selalu ditempatkan ke ruang yang telah dialokasikan, bukan ke tempat – tempat berbeda setiap kali terjadi swap out. Ketika proses berakhir, ruang swap pada disk didealokasikan.

Paging System

Dalam sistem operasi komputer, paging adalah salah satu skema manajemen memori yang digunakan sistem operasi untuk menyimpan dan mengambil data dari penyimpanan sekunder untuk digunakan dalam memori utama. Dalam skema paging manajemen memori, sistem operasi mengambil data dari penyimpanan sekunder dengan ukuran blok yang sama yang disebut halaman. Keuntungan utama dari paging terhadap segmentasi adalah memungkinkan menggunakan ruang alamat memori fisik yang tidak berdekatan atau tidak berurutan. Sebelum paging mulai digunakan, sistem harus memasukkan program seluruhnya ke dalam penyimpanan yang bersambung, yang menyebabkan berbagai masalah penyimpanan dan fragmentasi.

Paging adalah bagian penting dari implementasi memori virtual pada sistem operasi yang kontemporer, yang memungkinkan mereka untuk menggunakan penyimpanan sekunder untuk data yang tidak dapat masuk secara fisik ke Random-Access Memory (RAM).
Segmentasi Memori

Segmentasi memori adalah pembagian memori utama komputer menjadi segmen atau bagian. Dalam sistem komputer yang menggunakan segmentasi, referensi ke lokasi memori termasuk nilai yang mengidentifikasi segmen dan offset dalam segmen tersebut. Segmen atau bagian juga digunakan dalam file objek program dikompilasi ketika mereka dihubungkan bersama-sama ke citra program dan ketika gambar dimuat ke memori.

Segmen biasanya sesuai dengan divisi alami program seperti rutinitas individu atau tabel data sehingga segmentasi umumnya lebih terlihat programmer dari paging sendiri. Segmen yang berbeda dapat dibuat untuk modul program yang berbeda, atau untuk kelas yang berbeda dari penggunaan memori tersebut sebagai segmen kode dan data. Segmen tertentu dapat dibagi antara program

Sekian artikel tentang Pengertian dan Tipe Manajemen Memori Pada Sistem Operasi.

Daftar Pustaka
  1. Masyarakat Digital Gotong Royong (MDGR), Pengantar Sistem Operasi Komputer, 2006
  2. Bambang H, Sistem Operasi, Revisi Kelima, Penerbit Informatika, 2012
Nikita Dini
Nikita Dini Blogger, Internet Marketer, Web Designer