Manajemen Memori di OS: Bersebelahan, Bertukar, Fragmentasi

Daftar Isi:

Anonim

Apa itu Manajemen Memori?

Manajemen Memori adalah proses mengontrol dan mengkoordinasikan 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. Ini membantu proses untuk bergerak maju dan mundur antara memori utama dan disk eksekusi. Ini membantu OS untuk melacak setiap lokasi memori, terlepas dari apakah itu dialokasikan untuk beberapa proses atau tetap gratis.

Dalam tutorial sistem operasi ini, Anda akan mempelajari:

  • Apa itu Manajemen Memori?
  • Mengapa Menggunakan Manajemen Memori?
  • Teknik Manajemen Memori
  • Apa itu Swapping?
  • Apa itu Alokasi memori?
  • Apa itu Paging?
  • Apa itu Metode Fragmentasi?
  • Apa itu Segmentasi?
  • Apa itu Dynamic Loading?
  • Apa itu Dynamic Linking?
  • Perbedaan Antara Pembebanan Statis dan Dinamis
  • Perbedaan Antara Tautan Statis dan Dinamis

Mengapa Menggunakan Manajemen Memori?

Berikut adalah alasan untuk menggunakan manajemen memori:

  • Ini memungkinkan Anda untuk memeriksa berapa banyak memori yang perlu dialokasikan untuk proses yang memutuskan prosesor mana yang harus mendapatkan memori pada jam berapa.
  • Melacak setiap kali inventaris dibebaskan atau tidak dialokasikan. Menurutnya akan memperbarui status.
  • Ini mengalokasikan ruang untuk rutinitas aplikasi.
  • Itu juga memastikan bahwa 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, beberapa teknik manajemen memori yang paling penting:

Alokasi Berdekatan Tunggal

Ini adalah teknik manajemen memori termudah. Dalam metode ini, semua jenis memori komputer kecuali sebagian kecil yang dicadangkan 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 pekerjaan saat dimulai & tidak dialokasikan saat selesai.

Manajemen Memori Paged

Metode ini membagi memori utama komputer menjadi 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 bersebelahan bagi program pengguna.

Segmen membutuhkan dukungan perangkat keras berupa tabel segmen. 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. Ini nantinya akan dibawa kembali ke memori untuk melanjutkan eksekusi.

Penyimpanan cadangan adalah hard disk atau perangkat penyimpanan sekunder lainnya yang harus cukup besar untuk menampung salinan dari semua gambar memori untuk semua pengguna. Ia juga mampu menawarkan akses langsung ke gambar memori ini.

Manfaat Swapping

Berikut, adalah keuntungan / keuntungan utama dari swapping:

  • Ini 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. Lain dalam kasus mengikat waktu kompilasi dan waktu muat, proses harus dipindahkan ke lokasi yang sama.
  • Ini membantu untuk mendapatkan pemanfaatan memori yang lebih baik.
  • Pemborosan waktu CPU minimum saat penyelesaian sehingga dapat dengan mudah diterapkan ke 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 blok atau partisi yang berbeda. Setiap proses dialokasikan sesuai dengan kebutuhan. Alokasi partisi adalah metode yang ideal untuk menghindari fragmentasi internal.

Di bawah ini adalah berbagai skema alokasi partisi:

  • First Fit : Pada tipe ini, partisi dialokasikan, yang merupakan blok pertama yang cukup dari awal memori utama.
  • Paling Sesuai: Ini mengalokasikan proses ke partisi yang merupakan partisi terkecil pertama di antara partisi gratis.
  • Worst Fit: Ini mengalokasikan proses ke partisi, yang merupakan partisi terbesar yang tersedia secara bebas dan cukup di memori utama.
  • Pas Berikutnya: Ini sebagian besar mirip dengan Fit pertama, tetapi Fit ini, mencari partisi pertama yang cukup dari titik alokasi terakhir.

Apa itu Paging?

Paging merupakan mekanisme penyimpanan yang memungkinkan OS untuk mengambil proses dari penyimpanan sekunder ke dalam memori utama berupa halaman. Dalam metode Paging, memori utama dibagi menjadi blok memori fisik berukuran tetap kecil, yang disebut bingkai. Ukuran bingkai harus dijaga sama dengan ukuran halaman untuk mendapatkan pemanfaatan maksimum dari memori utama dan untuk menghindari fragmentasi eksternal. Paging digunakan untuk akses data yang lebih cepat, dan ini adalah 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.

Terkadang, proses tersebut 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 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 konten memori untuk menempatkan semua memori bebas bersama 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 variabel, sedangkan dalam metode halaman, 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 bersama dengan ukurannya, nomor segmen, dan lokasi memorinya di memori utama atau memori virtual.

Apa itu Dynamic Loading?

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

Apa itu Dynamic Linking?

Menautkan adalah metode yang membantu OS mengumpulkan dan menggabungkan berbagai modul kode dan data ke dalam satu file yang dapat dijalankan. File tersebut dapat dimuat ke dalam memori dan dijalankan. OS dapat menautkan pustaka tingkat sistem ke dalam program yang menggabungkan pustaka pada waktu pemuatan. Dalam metode Dynamic Linking, pustaka ditautkan pada waktu eksekusi, sehingga ukuran kode program bisa tetap kecil.

Perbedaan Antara Pembebanan 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 saat pemuatan, seluruh program dimuat ke dalam memori dan mulai dijalankan. Rutinitas pustaka dimuat ke dalam memori hanya jika diperlukan dalam program.

Perbedaan Antara Tautan Statis dan Dinamis

Di sini, perbedaan utama antara Static vs. Dynamic Linking:

Menghubungkan Statis Tautan Dinamis
Penautan statis digunakan untuk menggabungkan semua modul lain, yang diperlukan oleh program menjadi satu kode yang dapat dieksekusi. Ini membantu OS mencegah ketergantungan runtime. Saat penautan dinamis digunakan, modul atau pustaka aktual tidak perlu ditautkan dengan program. Alih-alih, gunakan referensi ke modul dinamis yang disediakan pada saat kompilasi dan penautan.

Ringkasan:

  • Manajemen memori adalah proses mengontrol dan mengkoordinasikan memori komputer, menetapkan bagian yang disebut blok ke berbagai program yang sedang berjalan untuk mengoptimalkan kinerja sistem secara keseluruhan.
  • Ini memungkinkan Anda untuk memeriksa berapa banyak memori yang perlu dialokasikan untuk proses yang memutuskan prosesor mana yang harus mendapatkan memori pada jam berapa.
  • Di 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 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 bersebelahan bagi program pengguna.
  • Swapping adalah metode di mana proses harus ditukar sementara dari memori utama ke penyimpanan cadangan. Ini nantinya akan dibawa kembali ke memori untuk melanjutkan eksekusi.
  • Alokasi memori adalah proses di mana program komputer diberi memori atau ruang.
  • Paging merupakan mekanisme penyimpanan yang memungkinkan OS untuk mengambil proses dari penyimpanan sekunder ke dalam memori utama berupa 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 variabel, sedangkan dalam metode halaman, halaman selalu berukuran tetap.
  • Pembebanan dinamis adalah rutinitas program yang tidak dimuat sampai program memanggilnya.
  • Menautkan adalah metode yang membantu OS mengumpulkan dan menggabungkan berbagai modul kode dan data ke dalam satu file yang dapat dijalankan.