Manajemen Memori di Sistem Operasi: Memori Berurutan, SwappingFragmentasi
⚡ Ringkasan Cerdas
Manajemen Memori adalah proses sistem operasi yang mengontrol dan mengkoordinasikan memori komputer, menetapkan blok-blok memori ke program yang sedang berjalan untuk mengoptimalkan kinerja. tracks setiap lokasi memori, memindahkan proses antara memori utama dan disk, dan melindungi proses satu sama lain.
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 berpindah bolak-balik antara memori utama dan disk eksekusi. Ini membantu sistem operasi untuk menjaga agar track dari setiap lokasi memori, terlepas dari apakah lokasi tersebut dialokasikan ke suatu proses atau masih kosong.
Mengapa Menggunakan Manajemen Memori?
Berikut adalah alasan mengapa manajemen memori diperlukan:
- 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.
- Tracks setiap kali inventaris dibebaskan atau tidak dialokasikan, dan memperbarui status sesuai dengan itu.
- Ini mengalokasikan ruang untuk rutinitas aplikasi.
- Hal ini juga memastikan bahwa aplikasi-aplikasi tersebut tidak saling mengganggu.
- Membantu melindungi berbagai proses agar tidak saling mengganggu.
- Ini menempatkan program dalam memori sehingga memori digunakan secara maksimal.
Teknik Manajemen Memori
Berikut 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 dicadangkan untuk sistem operasi, tersedia untuk satu aplikasi. Misalnya, sistem operasi MS-DOS mengalokasikan memori dengan cara ini. Sistem tertanam juga berjalan hanya dengan satu aplikasi.
Alokasi yang Dipartisi
Metode 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 dimulai dan membatalkan alokasinya saat 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 Swap?ping?
Menukarping adalah metode di mana suatu proses harus ditukar sementara dari memori utama ke penyimpanan cadangan. Proses tersebut nantinya akan dikembalikan ke memori untuk melanjutkan eksekusi.
Penyimpanan cadangan adalah hard disk atau perangkat penyimpanan sekunder lainnya yang harus cukup besar untuk menampung salinan semua citra memori untuk semua pengguna. Perangkat ini juga mampu menawarkan akses langsung ke citra memori tersebut.
Manfaat Swapping
Berikut adalah manfaat/keuntungan utama dari swap.ping:
- Ia menawarkan tingkat multiprogramming yang lebih tinggi.
- Memungkinkan relokasi dinamis. Misalnya, jika pengikatan alamat pada waktu eksekusi digunakan, maka proses dapat ditukar ke lokasi yang berbeda. Jika tidak, dalam kasus pengikatan waktu kompilasi dan pemuatan, 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 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:
- Memori rendah - The Operasistem ting berada dalam memori jenis ini.
- Memori Tinggi – Proses pengguna disimpan di memori tingkat 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.
Berikut adalah berbagai skema alokasi partisi:
- Pertama Kali Dipasang: Dalam jenis pengaturan ini, partisi dialokasikan yaitu blok pertama yang cukup dari awal memori utama.
- Paling cocok: Proses tersebut dialokasikan ke partisi yang merupakan partisi terkecil yang memadai di antara partisi-partisi yang tersedia.
- Paling Cocok: Proses tersebut dialokasikan ke partisi yang merupakan partisi terbesar dan cukup tersedia di memori utama.
- Kesesuaian Berikutnya: Metode ini sebagian besar mirip dengan First Fit, tetapi Fit ini mencari partisi yang memadai pertama dari titik alokasi terakhir.
Apa itu Paging?
Paging adalah mekanisme penyimpanan yang memungkinkan sistem operasi untuk 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 agar sama dengan ukuran halaman untuk memaksimalkan pemanfaatan memori utama dan menghindari fragmentasi eksternal. Pager digunakan untuk akses lebih cepat ke data, dan ini adalah konsep logis.
Apa itu Fragmentasi?
Proses disimpan dan dikeluarkan dari memori, yang menciptakan ruang memori kosong yang terlalu kecil untuk digunakan oleh proses lain.
Setelah beberapa waktu, proses-proses tersebut tidak dapat dialokasikan ke blok memori karena ukurannya yang kecil, dan blok memori selalu tetap tidak terpakai. Hal ini disebut fragmentasi. Masalah jenis ini terjadi selama sistem alokasi memori dinamis ketika blok-blok kosong cukup kecil, sehingga tidak mampu memenuhi permintaan apa pun.
Dua jenis metode Fragmentasi adalah:
- Fragmentasi eksternal
- 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 sama dengan metode penomoran halaman. Satu-satunya perbedaan antara keduanya adalah bahwa segmen memiliki panjang yang bervariasi, sedangkan pada metode penomoran 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 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 dipindahkan. Program utama akan dimuat ke dalam memori dan akan dieksekusi. Pemuatan dinamis juga memberikan pemanfaatan ruang memori yang lebih baik.
Apa itu Tautan Dinamis?
Penautan (linking) adalah metode yang membantu sistem operasi untuk mengumpulkan dan menggabungkan berbagai modul kode dan data ke dalam satu file yang dapat dieksekusi. File tersebut dapat dimuat ke dalam memori dan dieksekusi. Sistem operasi dapat menautkan pustaka tingkat sistem ke dalam program yang menggabungkan pustaka tersebut pada saat pemuatan. Dalam metode penautan dinamis (dynamic linking), pustaka ditautkan pada saat eksekusi, sehingga ukuran kode program dapat 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 apa pun. | 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 perbedaan utama antara penautan statis dan penautan dinamis:
| Tautan Statis | Tautan Dinamis |
|---|---|
| Penautan statis digunakan untuk menggabungkan semua modul lain yang dibutuhkan oleh suatu program ke dalam satu kode yang dapat dieksekusi. Hal ini membantu sistem operasi mencegah ketergantungan saat runtime. | Saat menggunakan penautan dinamis, tidak perlu menautkan modul atau pustaka sebenarnya dengan program. Sebagai gantinya, ia menggunakan referensi ke modul dinamis yang disediakan pada saat kompilasi dan penautan. |


