Pengurusan Memori dalam OS: Bersebelahan, Bertukar, Fragmentasi

Isi kandungan:

Anonim

Apa itu Pengurusan Memori?

Pengurusan Memori adalah proses mengawal dan mengkoordinasikan memori komputer, menetapkan bahagian yang dikenali sebagai blok ke pelbagai program yang dijalankan untuk mengoptimumkan prestasi keseluruhan sistem.

Ini adalah fungsi terpenting dari sistem operasi yang menguruskan memori utama. Ini membantu proses untuk bergerak ke belakang dan ke hadapan antara memori utama dan cakera pelaksanaan. Ia membantu OS untuk melacak setiap lokasi memori, tidak kira sama ada ia diperuntukkan untuk beberapa proses atau tetap bebas.

Dalam tutorial ini, anda akan belajar:

  • Apa itu Pengurusan Memori?
  • Mengapa Menggunakan Pengurusan Memori?
  • Teknik Pengurusan Memori
  • Apa itu Pertukaran?
  • Apakah peruntukan memori?
  • Apa itu Paging?
  • Apakah Kaedah Fragmentasi?
  • Apa itu Segmentasi?
  • Apa itu Pemuatan Dinamik?
  • Apakah Pautan Dinamik?
  • Perbezaan Antara Pemuatan Statik dan Dinamik
  • Perbezaan Antara Pautan Statik dan Dinamik

Mengapa Menggunakan Pengurusan Memori?

Berikut adalah sebab penggunaan pengurusan memori:

  • Ini membolehkan anda memeriksa berapa banyak memori yang perlu dialokasikan untuk proses yang menentukan pemproses mana yang harus mendapat memori pada waktu apa.
  • Menjejaki setiap kali inventori dibebaskan atau tidak diperuntukkan. Menurutnya akan mengemas kini status.
  • Ia memperuntukkan ruang untuk rutin aplikasi.
  • Ini juga memastikan bahawa aplikasi ini tidak saling mengganggu.
  • Membantu melindungi proses yang berbeza antara satu sama lain
  • Ini meletakkan program dalam memori sehingga memori digunakan sepenuhnya.

Teknik Pengurusan Memori

Berikut adalah beberapa teknik pengurusan memori yang paling penting:

Peruntukan Bersebelahan Tunggal

Ini adalah teknik pengurusan memori yang paling mudah. Dalam kaedah ini, semua jenis memori komputer kecuali sebahagian kecil yang dikhaskan untuk OS tersedia untuk satu aplikasi. Sebagai contoh, sistem operasi MS-DOS memperuntukkan memori dengan cara ini. Sistem terbenam juga berjalan pada satu aplikasi.

Peruntukan Berpisah

Ia membahagikan memori utama ke dalam pelbagai bahagian memori, yang kebanyakannya merupakan kawasan memori yang berdekatan. Setiap partisi menyimpan semua maklumat untuk tugas atau pekerjaan tertentu. Kaedah ini terdiri daripada memperuntukkan partisi ke pekerjaan ketika ia bermula & tidak mengalokasikannya apabila ia berakhir.

Pengurusan Memori Paged

Kaedah ini membahagikan memori utama komputer menjadi unit ukuran tetap yang dikenali sebagai bingkai halaman. Unit pengurusan memori perkakasan ini memetakan halaman ke dalam bingkai yang harus diperuntukkan berdasarkan halaman.

Pengurusan Memori Bersegmen

Memori bersegmen adalah satu-satunya kaedah pengurusan memori yang tidak menyediakan ruang alamat linear dan bersebelahan dengan program pengguna.

Segmen memerlukan sokongan perkakasan dalam bentuk jadual segmen. Ini berisi alamat fizikal bahagian dalam memori, ukuran, dan data lain seperti bit dan status perlindungan akses.

Apa itu Pertukaran?

Pertukaran adalah kaedah di mana proses tersebut harus ditukar sementara dari memori utama ke kedai sokongan. Ia kemudian akan dikembalikan ke memori untuk terus dilaksanakan.

Backing store adalah cakera keras atau beberapa alat penyimpanan sekunder lain yang seharusnya cukup besar untuk memuatkan salinan semua gambar memori untuk semua pengguna. Ia juga mampu menawarkan akses langsung ke gambar memori ini.

