Manajemen Memori

MANAJEMEN MEMORI A. Berdasarkan keberadaan swapping : 1. Manajemen tanpa swapping.

Manajemen memori tanpa pemindahan citra proses antara memori utama dan disk selama ekseskusi. 2. Manajemen dengan swapping. Manajemen memori dengan pemindahan citra proses antara memori utama dan disk selama ekseskusi. B. Manajemen Memori Berdasarkan Alokasi Memori terdapat dua cara menempatkan informasi ke dalam memori kerja 1. Alokasi Memori Berurutan (contigouos Allocation) - Pada alokasi memori berurutan, setiap proses menempati satu blok tunggal lokasi memori yang berurutan. - Kelebihan : sederhana, tidak ada rongga memory bersebaran, proses berurutan dapat dieksekusi secara cepat. - Kekurangan : memori boros, tidak dapat disisip apabila tidak ada satu blok memori yang mencukupi. 2. Alokasi Memori Tak Berurutan (Non Contiguous Allocation) - Program / proses ditempatkan pada beberapa sagmen berserakan, tidak perlu saling berdekatan atau berurutan. biasanya digunakan untuk lokasi memori maya sebagai lokasi page-page. - Kelebihan : sistem dapat memanfaatkan memori utama secara lebih efisien, dan system operasi masih dapat menyisip protes bila jumlah lubang-lubang memori cukup untuk memuat proses yang akan dieksekusi. - Kekurangan : memerlukan pengendalian yang lebih rumit dan memori jadi banyak berserakan tidak terpakai. Terdapat 2 manajemen memori: a. manajemen memori statis Dengan pemartisian statis, jumlah, lokasi, dan ukuran prosesdi memori tidak beragam sepanjang waktu secara tetap. b. manajemen memori dinamis Dengan pemartisian dinamis, jumlah, lokasi, dan ukuran proses di memori dapat berseragam sepanjang waktu secara dinamis. MANAJEMEN MEMORI PEMARTISIAN STATIS Kondisi tanpa swapping : a. Monoprogramming. Merupakan manajemen memori paling sederhana, sistem komputer hanya mengijinkan satu program/pemakai berjalan pada satu waktu. Semua sumber daya sepenuhnya dikuasi proses yang sedang berjalan. b. Multiprogramming dengan pemartisian statis Multiprogramming dapat dilakukan dengan pemartisian statis, yaitu memori dibagi menjadi beberapa sejumlah partisi tetap. Pada partisi-partisi tersebut proses-proses ditempatkan. *MONOPROGRAMMING : 1. Hanya terdapat satu proses pada satu saat, sehingga proses baru akan menimpa proses lama yang sudah selesai eksekusi. 2. Hanya satu proses mengunakan semua memori. 3. Pemakai memusatkan program keseluruh memori dari disk atau tape.

seperti Intel 8051. Pemartisian menjadi partisi berukuran sama (ukuran semua partisi memori sama). Untuk mengatasinya Sistem operasi harus diproteksi dari modifikasi program pemakai. Ketika konsep multiprogramming digunakan. Efisiensi penggunaan sumber daya. Program mengambil kendali seluruh mesin. MANAJEMEN MEMORI MULTIPROGRAMMING melibatkan banyak pemakai secara simultan sehingga di memori akan terdapat lebih dari satu proses bersamaan.Sistem ini biasanya untuk mengendalikan satu alat sehingga menjadi bersifat intelejen (intelegent devices) dalam menyediakan satu fungsi spesifik.Sistem-sistem tempelan menggunakan mikroprosesor kecil. . e. . Pemakaian bersama memori. Oleh karena itu dibutuhkan sistem operasi yang mampu mendukung dua kebutuhan tersebut. pemakaian CPU dapat ditingkatkan. Dapat mengerjakan sejumlah job secara simultan. Karena hanya satu fungsi spesifik. Untuk itu diperlukan kemampuan mempunyai lebih dari satu proses dimemori agar memperoleh kinerja yang baik. dan sebagainya. PEMARTISIAN STATIS BERDASARKAN UKURAN Partisi-partisinya terbagi dua : 1. Memungkinkan proses-proses bekerja sama mengakses daerah memori bersama. maka DMA dapat meningkatkan efisiensi sistem.4. b. 2. Bila pada multiprogramming maka proses tersebut diblocked (hanya DMA yang bekerja) dan proses lain mendapat jatah waktu pemroses. MASALAH PROTEKSI DI MONOPROGRAMMING Merupakan cara memproteksi rutin sistem operasi dari penghancuran program pemakai. Program pemakai dapat tersesat sehingga memanipulasi atau menempati ruang memori rutin sistem operasi. d. Mempermudah pemogram. MULTIPROGRAMMING pemartisian statis.Masih dipakai untuk sistem kecil yaitu sistem tempelan (embedded system) yang menempel atau terdapat disistem lain. Pemrogram dapat memecah program menjadi dua proses atau lebih. Aktivitas program pemakai ini dapat merusak sistem operasi. c. Proteksi memori dengan isolasi ruang-ruang alamat secara disjoint (terpisah). Terdapat beberapa alasan : a. yaitu: Beberapa proses yang ukurannya kurang atau sama dengan ukuran partisi dimasukkan ke sembarang . Melakukan dua aktivitas : 1. MONOPROGRAMMING : . Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses kecil. Proteksi ini diimplementasikan menggunakan satu register batas (boundary register) dipemroses. dapat diprogram di mikroprosesor dengan memori kecil (1-64 Kb). Agar dapat memberi layanan interaktif ke beberapa orang secara simultan.Setiap kali program pemakai mengacu alamat memori dibandingkan register batas untuk memastikan proses pemakai tidak merusak sistem operasi. yaitu tidak melewati nilai register batas.

