Manajemen Memori Pemartisan Statis Edi Sugiarto, S.Kom
Pendahuluan Organisasi dan manajemen memori sangat mempengaruhi kinerja komputer. Manajemen memori melakukan tugas penting dan kompleks yang berkaitan dengan hal-hal berikut : Memori utama diinginkan agar dapat menampung proses sebanyak mungkin. Mengupayakan agar proses tidak dibatasi kapasitas memori fisik di sistem komputer.
Manajemen Memori Manajemen memori mempunyai fungsi sbb : Mengelola informasi mengenai memori yang digunakan dan yang tidak digunakan sistem Mengalokasikan memori ke proses yang memerlukan Mendealokasikan memori dari proses telah selesai menggunakan Mengelola swapping antara memori utama dan hardisk
Manajemen memori pada sistem Multiprogramming Dengan banyaknya ruang alamat milik proses- proses pada memori utama maka SO harus mampu mendukung dua kebutuhan yang saling bertentangan yakni : Pemisahan ruang, alamat, melakukan proteksi memori Pemakaian bersama memori hingga memungkinkan proses-proses bekerja sama mengakses daerah memori bersama
Klasifikasi Manajemen Memori Deitel[DEI-90] menunjukkan skema klasifikasi manajemen memori sbb : (1) Sistem Khusus Pemakai Tunggal Sistem Multiprogramming Dengan memori nyata Sistem multiprogramming Dengan memori maya Multiprogramming dengan Pemartisan statis (4) Multiprogramming Dengan pemartisan dinamis (5) Sistem paging murni (6) Sistem segmentasi murni (7) Kombinasi Paging dan segmentasi (2) Ditempatkan Secara absolute (3) Dapat direlokasi
Teknik manajemen memori (1), (2), (3), (4) merupakan pengelolaan kapasitas memori sebatas memori fisik yang tersedia. Teknik manajemen memori (5), (6), (7) dapat digunakan untuk mengakali kapasitas memori yang terbatas.
Manajemen memori berdasarkan keberadaan swapping Manajemen memori berdasarkan keberadaan swapping terbagi menjadi dua yaitu : Manajemen tanpa swapping Tanpa kemampuan memindahkan citra proses antara memori utama dan harddisk selama eksekusi Manajemen dengan swapping Dengan kemampuan memindahkan citra proses antara memori utama dan harddisk selama eksekusi.
Manajemen memori berdasarkan alokasi memori Terbagi menjadi 2 : Alokasi memori berurutan (kontigu) Masing-masing proses menempati satu blok tunggal lokasi memori yang berurutan Keunggulan : sederhana tidak terbentuk lubang memori bersebarang proses dieksekusi dengan cepat karena berurutan Kelemahan : Memboroskan memori Tidak dapat memuat proses jika tidak ada memori yang cukup pada memori yang berurutan.
Alokasi memori tidak berurutan (non-kontigu) Dalam alokasi memori tidak berurutan program dibagi menjadi blok-blok atau segmen. Segmen program ditempatkan di memori dalam potongan2 tanpa perlu saling berdekatan. Biasanya teknik ini digunakan pada sistem memori maya Keuntungan : Sistem dapat memanfaatkan memori utama secara lebih efisien Sistem operasi mampu memuatkan proses bila jumlah total lubang memori cukup untuk memuat proses yang akan dieksekusi
Kelemahan : Memerlukan pengendalian yang lebih rumit dan sulit Memori dapat menjadi banyak lubang tersebar (memori yang tidak terpakai bersebaran)
Hirarki Organisasi Memori Chace Memory Memori Utama Memori Sekunder
Chace memory merupakan penyimpanan berkecepatan tinggi yang lebih cepat dibanding memori utama Dengan chace memory bagian program yang akan digunakan dicopy dulu ke chace sebelum dieksekusi. Di chace memory instruksi dapat di proses lebih cepat dibanding bila berada pada memory utama. Penggunaan chace memory mempunyai alasan yang dikemukakan oleh denning yaitu : eksekusi program pada suatu interval waktu tertentu biasnya mengupul di satu lokasi kecil.
Manajemen memori tanpa swapping Terdiri dari : Manajemen memori untuk monoprogramming Manajemen memori untuk multiprogramming dengan pemartisian statiss
Monoprogramming Dalam sistem monoprogramming sederhana sistem hanya mengijinkan satu proses berjalan pada satu waktu. Manajemen memori monoprogramming sederhana memiliki ciri-ciri berikut : Hanya satu proses pada satu saat Hanya satu proses menggunakan semua memori Pemakai memuatkan program ke seluruh memori dari disk atau tape Program mengamil kendali seluruh mesin.
Karena hanya terdapat satu proses pada satu waktu dan menguasai seluruh sistem maka alokasi memori dilakukan secara berurutan. Teknik ini digunakan sampai sekitar 1960, dan kemudian ditinggalkan.
Tiga cara organisasi memori satu proses tunggal Sistem Operasi di RAM Sistem Operasi di ROM Sistem Operasi di RAM Program pemakai di RAM Program pemakai di RAM Program pemakai di RAM Memori tak dipakai Memori tak dipakai Memori tak dipakai Device driver di ROM = RAM = ROM
Proteksi pada monoprogramming sederhana Pada monoprogramming pemakai memiliki kendali penuh terhadap seluruh memori utama: Memori terbagi menjadi tiga bagian yaitu: Bagian yang berisi rutin-rutin sistem operasi Bagian yang berisi program pemakai Bagian yang tidak digunakan. Masalah proteksi di monoprogramming adalah cara memproteksi rutin-rutin SO dari penghancuran program pemakai.
Cara ini diimplementasikan dengan menggunakan satu register batas (boundary register) Sistem Operasi di RAM Program pemakai Memori tak dipakai Register Batas
Multiprogramming dengan Pemartisan Statis Mengapa multiprogramming digunakan? Mempermudah pemrograman Agar dapat memberikan layanan interaktif ke beberapa pengguna secara simultan. Efisiensi penggunaan sumber daya Dapat mengerjakan sejumlah proses secara simultan.
Pada partisi-partisi tsb sejumlah proses di tempatkan. Multiprogramming dapat dilakukan dengan pemartisan statis yakni : memori dibagi menjadi sejumlah partisi tetap. Pada partisi-partisi tsb sejumlah proses di tempatkan. Ukuran partisi dalam pemartisan statis terbagi menjadi dua : Pemartisian menjadi partisi berukuran sama Pemartisian menjadi partisi berukuran beda
Pemartisian menjadi partisi berukuran sama Yaitu ukuran semua partisi dalam memori adalah sama Beberapa proses yang ukuranya kurang atau sama dengan ukuran partisi dimasukkan ke sembarang partisi yang tersedia. Kelemahan Jika program ukuranya lebih besar dibanding partisi yg tersedia, maka tidak dapat dimuatkan. Jika program yang sangat kecil dibanding ukuran partisi yang ditempatkan, maka banyak ruang tidak dipakai yang diboroskan (fragmentasi internal).
Partisi 1 100 Kbyte Partisi 2 100 Kbyte Partisi 3 100 Kbyte Partisi 4 100 Kbyte Partisi 5 100 Kbyte Partisi 6 100 Kbyte Sistem Operasi
Pemartisian menjadi partisi berukuran beda Yaitu ukuran semua partisi dalam memori berbeda Cara ini digunakan untuk memperbaiki kelemahan dalam pemartisan statis dengan ukuran partisi tetap.
Sistem Operasi Partisi 1 Partisi 2 Partisi 3 200 Kbyte 100 Kbyte 100 Kbyte 150 Kbyte 50 Kbyte Partisi 4 Partisi 5
Strategi Penempatan Program ke Partisi Strategi penempatan pada pemartisian berukuran sama. Penempatan proses ke memori dilakukan secara mudah karena dapat dipilih sembarang partisi yang kosong. Strategi penempatan pada pemartisian berukuran beda. Terdapat dua strategi penempatan ke partisi Satu antrian untuk tiap partisi Satu antrian untuk seluruh partisi
Satu antrian untuk tiap partisi Proses ditempatkan ke partisi paling kecil yang dapat memuatnya. Keuntungan Teknik ini meminimalkan pemborosan memori Kelemahan Dapat terjadi antrian panjang di suatu partisi sementara antrian untuk partisi lain kosong
Sistem Operasi Partisi 1 Partisi 2 Partisi 3 200 Kbyte 100 Kbyte 100 Kbyte 150 Kbyte 50 Kbyte Partisi 4 Partisi 5
Satu antrian untuk seluruh partisi Proses ditempatkan ke satu antrian tunggal untuk semua partisi. Proses segera ditempatkan dipartisi paling kecil sedang bebas yang dapat memuat. Keuntungan Lebih fleksibel serta implementasi dan operasi lebih minimal karena pengelolaan dalam satu antrian Kelemahan Proses dapat ditempatkan dipartisi yang banyak diboroskan, yaitu proses kecil di partisi sangat besar.
Sistem Operasi Partisi 1 Partisi 2 Partisi 3 200 Kbyte 100 Kbyte 100 Kbyte 150 Kbyte 50 Kbyte Partisi 4 Partisi 5
Kelemahan dalam teknik ini dapat diatasi dengan prosedur pemindahan. Pemindahan dilakukan bila proses besar akan masuk memori tetapi hanya tersedua partisi kecil sementara proses kecil menempati partisi besar. Pemartisian memori menjadi partisi- partisi secara statis mempunyai dua masalah Relokasi proteksi.
Relokasi Merupakan masalah penempatan proses sesuai alamat fisik sehubungan alamat partisi memori saat proses ditempatkan. Proses dapat ditempatkan pada partisi berbeda menurut keadaan sistem saat itu. Yang harus diperhatikan dalam relokasi Penambahan alamat awal partisi. Saat kompilasi, linker harus memasukkan satu daftar atau bit-map binner untuk memberitahu program yang alamatnya direlokasi. Linker juga mencatat opcode dan item yang tidak perlu direlokasi.
Proteksi pada multiprgramming Proteksi pada multiprogramming merupakan jaminan bahwa memori yang digunakan suatu proses tidak dikuasai oleh proses lain pada partisi yang berbeda. Dalam lingkungan multiprogramming dikhawatirkan proses menggunakan dan memodifikasi daerah memori yang dikuasai proses lain Jika hal tersebut diatas terjadi, maka proses lain dapat terganggu dan hasil yang diperolehnya dapat menjadi kacau.
Fragmentasi pada Pemartisian Tetap Yaitu penyiaan/pemborosan memori yang akan terjadi pada setiap organisasi penyimpanan. Fragmentasi pada pemartisian tetap terjadi adalah Fragmentasi internal Proses tidak dapat mengisi penuh partisi yag telah ditetapkan untuk proses Fragmentasi eksternal Partisi tidak digunakan karena ukuran partisi lebih kecil dibanding ukuran proses yang menunggu di antrian sehingga tidak digunakan.