Faedah Pertukaran

Berikut adalah faedah / kelebihan pertukaran:

  • Ia menawarkan tahap pengaturcaraan yang lebih tinggi.
  • Membolehkan penempatan semula dinamik. Sebagai contoh, jika alamat yang mengikat pada waktu pelaksanaan sedang digunakan, proses dapat ditukar di lokasi yang berlainan. Jika tidak, dalam kes pengikatan dan masa muat, proses harus dipindahkan ke lokasi yang sama.
  • Ia membantu mendapatkan penggunaan memori yang lebih baik.
  • Pembaziran minimum CPU semasa selesai sehingga dapat dengan mudah diterapkan pada kaedah penjadualan berdasarkan keutamaan untuk meningkatkan kinerjanya.

Apakah peruntukan memori?

Peruntukan memori adalah proses di mana program komputer diberikan memori atau ruang.

Di sini, memori utama terbahagi kepada dua jenis partition

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

Peruntukan Partition

Memori terbahagi kepada blok atau partisi yang berbeza. Setiap proses diperuntukkan mengikut keperluan. Peruntukan partition adalah kaedah yang ideal untuk mengelakkan pecahan dalaman.

Berikut adalah pelbagai skim peruntukan partition:

  • Fit Pertama : Dalam jenis fit ini, partition diperuntukkan, yang merupakan blok pertama yang mencukupi dari awal memori utama.
  • Best Fit: Ia memperuntukkan proses ke partition yang merupakan partition terkecil pertama di antara partition percuma.
  • Terburuk: Ia memperuntukkan proses ke partisi, yang merupakan partisi bebas yang tersedia dalam memori utama.
  • Fit Seterusnya: Kebanyakannya serupa dengan Fit pertama, tetapi Fit ini, mencari partisi pertama yang mencukupi dari titik peruntukan terakhir.

Apa itu Paging?

Paging adalah mekanisme penyimpanan yang membolehkan OS mengambil proses dari penyimpanan sekunder ke memori utama dalam bentuk halaman. Dalam kaedah Paging, memori utama dibahagikan kepada blok memori fizikal bersaiz tetap kecil, yang disebut bingkai. Ukuran bingkai harus dijaga sama dengan halaman untuk menggunakan maksimum memori utama dan untuk menghindari pemecahan luaran. Paging digunakan untuk akses lebih cepat ke data, dan ini adalah konsep logik.

Apa itu Fragmentasi?

Proses disimpan dan dikeluarkan dari memori, yang menghasilkan ruang memori bebas, yang terlalu kecil untuk digunakan oleh proses lain.

Kadang kala, proses yang tidak dapat dialokasikan ke blok memori kerana ukuran kecil dan blok memori yang selalu tidak digunakan disebut fragmentasi. Jenis masalah ini berlaku semasa sistem peruntukan memori dinamik apabila blok bebas cukup kecil, sehingga tidak dapat memenuhi permintaan apa pun.

Dua jenis kaedah Fragmentasi adalah:

  1. Pemecahan luaran
  2. Pemecahan dalaman
  • Fragmentasi luaran dapat dikurangkan dengan menyusun semula isi memori untuk menempatkan semua memori bebas bersama dalam satu blok.
  • Fragmentasi dalaman dapat dikurangkan dengan menetapkan partisi terkecil, yang masih cukup baik untuk menjalankan keseluruhan proses.

Apa itu Segmentasi?

Kaedah segmentasi berfungsi hampir sama dengan paging. Satu-satunya perbezaan antara keduanya adalah segmen yang panjangnya berubah-ubah, sedangkan, dalam kaedah paging, halaman selalu berukuran tetap.

Segmen program merangkumi fungsi utama program, struktur data, fungsi utiliti, dan lain-lain. OS mengekalkan jadual peta segmen untuk semua proses. Ini juga termasuk daftar blok memori percuma beserta ukuran, nombor segmen, dan lokasi ingatannya di memori utama atau memori maya.

Apa itu Pemuatan Dinamik?

Pemuatan dinamik adalah rutin program yang tidak dimuat sehingga program memanggilnya. Semua rutin harus dimasukkan ke dalam cakera dalam format muatan yang dapat dipindahkan. Program utama akan dimuat ke dalam memori dan akan dilaksanakan. Pemuatan dinamik juga memberikan penggunaan ruang memori yang lebih baik.

