1. Manajemen Memori
Manajemen memori adalah suatu kegiatan yang berkaitan dengan mengatur penggunaan memori agar bisa digunakan seefisien dan seefektif mungkin. Manajemen memori memiliki berbagai fungsi, yakni:
-
Mengatur memori
Dalam hal ini mencakup berbagai hal, seperti mengatur memori dari proses yang telah selesai atau tidak terpakai, ke proses yang akan berjalan (memerlukan memori).
-
Mengatur swapping antara memori utama dan disk pada perangkat komputer
Swapping adalah proses memindahkan memori yang sedang terpakai untuk keperluan proses, ke penyimpanan secara sementara. Memori yang dipindahkan secara sementara, akan dipanggil kembali ketika proses yang bersangkutan akan berjalan kembali. Dengan adanya swapping, manajemen memori bisa dibagi menjadi 2 (berdasarkan keberadaan swapping):
– Manajemen memori tanpa swapping
Manajemen memori ini dilakukan tanpa pemindahan memori yang sedang terpakai untuk keperluan proses, ke penyimpanan secara sementara. Sehingga, proses tersebut akan terus berjalan (karena tidak terjadi peindahan memori). Hal ini menyebabkan kemungkinan bahwa hanya ada satu proses yang berjalan.
– Manajemen memori dengan swapping
Manajemen memori ini dilakukan dengan proses pemindahan memori yang sedang terpakai untuk keperluan proses, ke penyimpanan secara sementara. Hal ini membuat perangkat yang kita gunakan, bisa menjalankan lebih dari satu proses.
2. Hirarki memori
Semakin kebawah, semakin lambat. Semakin kebawah, kapasitasnya semakin besar:
-
Register
-
Cache
-
RAM
-
ROM
-
EPROM
-
EEPROM
-
SSD
-
HDD
-
Floppy Disk
3. Monoprogramming
Monoprogramming adalah suatu sistem komputer yang hanya bisa menjalankan 1 proses saja. Hal ini menjadikan proses yang ada, akan berjalan secara berurutan (tidak bisa bersamaan.
4. Multiprogramming
Multiprogramming adalah suatu sistem komputer yang bisa menjalankan lebih dari 1 proses. Ini merupakan sistem komputer yang bagus, ketika kita bisa menjalankan proses secara bersamaan. Pekerjaan atau masalah yang kita miliki bisa diselesaikan dengan lebih cepat.
5. Partisi
-
Partisi statis
Partisi statis adalah pengalokasian memori ke dalam partisi tetap. Pada partisi inilah, ditempatkan proses-proses yang akan berajalan. Partisi statis dapat dibagi menjadi 2 (berdasarkan ukurannya):
– Partisi statis dengan ukuran sama
Hal ini dilakukan dengan mengalokasikan memori ke dalam partisi dengan ukuran yang sama.
– Partisi statis dengan ukuran berbeda
Hal ini dilakukan dengan mengalokasikan memori ke dalam partisi yang memiliki ukuran yang berbeda.
Dalam partisi statis, bisa terjadi yang namanya fragmentasi. Fragmentasi adalah penghambur-hamburan memori. Ada dua macam fragmentasi:
– Fragmentasi internal
Fragmentasi internal terjadi ketika partisi tidak terisi penuh ketika diisi oleh proses.
– Fragmentasi external
Fragmentasi external terjadi ketika ukuran partisi tidak mencukupi untuk ditempatkan oleh proses.
-
Partisi dinamis
Partisi dinamis adalah pengalokasian memori ke dalam partisi dinamis. Maksudnya adalah, partisi akan menyesuaikan dengan proses yang akan berjalan. Sehingga akan meningkatkan efisiensi dan keefektifitas dari penggunaan memori. Namun, hal ini akan menyulitkan proses pengalokasian, akan terjadi banyak perubahan ukuran partisi setiap kali menjalankan proses yang berbeda. Serta adanya ruang-ruang kosong di antara partisi yang tidak terpakai selama menjalankan proses. Hal ini bisa diatasi dengan cara memadatkan memori yang ada (memory compaction), yakni dengan menyatukan ruang-ruang kosong dengan mendekatkan proses-proses yang sedang berjalan.
Proses yang berjalan juga akan semakin berkembang, mengakibatkan masalah baru. Mengingkat partisi yang ada sudah disesuaikan dengan ukuran memori yang dibutuhkan proses saat proses pertama kali dialokasikan ke dalam partisi. Hal ini bisa diselesaikan menggunakan ruang-ruang kosong yang tidak terpakai.
6. Macam-macam prosedur alokasi memori
-
Algoritma first fit
Alokasi memori dilakukan dengan mencari partisi dari awal, partisi pertama sesuai dengan memori (tidak harus pas), bisa langsung ditempati. Misalkan ada beberapa partisi dengan ukuran 5 Kb, 7 Kb, dan 3 Kb. Apabila ada data sebesar 2 Kb, maka data tersebut akan langsung mengisi partisi berukuran 5 Kb, karena berada di awal pencarian dan ukurannya sesuai.
-
Algoritma next fit
Alokasi memori dilakukan dengan mencari partisi dari awal menemukan partisi yang sesuai. Misalkan ada beberapa partisi dengan ukuran 5 Kb, 7 Kb, dan 3 Kb. Apabila ada data sebesar 2 Kb, maka data tersebut akan mengisi partisi 3 Kb, karena melanjutkan pencarian sebelumnya.
-
Algoritma best fit
Alokasi memori dilakukan dengan mencari partisi yang paling sesuai dengan ukuran data. Misalkan ada beberapa partisi dengan ukuran 5 Kb, 7 Kb, dan 3 Kb. Apabila ada data sebesar 2 Kb, maka data tersebut akan mengisi partisi 3 Kb, karena memiliki ukuran yang paling sesuai.
-
Algoritma worst fit
Alokasi memori dilakukan dengan mencari partisi ukurannya paling besar. Misalkan ada beberapa partisi dengan ukuran 5 Kb, 7 Kb, dan 3 Kb. Apabila ada data sebesar 2 Kb, maka data tersebut akan mengisi partisi 7 Kb, karena partisi tersebut memiliki ukuran yang paling besar.