Manajemen Memori di OS: Bersebelahan, Bertukar, Fragmentasi

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 adalah alasan untuk menggunakan manajemen memori:

  • Hal ini memungkinkan Anda untuk memeriksa berapa banyak memori yang perlu dialokasikan untuk proses yang menentukan prosesor mana yang harus mendapatkan memori pada waktu berapa.
  • Melacak setiap kali inventaris dibebaskan atau tidak terisi. Menurutnya akan memperbarui status.
  • Ini mengalokasikan ruang untuk rutinitas aplikasi.
  • Pastikan juga aplikasi-aplikasi ini tidak saling mengganggu.
  • Membantu melindungi proses yang berbeda satu sama lain
  • Ini menempatkan program dalam memori sehingga memori digunakan secara maksimal.

Teknik Manajemen Memori

Berikut adalah beberapa teknik manajemen memori yang paling penting:

Alokasi Bersebelahan Tunggal

Ini 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.

Alokasi yang Dipartisi

Ini membagi memori utama menjadi berbagai partisi memori, yang sebagian besar merupakan area memori yang berdekatan. Setiap partisi menyimpan semua informasi untuk tugas atau pekerjaan tertentu. Metode ini terdiri dari mengalokasikan partisi ke suatu pekerjaan saat pekerjaan dimulai dan membatalkan alokasinya saat pekerjaan berakhir.

Manajemen Memori Halaman

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

Manajemen Memori Tersegmentasi

Memori tersegmentasi adalah satu-satunya metode manajemen memori yang tidak menyediakan ruang alamat linier dan berdekatan bagi program pengguna.

Segmen memerlukan dukungan hardware berupa tabel segmen. Ini berisi alamat fisik bagian dalam memori, ukuran, dan data lain seperti bit perlindungan akses dan status.

Apa itu Bertukar?

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 lainnya yang harus cukup besar untuk menampung salinan semua gambar memori untuk semua pengguna. Ia juga mampu menawarkan akses langsung ke gambar memori ini.

Bertukar

Manfaat Bertukar

Inilah manfaat/kelebihan utama dari pertukaran:

  • Ia menawarkan tingkat multiprogramming yang lebih tinggi.
  • Memungkinkan relokasi dinamis. Misalnya, jika pengikatan alamat pada waktu eksekusi digunakan, maka proses dapat ditukar di lokasi berbeda. Jika tidak, jika terjadi pengikatan waktu kompilasi dan pemuatan, proses harus dipindahkan ke lokasi yang sama.
  • Ini membantu untuk mendapatkan pemanfaatan memori yang lebih baik.
  • Pemborosan waktu CPU yang 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 dimana program komputer diberi memori atau ruang.

Di sini, memori utama dibagi menjadi dua jenis partisi

  1. Memori rendah - Operasistem ting berada dalam memori jenis 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 adalah metode ideal untuk menghindari fragmentasi internal.

Di bawah ini adalah berbagai skema alokasi partisi:

  • Fit pertama: Pada tipe fit ini, partisi dialokasikan, yang merupakan blok pertama yang cukup dari awal memori utama.
  • Paling cocok: Ini mengalokasikan proses ke partisi yang merupakan partisi terkecil pertama di antara partisi bebas.
  • Paling Cocok: Ini mengalokasikan proses ke partisi, yang merupakan partisi terbesar yang cukup tersedia secara bebas di memori utama.
  • Kesesuaian Berikutnya: Ini sebagian besar mirip dengan Fit pertama, tetapi Fit 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 dalam memori utama dalam bentuk halaman. Dalam metode Paging, memori utama dibagi menjadi blok memori fisik kecil berukuran tetap, yang disebut frame. Ukuran frame harus dijaga sama dengan ukuran halaman agar penggunaan memori utama maksimal dan menghindari fragmentasi eksternal. Pager digunakan untuk akses lebih cepat ke data, dan ini adalah konsep logis.

Apa itu Fragmentasi?

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

Terkadang proses tersebut tidak dapat dialokasikan ke blok memori karena ukurannya yang kecil dan blok memori selalu tidak terpakai disebut fragmentasi. Jenis masalah ini terjadi selama sistem alokasi memori dinamis ketika blok bebas 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 mengatur 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 seluruh proses.

Apa itu Segmentasi?

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

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

