Memory Management

Anda mungkin juga menyukai

Anda di halaman 1dari 2

Memory management

Jenis-jenis
I. Single User Contiguous
Sebuah program mengisi keseluruhan memori hingga proses selesai, kemudian
memori akan dibersihkan untuk kemudian diisi oleh program selanjutnya. Apabila
ukuran dari program yang akan dieksekusi melebihi ukuran dari RAM maka
program tersebut tidak akan dieksekusi.

II. Fixed Part Partitions / Static Partitions


Untuk menangani beberapa program dalam satu waktu, memori dibagi menjadi
beberapa partisi yang masing-masing dialokasikan untuk menangani suatu proses
atau job. Semua partisi disimpan dalam sebuah Partition Memory Table (PMT)
untuk melacak penggunaan dari setiap partisi tersebut. PMT berisi informasi
mengenai ukuran partisi, alamat, instruksi akses, dan status. Ketika status dari
suatu partisi berubah dari busy menjadi free maka partisi tersebut dapat digunakan
untuk proses selanjutnya. Ukuran partisi ini bersifat statis yang artinya tidak dapat
diubah hingga melakukan reboot pada sistem.

III. Dynamic Partitions


Dynamic partitions memiliki kesamaan dengan static partitions dimana memori
dibagi menjadi beberapa partisi namun menyesuaikan dengan ukuran yang
diminta ketika saat dalam proses loading sehingga tidak ada memori yang
terbuang dalam partisi.

Alokasi
I. First Fit Allocation
Program dialokasikan pada partisi pertama dengan kapasitas yang mencukupi
tanpa memperdulikan sisa memori yang terbuang dari partisi yang digunakan.

II. Best Fit Allocation


Alokasi program dilakukan dengan mencari partisi terkecil terlebih dahulu dan
kemudian mencari partisi dengan kapasitas yang mencukupi sehingga proses ini
memakan waktu lebih lama ketimbang first fit allocation namun lebih efisien.

III. Deallocation
Ketika program sudah selesai diproses maka program tersebut akan dihapus agar
memori tersebut dapat digunakan untuk program selanjutnya. Pada static
partitions ketika program dihapus maka kondisi partisi akan tetap dalam keadaan
awalnya, namun pada dynamic partitions memiliki kendala dimana ketika
program dihapus dari memori maka partisi memori yang ada cenderung akan
bergabung dengan partisi yang lainnya.
IV. Page Memory Allocation
Membagi job menjadi beberapa bagian kecil dengan size yang serupa. Bagian dari
sebuah disk disebut dengan sectors atau block dan bagian dari main memory
disebut dengan page frames. Sebelum mengeksekusi program memory manager
akan menentukan berapa banyak page dalam sebuah program dan mengalokasikan
cukup page frames kosong di memori utama sehingga dapat memasukkan seluruh
pages ke dalamnya. Memory block dapat disimpan poada page frame yang
tersedia secara acak atau tidak berdekatan. Untuk melacak job yang disimpan dapa
page frame yang berbeda, maka digunakan tiga buah tabel yang disimpan pada
main memory.
Tabel pertama adalah job table yang berisi job size atau ukuran dari job dan PMT
location. PMT berisi informasi penting mengenai page number, dan page frame number
yang menunjukkan alamat dari memori page frame. Tabel terakhir adalah memory
map table berisi informasi dari kondisi setiap page frame.

V. Demand Paging
Sama seperti page memory allocation namun pages hanya akan dimasukkan
kedalam memori ketika dibutuhkan saja. PMT pada demand paging sama seperti
PMT pada page memory allocation dengan tiga kolom tambahan yakni status
yang menunjukkan apakah page sudah ada dalam memori, modified yang
menunjukkan apakah page mengalami perubahan, dan referenced apakah page
telah dirujuk sebelumnya.

VI. Segmented Memory Allocation


Segmented memory allocation membagi job menjadi segment terpisah yang
mencerminkan sifat dan structure dari code. Bekerja dengan cara yang sama
seperti demand paging dan apabila pada demand paging memiliki tabel page map
table maka pada segmented memory allocation tabel berupa segment map table
yang berisi informasi nomor segment dan page pointer.

VII. Virtual mermory


Merupakaan gabungan dari segmented memory allocation dan demand paging
dengan otoritas tambahan untuk read, write, dan execute sebuah file. Keuntungan
dari virtual memory yakni ketika ada sebuah job yang ingin diproses namun RAM
dalam kondisi penuh, maka job tersebut akan dialihkan ke hard drive sebagai
alternatif ekstensi memori RAM walaupun lebih lambat.

Anda mungkin juga menyukai