MANAJEMEN MEMORI
Bagian sistem operasi yang mengatur memori disebut dengan memory manager. Pemakaian memori (manajemen memori dan organisasi) perlu dilakukan karena hal tersebut sangat mempengaruhi kinerja komputer, sehingga memiliki fungsi dan tugas penting dan kompleks yaitu berkaitan dengan : a. Memori utama sebagai sumber daya yang harus dialokasikasikan dan dipakai bersama di antara sejumlah proses yang aktif, sehingga dapat memanfaatkan pemroses dan fasilitas masukan/keluaran secara efisien, sehingga memori dapat menampung sebanyak mungkin proses. b. Upaya agar pemogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputer. 1. Manajemen Memori Sistem manajemen memori dapat dibagi kedalam dua kelas, yaitu : pemindahan proses (back and forth) diantara memori utama dengan disk selama eksekusi (swapping and paging) dan tidak ada pemindahan proses. Mempunyai beberapa fungsi, antara lain : a. Mengelola informasi memori yang dipakai dan tidak dipakai. b. Mengalokasikan memori ke proses yang memerlukan. c. Mendealokasikan memori dari proses yang telah selesai. d. Mengelola swapping antara memori utama dan disk. 2. Manajemen Memori Pada Sistem Multi Programming Untuk sistem komputer yang berukuran besar, membutuhkan pengaturan memori, karena dalam multiprogramming akan melibatkan banyak pemakai secara simultan sehingga di memori akan terdapat lebih dari satu proses bersamaan.Maka dibutuhkan sistem operasi yang mampu mendukung dua kebutuhan tersebut, meskipun hal tersebut saling bertentangan yaitu : a. Pemisahan ruang-ruang alamat. b. Pemakaian bersama memori. Manajer memori harus memaksakan isolasi ruang-ruang alamat tiap proses agar mencegah proses aktif atau proses yang ingin mengakses dan merusak ruang alamat proses lain. Manajer memori di lingkungan multiprogramming sekalipun melakukan dua hal yaitu : a. Proteksi memori dengan isolasi ruang-ruang alamat secara disjoint. b. Pemakaian bersama memori.
Memungkinkan proses-proses bekerja sama mengakses daerah memori bersama. Ketika konsep multiprogramming digunakan, pemakaian CPU dapat ditingkatkan. Sebuah model untuk mengamati pemakaian CPU secara probabilistic : CPU utilization = 1 - p n Dengan : * N menunjukkan banyaknya proses pada suatu saat, sehingga kemungkinanbahwa semua n proses akan menunggu menggunakan I/O (masalah CPU menganggur) adalah sebesar p n. Fungsi n sebagai degree of multiprogramming. * P menunjukkan besarnya waktu yang digunakan sebuah proses 3. Klasifikasi Manajemen Memori Klasifikasi manajemen memori diberikan Deitel [DEI-90].
(1),(2),(3) dan (4) merupakan pengelolaan untuk kapasitas memori sebatas memori fisik yang tersedia. Teknik-teknik ini tidak dapat digunakan untuk memuat program-program yang berukuran lebih besar disbanding kapasitas fisik memori yang tersedia.(5),(6) dan (7) dapat digunakan untuk mengakali kapasitas memori yang terbatas sehingga dapat dijalankan program yang ukurannya lebih besar dibanding kapasitas memori fisik yang tersedia. Manajemen memori berdasarkan keberadaan swapping : a. Manajemen tanpa swaping. Manajemen memori tanpa kemamuan memindahkan citra proses Antara memori utama dan hardisk selama eksekusi. b. Manajemen memori dengan swaping. Manajemen memori dengan kemampuan memindahkan citra proses Antara memori utama dan hardisk selama eksekusi. Manejemen memori berdasarkan alokasi memori : a. Alokasi memori berurutan (kontinyu). Masing-masing proses menempati satu blok tunggal lokasi memori yang berurutan. b. Alokasi memori tidak berurutan. Program dibagi menjadi beberapa blok. Blok-blok program ditempatkan di memori dalam potongan- potongan tanpa perlu saling berdekatan. Teknik ini biasa digunakan pada sistem memori maya sebagai alokasi page-page dilakukan secara global. 4. Manajemen Memori Tanpa Swapping Manajemen memori tanoa swapping terdiri dari : a. Manajemen memori untuk monoprogramming b. Manajemen memori untuk multiprogramming dengan pemartisisan statis 5. Monoprogramming Manajemen memori yang paling sederhana. Sistem computer hanya mengijinkan satu proses berjalan pada satu waktu. Semua sumber daya sistem komputer sepenuhnya dikuasai oleh proses yang sedang berjalan karena merupakan satu-satunya proses yang berjalan. Ciri-ciri : a. Hanya satu proses pada satu saat b. Hanya satu proses menggunakan semua memori c. Pemakai memuat program ke seluruh memori dari disk atau tape d. Program mengambil kendali seluruh mesin 6. Multiprogramming dengan Pemartisian Statis Alasan mengapa multiprogramming digunakan : a. Mempermudah pemorgram b. Agar dapat memberi layanan interaktif ke beberapa orang secara simultan c. Efisiensi Penggunaan Sumber daya. Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses kecil e. Dapat mengerjakan sejumlah proses secara simultan Multiprogramming dapat dilakukan dengan pemartisian statis, yaitu memori dibagi menjadi sejumlah partisi tetap. Pemartisian statis berdasarkan ukuran partisinya, yaitu : a. Pemartisian menjadi partisi-partisi berukuran sama, yaitu ukuran semua partisinya sama. Beberapa proses yang ukurannya kurang atau sama dengan ukuran partisi dimasukkan ke sembarang partisi yang tersedia. Kelemahan : Bila program berukuran lebih besar dari partisi yang tersedia maka program tidak akan pernah dijalankan dan untuk program yang ukurannyajauh lebih kecil disbanding ukuran partisi maka banyak ruang yang tidak dipakai yang diboroskan, disebut fragmentasi internal. b. Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu ukuran semua partisi memori berbeda. Kelemahan pada (a) dapat diatasi oleh pemartisian ini. 7. Strategi Penempatan Program ke Partisi a. Pemartisian berukuran sama. Penempatan partisi dapat dilakukan secara mudah karena dapat dipilih sembarang partisi yang kosong. b. Pemartisian berukuran berbeda. 1). Satu antrian untuk tiap partisi (banyak antrian untuk seluruh partisi). Proses ditempatkan ke partisi paling kecil yang dapat memuatnya. Keunggulan : meminimalkan pemborosan. Kelemahan : dapat terjadi antrian panjang pada satu partisi sedangkan partisi yang lain kosong. 2). Satu antrian tunggal untuk seluruh partisi. Proses segera ditempatkan di partisi paling kecil dan sedang bebas yang dapat memuatnya. Keunggulan : Lebih fleksibel serta impelemtasi dan operasi lebih minimal karena hanya mengelola satu antrian. Kelemahan : Proses dapat ditempatkan di partisi yang banyak diboroskan, yaitu proses kecil ditempatkan di partisi yang besar. 8. Masalah Pemartisian Memori menjadi Partisi-partisi Statis a. Relokasi adalah masalah penempatan proses sesuai alamat fisik sehubungan alamat partisi memori saat peroses ditempatkan. Proses dapat ditempatkan pada partisi-partisi berbeda menurut keadaan sistem saat itu. Pengalamatan fisik secara absolut untuk proses tidak dapat dilakukan. Solusi : Sistem operasi menambahkan alamat awal partisi. Masalah yang ditimbulkan : menimbulkan masalah proteksi terhadap memori. Program tidak terkendali selalu mampu membangun instruksi baru dan meloncati. Tidak ada cara untuk menghentikan jika program membaca atau menulis word di memori partisi lain. Masalah relokasi dan proteksi tidak dapat dipisahkan, diperlukan satu solusi tunggal mengatasi kedua masalah. b. Proteksi pada Multiprogramming. Masalahnya adalah bekerja dengan banyak proses di saat sistem secara bersamaan dikhawatirkan proses akan menggunakan atau memodifikasi daerah yang dikuasai proses lain (yang bukan menjadi haknya). Bila kejadian ini terjadi, maka proses lain dapat terganggu dan hasil yang diperolehnya dapat menjadi kacau. Solusi : Menggunakan dua register, yaitu base register dan limit register. Base register diisi alamat awal partisi dan limit register diisi panjang partisi. Setiap alamat yang dihasilkan secara otomatis ditambah nilai base register. Intruksi yang mengacu pada alamat yang melebihi limit register akan menimbulkan trap yang memberitahu sistem operasi telah terjadi pelanggaran pengaksesan memori. Keunggulan : alamat tidak perlu dimodifikasi dan setiap intruksi dapat diperiksa agar tidak mengakses melewati batas limit register. 9. Fragmentasi Fragmentasi yaitu pemborosan memori akan terjadi pada setiap organisasi penyimpanan. Fragmentasi pada pemartisian tetap : a. Fragmentasi internal Proses tidak mengisi penuh partisi yang telah ditetapkan untuk proses. b. Fragmentasi eksternal Partisi tidak digunakan karena ukuran partisi lebih kecil disbanding ukuran proses yang menunggu di antrian sehingga tidak digunakan

Tidak ada komentar:
Posting Komentar