Apakah Pautan Dinamik?

Menghubungkan adalah kaedah yang membantu OS mengumpulkan dan menggabungkan pelbagai modul kod dan data ke dalam satu fail yang boleh dilaksanakan. Fail boleh dimuat ke dalam memori dan dijalankan. OS dapat menghubungkan perpustakaan peringkat sistem ke dalam program yang menggabungkan perpustakaan pada waktu muat. Dalam kaedah pautan Dinamik, perpustakaan dihubungkan pada waktu pelaksanaan, sehingga ukuran kod program dapat tetap kecil.

Perbezaan Antara Pemuatan Statik dan Dinamik

Pemuatan Statik Pemuatan Dinamik
Pemuatan statik digunakan semasa anda ingin memuatkan program anda secara statik. Kemudian pada masa penyusunan, keseluruhan program akan dihubungkan dan disusun tanpa memerlukan pergantungan modul luaran atau program. Dalam program yang dimuat secara dinamik, rujukan akan diberikan dan pemuatan akan dilakukan pada saat pelaksanaan.
Pada masa memuatkan, seluruh program dimuat ke dalam memori dan memulakan pelaksanaannya. Rutin perpustakaan dimuat ke dalam memori hanya apabila diperlukan dalam program.

Perbezaan Antara Pautan Statik dan Dinamik

Berikut adalah perbezaan utama antara Pautan Statik vs Pautan Dinamik:

Pautan Statik Pautan Dinamik
Pautan statik digunakan untuk menggabungkan semua modul lain, yang diperlukan oleh program ke dalam satu kod yang dapat dilaksanakan. Ini membantu OS mencegah kebergantungan runtime. Apabila pautan dinamik digunakan, ia tidak perlu menghubungkan modul atau perpustakaan yang sebenarnya dengan program. Sebagai gantinya, gunakan rujukan kepada modul dinamik yang disediakan semasa penyusunan dan penghubung.

Ringkasan:

  • Pengurusan memori adalah proses mengawal dan mengkoordinasikan memori komputer, menetapkan bahagian yang disebut blok ke pelbagai program yang dijalankan untuk mengoptimumkan prestasi keseluruhan sistem.
  • Ini membolehkan anda memeriksa berapa banyak memori yang perlu dialokasikan untuk proses yang menentukan pemproses mana yang harus mendapat memori pada waktu apa.
  • Dalam Single Contiguous Allocation, semua jenis memori komputer kecuali sebahagian kecil yang diperuntukkan untuk OS tersedia untuk satu aplikasi
  • Kaedah Peruntukan Berpisah membahagi memori primer ke dalam pelbagai partisi memori, yang kebanyakannya merupakan kawasan memori yang berdekatan
  • Kaedah Pengurusan Memori Paged membahagikan memori utama komputer menjadi unit ukuran tetap yang dikenali sebagai bingkai halaman
  • Memori bersegmen adalah satu-satunya kaedah pengurusan memori yang tidak menyediakan ruang alamat linear dan bersebelahan dengan program pengguna.
  • Pertukaran adalah kaedah di mana proses tersebut harus ditukar sementara dari memori utama ke kedai sokongan. Ia kemudian akan dikembalikan ke memori untuk terus dilaksanakan.
  • Peruntukan memori adalah proses di mana program komputer diberikan memori atau ruang.
  • Paging adalah mekanisme penyimpanan yang membolehkan OS mengambil proses dari penyimpanan sekunder ke memori utama dalam bentuk halaman.
  • Fragmentasi merujuk kepada keadaan cakera di mana fail dibahagikan kepada kepingan yang tersebar di sekitar cakera.
  • Kaedah segmentasi berfungsi hampir sama dengan paging. Satu-satunya perbezaan antara keduanya adalah segmen yang panjangnya berubah-ubah, sedangkan, dalam kaedah paging, halaman selalu berukuran tetap.
  • Pemuatan dinamik adalah rutin program yang tidak dimuat sehingga program memanggilnya.
  • Menghubungkan adalah kaedah yang membantu OS mengumpulkan dan menggabungkan pelbagai modul kod dan data ke dalam satu fail yang boleh dilaksanakan.