Perbezaan Antara Paging dan Segmentasi

Pengurusan memori adalah salah satu fungsi asas sistem operasi. Sistem operasi moden membolehkan setiap proses mendapatkan lebih banyak memori maya daripada jumlah keseluruhan memori (fizikal) sebenar pada sistem komputer yang diberikan. Matlamat utama pengurusan ingatan adalah dengan menggabungkan memori besar tetapi perlahan dengan memori kecil tetapi berkelajuan tinggi, untuk mencapai kesan memori berkelajuan tinggi yang lebih besar.

Apa itu Paging?

Pemisahan antara pembahagian tetap dan pemboleh ubah adalah tidak berkesan dari segi penggunaan ingatan, kerana hasil pembahagian tetap dalam dalaman, sementara dinamik dalam pemecahan luaran. Penyelesaian yang mungkin untuk masalah pemecahan adalah untuk membolehkan proses tidak ditulis ke blok ingatan yang berterusan. Program ini boleh bertaburan sewenang-wenangnya dalam ingatan. Dalam kes ini, memori kerja dibahagikan kepada blok kecil saiz tetap yang dipanggil bingkai. Ruang alamat logik program juga dibahagikan kepada blok saiz yang sama, dipanggil halaman. Apabila suatu program dimasukkan ke dalam memori, halaman-halaman itu ditulis ke dalam bingkai memori percuma. Untuk memudahkan memindahkan program dari cakera ke memori yang berfungsi, cakera juga dibahagikan kepada bingkai saiz yang sama dengan bingkai ingatan. Oleh itu, satu bingkai dari cakera dituliskan dalam satu bingkai memori kerja. Sistem paging beroperasi dengan cara berikut: apabila program diterima untuk pelaksanaan, saiznya dikira, yang dinyatakan dengan jumlah halaman yang diperlukan. Sekiranya bilangan bingkai yang mencukupi adalah percuma, proses itu direkodkan dalam halaman memori setiap halaman. Pada masa yang sama, bilangan bingkai di mana setiap halaman ditulis dimasukkan dalam jadual bingkai.

Apakah Segmentasi?

Program pengguna dan data yang berkaitan boleh dibahagikan kepada beberapa segmen. Segmen semua program tidak perlu bersaiz yang sama, walaupun terdapat segmen maksimum segmen. Seperti halnya paging, alamat logik yang menggunakan segmentasi terdiri dari dua bahagian, dalam hal ini bilangan segmen dan dislokasi dalam segmen tersebut. Kerana penggunaan segmen saiz yang berbeza, segmentasi adalah sama dengan pembahagian dinamik. Sekiranya tiada skema tindanan atau penggunaan memori maya, semua segmen program dimuatkan ke dalam memori untuk pelaksanaan. Perbezaannya berbanding dengan pembahagian dinamik ialah segmentasi boleh mengambil lebih daripada satu partition, dan partition itu tidak perlu bersebelahan. Segmentasi menyelesaikan masalah pemecahan dalaman, tetapi juga pembahagian dinamik, masalah perpecahan luaran kekal. Walau bagaimanapun, kerana proses dibahagikan kepada beberapa bahagian yang lebih kecil, pemecahan luaran biasanya lebih kecil. Tidak seperti paging yang tidak dapat dilihat oleh pengaturcara, segmentasi biasanya kelihatan dan sesuai untuk menganjurkan program dan data. Untuk tujuan pengaturcaraan modular, program atau data boleh dibahagikan kepada beberapa segmen yang lebih kecil. Kelemahan teknik ini adalah bahawa pengaturcara mesti mengetahui batasan saiz segmen maksimum. Kemudahan seterusnya menggunakan segmen saiz yang berbeza adalah bahawa tidak ada hubungan prospektif antara alamat logik dan fizikal. Sama seperti paging, teknik segmentasi mudah menggunakan jadual segmen untuk setiap proses dan senarai blok yang ada dalam ingatan utama.

Perbezaan Antara Paging dan Segmentasi

1. Konsep Paging dan Segmentasi

Paging menyampaikan ruang alamat maya dan fizikal, dan ruang memori sekunder pada blok (halaman) dengan panjang yang sama. Ini membolehkan ruang alamat virtual berterusan diperuntukkan kepada proses penyebaran (tidak semestinya diedarkan secara berterusan) di ruang alamat sebenar dan ingatan sekunder. Malah halaman, sebagai istilah, merujuk kepada ingatan dan bukannya objek logik yang dapat dilihat di peringkat program. Segmentasi menyampaikan ruang alamat virtual pada blok (segmen) yang secara langsung sesuai dengan objek di peringkat program. Oleh sebab itu, segmen itu tidak mempunyai panjang tetap, sehingga saiz segmen dapat diubah semasa pelaksanaan program. Oleh itu, perlindungan dan pembahagian mungkin di peringkat objek, dan terdapat proses yang boleh dilihat di mana pembahagian dilakukan.

2. Ciri-ciri Paging dan Segmentasi

Pemaju aplikasi tidak menyedari paging itu. Dia menulis program seolah-olah memori itu linear, dan sistem operasi dan pemproses mengambil berat tentang pembahagian dan menukarnya ke alamat maya. Programmer mengenai sistem segmentasi, bagaimanapun, menyenaraikan dua bahagian alamat, segmen dan halaman dalam program mereka. Semua halaman mempunyai saiz yang sama manakala segmen berbeza. Segmentasi mempunyai banyak ruang alamat linier, dan paging hanya satu. Segmen membenarkan pemisahan logik dan perlindungan komponen aplikasi, dan halaman tidak.

3. Kelebihan Paging dan Segmentasi

Paging, yang telus kepada pengaturcara, menghapus pemecahan luaran dan dengan itu memastikan penggunaan memori yang berkesan. Potongan-potongan yang masuk dan keluar dari memori utama adalah tetap dan saiznya yang sama, maka adalah mungkin untuk mengembangkan algoritma pengurusan memori yang canggih yang mengeksploitasi tingkah laku program. Segmentasi boleh dilihat oleh pemaju dan mempunyai keupayaan untuk menguruskan pertumbuhan struktur data, modularity, dan sokongan untuk pertukaran dan perlindungan.

Paging vs. Segmentation: Carta Perbandingan

Paging

Segmentation

saiz halaman tetap segmen tidak ditetapkan dalam saiz
tidak dapat dilihat untuk pengaturcara boleh dilihat untuk pengaturcara
satu ruang alamat linier pelbagai ruang alamat linier
tidak membenarkan pembahagian logik dan perlindungan komponen aplikasi membolehkan

Ringkasan Paging dan Segmentasi

  • Paging didasarkan pada pengedaran ruang alamat keseluruhan pada blok tetap-panjang yang dikendalikan sebagai kuantisasi memori. Tambahan pula, adalah perlu untuk menyediakan satu cara untuk menandakan memori yang tersedia yang boleh dilaksanakan dengan kehadiran "header" setiap halaman yang menunjukkan status halaman (senarai terluas global di mana setiap nod menunjuk ke halaman percuma seterusnya) atau oleh meletakkan alamat halaman percuma dalam array global, yang biasanya merupakan penyelesaian yang paling teruk.
  • Segmentasi bermakna membahagikan ruang alamat menjadi segmen yang telah menandakan hak akses dengan jelas kepada pemproses MMU. Di dalam segmen ini, proses memperuntukkan memori sebanyak yang mereka perlukan, tetapi masalah pengurusan memori adalah bagaimana menyediakan peruntukan sedemikian rupa di mana ia dapat memelihara memori blok berterusan yang cukup besar yang mungkin memerlukan sedikit masa.