Mei 18, 2025 Sistem Operasi

Manajemen Memori dalam OS: Contiguous, Swapping, Fragmentation

Apa itu Manajemen Memori?

Manajemen Memori adalah proses mengendalikan dan mengoordinasikan memori komputer, menetapkan bagian yang dikenal sebagai blok ke berbagai program yang sedang berjalan untuk mengoptimalkan kinerja sistem secara keseluruhan.

Ini adalah fungsi terpenting dari sistem operasi yang mengelola memori utama. Fungsi ini membantu proses untuk bergerak maju dan mundur antara memori utama dan disk eksekusi. Fungsi ini membantu OS untuk melacak setiap lokasi memori, terlepas dari apakah memori tersebut dialokasikan untuk beberapa proses atau masih kosong.

Mengapa Menggunakan Manajemen Memori?

Berikut ini adalah alasan penggunaan manajemen memori:

  • Memungkinkan Anda memeriksa berapa banyak memori yang perlu dialokasikan ke proses yang memutuskan prosesor mana yang harus mendapatkan memori pada waktu apa.
  • Melacak kapan saja inventaris dibebaskan atau tidak dialokasikan. Berdasarkan hal tersebut, status akan diperbarui.
  • Mengalokasikan ruang untuk rutinitas aplikasi.
  • Memastikan bahwa aplikasi-aplikasi ini tidak saling mengganggu.
  • Membantu melindungi proses yang berbeda satu sama lain
  • Menempatkan program dalam memori sehingga memori dimanfaatkan secara maksimal.

Teknik Manajemen Memori

Berikut ini adalah beberapa teknik manajemen memori yang paling penting:

Single Contiguous Allocation

Adalah teknik manajemen memori yang paling mudah. ​​Dalam metode ini, semua jenis memori komputer kecuali sebagian kecil yang disediakan untuk OS tersedia untuk satu aplikasi. Misalnya, sistem operasi MS-DOS mengalokasikan memori dengan cara ini. Sistem tertanam juga berjalan pada satu aplikasi.

Partitioned Allocation

Membagi memori utama ke dalam berbagai partisi memori, yang sebagian besar merupakan area memori yang bersebelahan. Setiap partisi menyimpan semua informasi untuk tugas atau pekerjaan tertentu. Metode ini terdiri dari mengalokasikan partisi ke suatu pekerjaan saat dimulai & tidak mengalokasikannya saat berakhir.

Paged Memory Management

Metode ini membagi memori utama komputer menjadi unit-unit berukuran tetap yang dikenal sebagai page frames. Unit manajemen memori perangkat keras ini memetakan pages (halaman-halaman) ke dalam frames (bingkai-bingkai) yang harus dialokasikan berdasarkan page.

Segmented Memory Management

Memori tersegmentasi adalah satu-satunya metode manajemen memori yang tidak menyediakan program pengguna dengan ruang alamat linear dan bersebelahan.

Segmen memerlukan dukungan perangkat keras dalam bentuk tabel segmen. Tabel ini berisi alamat fisik bagian dalam memori, ukuran, dan data lain seperti bit perlindungan akses dan status.

Apa itu Swapping?

Swapping adalah metode di mana proses harus ditukar sementara dari memori utama ke penyimpanan cadangan. Proses tersebut kemudian akan dibawa kembali ke memori untuk terus dieksekusi.

Penyimpanan cadangan adalah hard disk atau perangkat penyimpanan sekunder lain yang harus cukup besar untuk menampung salinan semua images memori bagi semua pengguna. Penyimpanan cadangan juga mampu menawarkan akses langsung ke images memori ini.

Pertukaran

Manfaat Swapping

Berikut ini adalah beberapa keuntungan/kelebihan utama dari swapping (pertukaran):

  • Menawarkan tingkat multiprogramming yang lebih tinggi.
  • Memungkinkan relokasi dinamis. Misalnya, jika pengikatan alamat pada waktu eksekusi digunakan, maka proses dapat ditukar di lokasi yang berbeda. Jika tidak, dalam kasus pengikatan waktu kompilasi dan pemuatan, proses harus dipindahkan ke lokasi yang sama.
  • Membantu untuk mendapatkan pemanfaatan memori yang lebih baik.
  • Pemborosan waktu CPU minimum pada saat penyelesaian sehingga dapat dengan mudah diterapkan pada metode penjadwalan berbasis prioritas untuk meningkatkan kinerjanya.

