Bagian sistem operasi yang mengatur memori disebut dengan memory
manager. Pemakaian memori (manajemen memori dan organisasi) perlu
dilakukan karena hal tersebut sangat mempengaruhi kinerja komputer,
sehingga memiliki fungsi dan tugas penting dan kompleks yaitu
berkaitan dengan :
a. Memori utama sebagai sumber daya yang harus dialokasikasikan
dan dipakai bersama di antara sejumlah proses yang aktif, sehingga
dapat memanfaatkan pemroses dan fasilitas masukan/keluaran secara
efisien, sehingga memori dapat menampung sebanyak mungkin proses.
b. Upaya agar pemogram atau proses tidak dibatasi kapasitas memori
fisik di sistem komputer.
1. Manajemen Memori
Sistem manajemen memori dapat dibagi kedalam dua kelas, yaitu :
pemindahan proses (back and forth) diantara memori utama dengan
disk selama eksekusi (swapping and paging) dan tidak ada pemindahan
proses. Mempunyai beberapa fungsi, antara lain :
a. Mengelola informasi memori yang dipakai dan tidak dipakai.
b. Mengalokasikan memori ke proses yang memerlukan.
c. Mendealokasikan memori dari proses yang telah selesai.
d. Mengelola swapping antara memori utama dan disk.
2. Manajemen Memori Pada Sistem Multi Programming
Untuk sistem komputer yang berukuran besar, membutuhkan pengaturan
memori, karena dalam multiprogramming akan melibatkan banyak
pemakai secara simultan sehingga di memori akan terdapat lebih
dari satu proses bersamaan.Maka dibutuhkan sistem operasi yang
mampu mendukung dua kebutuhan tersebut, meskipun hal tersebut
saling bertentangan yaitu :
a. Pemisahan ruang-ruang alamat.
b. Pemakaian bersama memori.
Manajer memori harus memaksakan isolasi ruang-ruang alamat tiap
proses agar mencegah proses aktif atau proses yang ingin mengakses
dan merusak ruang alamat proses lain. Manajer memori di lingkungan
multiprogramming sekalipun melakukan dua hal yaitu :
a. Proteksi memori dengan isolasi ruang-ruang alamat secara
disjoint.
b. Pemakaian bersama memori.
Memungkinkan proses-proses bekerja sama mengakses daerah memori
bersama. Ketika konsep multiprogramming digunakan, pemakaian CPU
dapat ditingkatkan. Sebuah model untuk mengamati pemakaian CPU
secara probabilistic :
CPU utilization = 1 - p n
Dengan :
* N menunjukkan banyaknya proses pada suatu saat, sehingga
kemungkinanbahwa semua n proses akan menunggu menggunakan I/O
(masalah CPU menganggur) adalah sebesar p n. Fungsi n sebagai
degree of multiprogramming.
* P menunjukkan besarnya waktu yang digunakan sebuah proses
3. Klasifikasi Manajemen Memori
Klasifikasi manajemen memori diberikan Deitel [DEI-90].
(1),(2),(3) dan (4) merupakan pengelolaan untuk kapasitas memori
sebatas memori fisik yang tersedia. Teknik-teknik ini tidak dapat
digunakan untuk memuat program-program yang berukuran lebih besar
disbanding kapasitas fisik memori yang tersedia.(5),(6) dan (7)
dapat digunakan untuk mengakali kapasitas memori yang terbatas
sehingga dapat dijalankan program yang ukurannya lebih besar
dibanding kapasitas memori fisik yang tersedia.
Manajemen memori berdasarkan keberadaan swapping :
a. Manajemen tanpa swaping. Manajemen memori tanpa kemamuan
memindahkan citra proses Antara memori utama dan hardisk selama
eksekusi.
b. Manajemen memori dengan swaping. Manajemen memori dengan
kemampuan memindahkan citra proses Antara memori utama dan hardisk
selama eksekusi.
Manejemen memori berdasarkan alokasi memori :
a. Alokasi memori berurutan (kontinyu). Masing-masing proses
menempati satu blok tunggal lokasi memori yang berurutan.
b. Alokasi memori tidak berurutan. Program dibagi menjadi beberapa
blok. Blok-blok program ditempatkan di memori dalam potongan-
potongan tanpa perlu saling berdekatan. Teknik ini biasa digunakan
pada sistem memori maya sebagai alokasi page-page dilakukan secara
global.
4. Manajemen Memori Tanpa Swapping
Manajemen memori tanoa swapping terdiri dari :
a. Manajemen memori untuk monoprogramming
b. Manajemen memori untuk multiprogramming dengan pemartisisan
statis
5. Monoprogramming
Manajemen memori yang paling sederhana. Sistem computer hanya
mengijinkan satu proses berjalan pada satu waktu. Semua sumber
daya sistem komputer sepenuhnya dikuasai oleh proses yang sedang
berjalan karena merupakan satu-satunya proses yang berjalan.
Ciri-ciri :
a. Hanya satu proses pada satu saat
b. Hanya satu proses menggunakan semua memori
c. Pemakai memuat program ke seluruh memori dari disk atau tape
d. Program mengambil kendali seluruh mesin
6. Multiprogramming dengan Pemartisian Statis
Alasan mengapa multiprogramming digunakan :
a. Mempermudah pemorgram
b. Agar dapat memberi layanan interaktif ke beberapa orang secara
simultan
c. Efisiensi Penggunaan Sumber daya. Eksekusi lebih murah jika
proses besar dipecah menjadi beberapa proses kecil
e. Dapat mengerjakan sejumlah proses secara simultan
Multiprogramming dapat dilakukan dengan pemartisian statis, yaitu
memori dibagi menjadi sejumlah partisi tetap. Pemartisian statis
berdasarkan ukuran partisinya, yaitu :
a. Pemartisian menjadi partisi-partisi berukuran sama, yaitu
ukuran semua partisinya sama. Beberapa proses yang ukurannya
kurang atau sama dengan ukuran partisi dimasukkan ke sembarang
partisi yang tersedia.
Kelemahan : Bila program berukuran lebih besar dari partisi yang
tersedia maka program tidak akan pernah dijalankan dan untuk
program yang ukurannyajauh lebih kecil disbanding ukuran partisi
maka banyak ruang yang tidak dipakai yang diboroskan, disebut
fragmentasi internal.
b. Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu
ukuran semua partisi memori berbeda. Kelemahan pada (a) dapat
diatasi oleh pemartisian ini.
7. Strategi Penempatan Program ke Partisi
a. Pemartisian berukuran sama.
Penempatan partisi dapat dilakukan secara mudah karena dapat
dipilih sembarang partisi yang kosong.
b. Pemartisian berukuran berbeda.
1). Satu antrian untuk tiap partisi (banyak antrian untuk seluruh
partisi). Proses ditempatkan ke partisi paling kecil yang dapat
memuatnya.
Keunggulan : meminimalkan pemborosan.
Kelemahan : dapat terjadi antrian panjang pada satu partisi
sedangkan partisi yang lain kosong.
2). Satu antrian tunggal untuk seluruh partisi. Proses segera
ditempatkan di partisi paling kecil dan sedang bebas yang dapat
memuatnya.
Keunggulan : Lebih fleksibel serta impelemtasi dan operasi lebih
minimal karena hanya mengelola satu antrian.
Kelemahan : Proses dapat ditempatkan di partisi yang banyak
diboroskan, yaitu proses kecil ditempatkan di partisi yang besar.
8. Masalah Pemartisian Memori menjadi Partisi-partisi Statis
a. Relokasi adalah masalah penempatan proses sesuai alamat fisik
sehubungan alamat partisi memori saat peroses ditempatkan. Proses
dapat ditempatkan pada partisi-partisi berbeda menurut keadaan
sistem saat itu. Pengalamatan fisik secara absolut untuk proses
tidak dapat dilakukan.
Solusi : Sistem operasi menambahkan alamat awal partisi.
Masalah yang ditimbulkan : menimbulkan masalah proteksi terhadap
memori. Program tidak terkendali selalu mampu membangun instruksi
baru dan meloncati. Tidak ada cara untuk menghentikan jika
program membaca atau menulis word di memori partisi lain. Masalah
relokasi dan proteksi tidak dapat dipisahkan, diperlukan satu
solusi tunggal mengatasi kedua masalah.
b. Proteksi pada Multiprogramming. Masalahnya adalah bekerja
dengan banyak proses di saat sistem secara bersamaan dikhawatirkan
proses akan menggunakan atau memodifikasi daerah yang dikuasai
proses lain (yang bukan menjadi haknya). Bila kejadian ini terjadi,
maka proses lain dapat terganggu dan hasil yang diperolehnya dapat
menjadi kacau.
Solusi : Menggunakan dua register, yaitu base register dan limit
register. Base register diisi alamat awal partisi dan limit
register diisi panjang partisi. Setiap alamat yang dihasilkan
secara otomatis ditambah nilai base register. Intruksi yang mengacu
pada alamat yang melebihi limit register akan menimbulkan trap yang
memberitahu sistem operasi telah terjadi pelanggaran pengaksesan
memori.
Keunggulan : alamat tidak perlu dimodifikasi dan setiap intruksi
dapat diperiksa agar tidak mengakses melewati batas limit register.
9. Fragmentasi
Fragmentasi yaitu pemborosan memori akan terjadi pada setiap
organisasi penyimpanan. Fragmentasi pada pemartisian tetap :
a. Fragmentasi internal
Proses tidak mengisi penuh partisi yang telah ditetapkan untuk
proses.
b. Fragmentasi eksternal
Partisi tidak digunakan karena ukuran partisi lebih kecil
disbanding ukuran proses yang menunggu di antrian sehingga tidak
digunakan.
Comments
Post a Comment