Apa itu Pemuatan Dinamis?

Pemuatan dinamis adalah rutinitas suatu program yang tidak dimuat sampai program tersebut memanggilnya. Semua rutinitas harus disimpan pada disk dalam format pemuatan yang dapat direlokasi. Program utama akan dimuat ke dalam memori dan akan dieksekusi. Pemuatan dinamis juga memberikan pemanfaatan ruang memori yang lebih baik.

Apa itu Tautan Dinamis?

Tautan adalah metode yang membantu OS mengumpulkan dan menggabungkan berbagai modul kode dan data ke dalam satu file yang dapat dieksekusi. File dapat dimuat ke dalam memori dan dieksekusi. OS dapat menghubungkan perpustakaan tingkat sistem ke dalam program yang menggabungkan perpustakaan pada waktu buka. Dalam metode Tautan dinamis, pustaka ditautkan pada waktu eksekusi, sehingga ukuran kode program tetap kecil.

Perbedaan Antara Pemuatan Statis dan Dinamis

Pemuatan Statis Pemuatan Dinamis
Pemuatan statis digunakan ketika Anda ingin memuat program Anda secara statis. Kemudian pada saat kompilasi, seluruh program akan dihubungkan dan dikompilasi tanpa memerlukan modul eksternal atau ketergantungan program. Dalam program yang dimuat secara dinamis, referensi akan diberikan dan pemuatan akan dilakukan pada saat eksekusi.
Pada waktu pemuatan, seluruh program dimuat ke dalam memori dan memulai eksekusinya. Rutinitas perpustakaan dimuat ke dalam memori hanya ketika diperlukan dalam program.

Perbedaan Antara Tautan Statis dan Dinamis

Berikut adalah perbedaan utama antara Penautan Statis vs. Penautan Dinamis:

Tautan Statis Tautan Dinamis
Tautan statis digunakan untuk menggabungkan semua modul lain, yang diperlukan oleh suatu program menjadi satu kode yang dapat dieksekusi. Ini membantu OS mencegah ketergantungan runtime. Ketika tautan dinamis digunakan, tidak perlu menghubungkan modul atau perpustakaan sebenarnya dengan program. Daripada menggunakan referensi ke modul dinamis yang disediakan pada saat kompilasi dan penautan.

Ringkasan

  • Manajemen memori adalah proses mengendalikan dan mengkoordinasikan memori komputer, menetapkan bagian yang disebut blok ke berbagai program yang berjalan untuk mengoptimalkan kinerja sistem secara keseluruhan.
  • Hal ini memungkinkan Anda untuk memeriksa berapa banyak memori yang perlu dialokasikan untuk proses yang menentukan prosesor mana yang harus mendapatkan memori pada waktu berapa.
  • Dalam Alokasi Bersebelahan Tunggal, semua jenis memori komputer kecuali sebagian kecil yang dicadangkan untuk OS tersedia untuk satu aplikasi
  • Metode Alokasi Terpartisi membagi memori utama menjadi berbagai partisi memori, yang sebagian besar merupakan area memori yang berdekatan
  • Metode Paged Memory Management membagi memori utama komputer menjadi unit berukuran tetap yang dikenal sebagai bingkai halaman
  • Memori tersegmentasi adalah satu-satunya metode manajemen memori yang tidak menyediakan ruang alamat linier dan berdekatan bagi program pengguna.
  • 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 dimana program komputer diberi memori atau ruang.
  • Paging adalah mekanisme penyimpanan yang memungkinkan OS mengambil proses dari penyimpanan sekunder ke dalam memori utama dalam bentuk halaman.
  • Fragmentasi mengacu pada kondisi disk di mana file dibagi menjadi beberapa bagian yang tersebar di sekitar disk.
  • Metode segmentasi bekerja hampir mirip dengan paging. Satu-satunya perbedaan antara keduanya adalah bahwa segmen memiliki panjang yang bervariasi, sedangkan dalam metode paging, halaman selalu berukuran tetap.
  • Pemuatan dinamis adalah rutinitas suatu program yang tidak dimuat sampai program tersebut memanggilnya.
  • Tautan adalah metode yang membantu OS mengumpulkan dan menggabungkan berbagai modul kode dan data ke dalam satu file yang dapat dieksekusi.