Apa itu alokasi memori?

Alokasi memori adalah proses di mana program komputer diberi memori atau ruang.

Di sini, memori utama dibagi menjadi dua jenis partisi

  1. Memori Rendah – Sistem operasi berada dalam jenis memori ini.
  2. Memori Tinggi – Proses pengguna disimpan dalam memori tinggi.

Alokasi Partisi

Memori dibagi menjadi beberapa blok atau partisi. Setiap proses dialokasikan sesuai dengan kebutuhan. Alokasi partisi merupakan metode ideal untuk menghindari fragmentasi internal.

Berikut ini adalah berbagai skema alokasi partisi:

  • First Fit : Pada tipe fit ini, partisi dialokasikan, yang merupakan blok pertama yang cukup dari awal memori utama.
  • Best Fit: Mengalokasikan proses ke partisi yang merupakan partisi terkecil pertama di antara partisi yang kosong.
  • Worst Fit: Mengalokasikan proses ke partisi yang merupakan partisi terbesar yang tersedia secara bebas di memori utama.
  • Next Fit: Sebagian besar serupa dengan Penyesuaian pertama, namun Penyesuaian ini mencari partisi pertama yang cukup dari titik alokasi terakhir.

Apa itu Paging?

Paging adalah mekanisme penyimpanan yang memungkinkan OS mengambil proses dari penyimpanan sekunder ke memori utama dalam bentuk halaman. Dalam metode Paging, memori utama dibagi menjadi blok-blok memori fisik berukuran tetap yang disebut frame. Ukuran frame harus dijaga sama dengan ukuran halaman agar pemanfaatan memori utama dapat maksimal dan menghindari fragmentasi eksternal. Paging digunakan untuk akses data yang lebih cepat, dan merupakan konsep yang logis.

Apa itu Fragmentasi?

Proses disimpan dan dihapus dari memori, yang menciptakan ruang memori kosong, yang terlalu kecil untuk digunakan oleh proses lain.

Kadang-kadang, proses yang tidak dapat dialokasikan ke blok memori karena ukurannya yang kecil dan blok memori selalu tidak digunakan disebut fragmentasi. Jenis masalah ini terjadi selama sistem alokasi memori dinamis ketika blok yang tersedia cukup kecil, sehingga tidak dapat memenuhi permintaan apa pun.

Dua jenis metode Fragmentasi adalah:

  1. Fragmentasi eksternal
  2. Fragmentasi internal
  • Fragmentasi eksternal dapat dikurangi dengan menata ulang isi memori untuk menempatkan semua memori bebas bersama-sama dalam satu blok.
  • Fragmentasi internal dapat dikurangi dengan menetapkan partisi terkecil, yang masih cukup baik untuk menjalankan keseluruhan proses.

Apa itu Segmentasi?

Metode segmentasi bekerja hampir sama dengan paging. Satu-satunya perbedaan antara keduanya adalah bahwa segmen memiliki panjang yang bervariasi, sedangkan, dalam metode paging, halaman selalu memiliki ukuran yang tetap.

Segmen program mencakup fungsi utama program, struktur data, fungsi utilitas, dll. OS memelihara tabel peta segmen untuk semua proses. Tabel ini juga mencakup daftar blok memori bebas beserta ukurannya, nomor segmen, dan lokasi memorinya di memori utama atau memori virtual .

Apa itu Dynamic Loading (Pemuatan Dinamis)?

Pemuatan dinamis adalah rutinitas program yang tidak dimuat hingga program memanggilnya. Semua rutinitas harus disimpan dalam disk dalam format pemuatan yang dapat dipindahkan. Program utama akan dimuat ke dalam memori dan akan dieksekusi. Pemuatan dinamis juga menyediakan pemanfaatan ruang memori yang lebih baik.

Apa itu Dynamic Linking Tautan Dinamis?

