terdapat 5 requirement manajemen memori, antara lain : Relocation, Protection, Sharing, Logical Organization , dan physical organization.
Requirement manajemen memori pada :
- Relocation : Programer tidak tahu di bagian mana program akan di taruh pada saat eksekusi , pada saat program dieksekusi , dimungkinkan program tersebut akan di swap ke disk dan kemudian diambil lagi dari disk untuk ditaruh di memori dengan lokasi yang berbeda dengan lokasi sebelumnya (terjadi relocation ). Relocation penting jika suatu program di load ke memori, maka alamat lokasi memori yang akan ditempati harus ditentukan. Alamat absolut pada program akan berubah ubah sebagai akibat adanya swapping dan compaction
- Protection : Suatu proses tidak boleh mengakses lokasi memori proses yang lain tanpa izin dan lokasi program di memori tidak tentu maka alamat mutlak pada saat di compile tidak diketahui.
- Sharing : Harus di mungkinkan suatu lokasi memori dapat diakses oleh lebih dari satu proses. Beberapa proses yang memerlukan data yang sama, maka tidak perlu setiap proses meng kopi data dari disk ke memori, cukup sebuah kopi saja.
- Logical Organization : Main memory dikelompokan secara linear atau berdimensi satu yang berupa ruang alamat yang terdiri dari deretan byte atau work. Sebagian besar program dibentuk dalam sebuah modul maka penempatan di memori tidak linear dan diperlukan pengaturan secara lojik.
- Physical Organization : Memory dikelompokan menjadi memori utama dan memori sekunder. diperlukan metode yang mengatur aliran data dari memori utama ke memori sekunder dan sebaliknya.
Beberapa teknik manajemen memori yang ada :
- Partisi (partisi tetap, partisi dinamis )
- Paging sederhana
- Segmentasi sederhana
- Virtual memory (paging, segmentasi)
Partisi Tetap
terdapat dua model dalam partisi tetap yaitu partisi berukuran sama dan partisi berukuran tidak sama
partisi berukuran sama :
- setiap proses yang ukurannya lebih kecil atau sama dengan ukuran partisi dapat menempati partisi tersebut
- jika semua partisi telah terisi, maka sistem operasi akan melakukan swap terhadap proses yang sudah tidak aktif
- penggunaan memori tidak efisien, misal : bila ukuran partisi adalah 8MB , maka program berukuran 2MB akan menyisakan ruang memori sebesar 6MB
partisi berukuran tidak sama :
- lebih baik dari partisi berukuran sama karena : penggunaan memori lebih efisien , tidak perlu overlay
Partisi Dinamis
jumlah partisi yang tidak tetap menggunakan variabel , ukuran partisi sama dengan ukuran proses yang akan menempatinya untuk pertama kali atau sesudah pemadatan (compaction) yang tidak akan terjadi fragmentasi internal
Paging Sederhana
paging sederhana dilakukan dengan cara :
Paging Sederhana
paging sederhana dilakukan dengan cara :
- membagi bagi memori menjadi bagian bagian kecil yang bersifat tetap dan ukurannya sama dan selanjutnya dinamakan frame
- membagi bagi proses menjadi bagian bagian kecil yang ukurannya sama dengan bagian bagian memori yang selanjutnya dinamakan page
sistem operasi menggunakan page tabel untuk mencatat alokasi memori
Apa perbedaan partisi tetap dengan paging sederhana ? pada paging sederhana ukuran partisi lebih kecil, program boleh menempati lebih dari satu partisi, dan letak program dalam memori tidak boleh berurutan
dan Apa persamaan partisi tetap dengan paging sederhana ? alamat lojik sama sama merupakan nomor page ditambah offset, satu offset merupakan satu alamat
Apa itu Paging Sederhana ?
Program dan data dibagi-bagi dalam sejumlahsegment• Ukuran setiap segment boleh berbeda-beda• Panjang segment mempunyai batasan maksimum• Format alamat lojik terdiri dari 2 bagian yaitunomor segment dan offset• Segment table terdiri
dari nomor segment,panjang segment, dan awal alamat fisik• Segmentasi sederhana identik dengan partisidinamis,
karena ukuran segment berbeda-beda