b.partisi yang tersedia. Kelemahan : dapat terjadi antrian panjang disuatu partisi sementara antrian partisi-partisi lain kosong. Strategi penempatan pada pemartisian menjadi partisi-partisi berukuran berbeda. Proses-proses diantrikan di satu antrian tunggal untuk semua partisi. Partisi dapat tidak digunakan karena ukuran partisi lebih kecil dibanding ukuran proses yang menunggu di antrian. Mendealokasikan memori dari proses yang telah selesai. Proses ditempatkan ke partisi paling kecil yang dapat memuatnya . 2. b. Keunggulan : Lebih fleksibel serta implementasi dan operasi lebih minimal karena hanya mengelola satu antrian. Strategi penempatan pada pemartisian menjadi partisi-partisi berukuran sama. Satu antrian untuk tiap partisi (banyak antrian untuk seluruh partisi). Mengelola informasi memori yang dipakai dan tidak dipakai. Keuntungan : teknik ini adalah meminimalkan pemborosan memori. Pemartisian menjadi partisi-partisi berukuran berbeda. maka tidak dapat dimuatkan. disebut fragmentasi internal. sehingga tidak digunakan Fungsi Manajemen memori: 1. yaitu ukuran semua partisi memori adalah berbeda Strategi penempatan program ke partisi DESKRIPSI : a. 2. tidak dapat dijalankan. Proses tidak mengisi penuh partisi yang telah ditetapkan untuk proses. yaitu proses kecil ditempatkan di partisi sangat besar. Untuk overlay diperlukan sistem operasi yang mendukung swapping.Bila program berukuran lebih besar dibanding partisi yang tersedia. Penempatan proses ke memori dilakukan secara mudah karena dapat dipilih sembarang partisi yang kosong. Fragmentasi pada pemartisian statis Fragmentasi yaitu : Penyiaan/pemborosan memori akan terjadi pada setiap organisasi penyimpanan. Fragmentasi internal. Fragmentasi ekstenal. Kelemahan : . . Proses segera ditempatkan di partisi bebas paling kecil yang dapat memuat. Kelemahan : Proses dapat ditempatkan di partisi yang banyak diboroskan. Kelemahan ini dapat dikurangi dengan partisi-partisi tetap berukuran berbeda. Satu antrian untuk seluruh partisi. Mengalokasikan memori ke proses yang memerlukan. Pemogram harus mempersiapkan overlay sehingga hanya bagian program yang benarbenar dieksekusi yang dimasukkan ke memori utama dan saling bergantian.Untuk program yang sangat kecil dibanding ukuran partisi yang ditetapkan. . Fragmentasi pada pemartisian tetap terdiri dari: a. maka banyak ruang yang tak dipakai yang diboroskan. 3.

program/proses berada di dalam disk. Binding (ikatan) bisa dilakukan ulang selama proses –Hal ini untuk memungkinkan pemindahan proses dari satu lokasi ke lokasi lain selama run. Chace memory merupakan penyimpan berkecepatan tinggi lebih cepat dibanding memori utama.Address binding adalah menempatkan address relatif program/proses ke dalam address fisik meori (real memory address). 2. load atau eksekusi Tahapan Running Program 1. saat di-load address-address disubstitusi dengan alamat fisik berdasar relokasi proses yang diterima. Jika terjadi perubahan relokasi maka code di-load ulang. Jika lokasi dari proses sudah diketahui sebelumnya maka saat kompilasi address-address instruksi dan data ditentukan dengan alamat fisik. 2. Perlu adanya dukungan hardware untuk pemetaan address – Contoh : base register dan limit register . 3. Tahapan link & load : object module di-link dengan object module lain menjadi load module (execution code) kemudian di-load ke memori untuk dieksekusi. . Tahapan Kompilasi : source program (source code) dikompilasi menjadi object module (object code). Chace memory lebih mahal dibanding memori utama. Jika terjadi perubahan pada lokasi tersebut maka harus di rekompilasi. sehingga kapasitas cache relatif kecil. Pemakaian memori dua tingkat. 2. Dapat berlangsung dalam salah satu tahapan : kompilasi. Mengelola swapping antara memori utama dan disk. dan pada saat dieksekusi ia perlu berada pada suatu lokasi dalam memori fisik. Code hasil kompilasi masih menunjuk address-address secara relatif.4. Address Binding Saat Load 1. 3. 2. 2. Deskripsi Hirarki memori : 1. menggunakan cache memory yang dapat meningkatkan kinerja dan utilisasi memori secara dinamik.Sebelum eksekusi. Address Binding Saat Kompilasi 1. Address Binding Saat Eksekusi 1. Address Binding . Tahapan eksekusi : mungkin juga dilakukan dynamic linking dengan resident library.

Sign up to vote on this title
UsefulNot useful