Penghubungan adalah metode yang membantu OS mengumpulkan dan menggabungkan berbagai modul kode dan data ke dalam satu berkas yang dapat dieksekusi. Berkas tersebut dapat dimuat ke dalam memori dan dieksekusi. OS dapat menghubungkan pustaka tingkat sistem ke dalam program yang menggabungkan pustaka tersebut pada waktu pemuatan. Dalam metode Penghubungan Dinamis, pustaka dihubungkan pada waktu eksekusi, sehingga ukuran kode program dapat tetap kecil.

Perbedaan Antara Static dan Dynamic Loading

Pemuatan StatisPemuatan Dinamis
Pemuatan statis digunakan saat Anda ingin memuat program secara statis. Kemudian pada saat kompilasi, seluruh program akan ditautkan dan dikompilasi tanpa memerlukan modul eksternal atau ketergantungan program apa pun.Dalam program yang dimuat secara Dinamis, referensi akan disediakan dan pemuatan akan dilakukan pada saat eksekusi.
Pada waktu pemuatan, seluruh program dimuat ke dalam memori dan mulai dieksekusi.Rutinitas perpustakaan dimuat ke dalam memori hanya saat dibutuhkan dalam program.

Perbedaan Antara Static dan Dynamic Linking

Berikut ini adalah perbedaan utama antara Penghubungan Statis dan Dinamis:

Tautan StatisTautan Dinamis
Tautan statis digunakan untuk menggabungkan semua modul lain yang dibutuhkan oleh suatu program menjadi satu kode yang dapat dieksekusi. Ini membantu OS mencegah ketergantungan pada waktu proses.Bila penautan dinamis digunakan, ia tidak perlu menautkan modul atau pustaka aktual dengan program. Sebagai gantinya, gunakan referensi ke modul dinamis yang disediakan pada saat kompilasi dan penautan.

Ringkasan

  • Manajemen memori adalah proses mengendalikan dan mengoordinasikan memori komputer, menetapkan bagian yang disebut blok ke berbagai program yang sedang berjalan untuk mengoptimalkan kinerja sistem secara keseluruhan.
  • Memungkinkan Anda memeriksa berapa banyak memori yang perlu dialokasikan ke proses yang memutuskan prosesor mana yang harus mendapatkan memori pada waktu apa.
  • Dalam Single Contiguous Allocation, semua jenis memori komputer kecuali sebagian kecil yang dicadangkan untuk OS tersedia untuk satu aplikasi
  • Metode Partitioned Allocation membagi memori utama menjadi beberapa partisi memori, yang sebagian besar merupakan area memori yang bersebelahan
  • Metode Paged Memory Management membagi memori utama komputer menjadi unit-unit berukuran tetap yang dikenal sebagai page frame.
  • Memori tersegmentasi adalah satu-satunya metode manajemen memori yang tidak menyediakan program pengguna dengan ruang alamat linear dan bersebelahan.
  • Swapping adalah metode di mana proses harus ditukar sementara dari memori utama ke penyimpanan cadangan. Proses tersebut kemudian akan dibawa kembali ke memori untuk terus dieksekusi.
  • Alokasi memori adalah proses di mana program komputer diberi memori atau ruang.
  • Paging adalah mekanisme penyimpanan yang memungkinkan OS untuk mengambil proses dari penyimpanan sekunder ke dalam memori utama dalam bentuk page/halaman.
  • Fragmentasi merujuk pada kondisi disk di mana berkas-berkas terbagi menjadi beberapa bagian yang tersebar di sekitar disk.
  • Metode segmentasi bekerja hampir sama dengan paging. Satu-satunya perbedaan antara keduanya adalah bahwa segmen memiliki panjang yang bervariasi, sedangkan, dalam metode paging, halaman selalu memiliki ukuran yang tetap.
  • Pemuatan dinamis (dynamic loading) merupakan rutinitas suatu program yang tidak dimuat hingga program memanggilnya.
  • Lingking adalah suatu metode yang membantu OS untuk mengumpulkan dan menggabungkan berbagai modul kode dan data ke dalam satu berkas yang dapat dieksekusi.

Tinggalkan Balasan

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