Anda di halaman 1dari 18

Sistem operasi

Manajemen memori

Ref:
• SISTEM OPERASI MODERN EDISI KEEMPAT. ANDREW S. TANENBAUM HERBERT BOS. Hak Cipta © 2015, 2008 oleh Pearson
Education, Inc., Upper Saddle River, New Jersey, 07458, Pearson Prentice-Hall.
• PRINSIP DARI SISTEM OPERASI. NARESH CHAUHAN. Oxford University Press 2014
Konsep dasar
• Memori, sebagai sumber daya, perlu
dipartisi dan dialokasikan ke proses yang
siap, sehingga prosesor dan memori
dapat digunakan secara efisien.
• Itu dipartisi menjadi dua bagian:
▫ satu untuk OS
▫ yang lainnya untuk area pengguna
• Area pengguna perlu dibagi menjadi
beberapa bagian untuk berbagai proses
pengguna.
• Manajemen memori juga membutuhkan
dukungan perangkat keras
• Ada dua jenis manajemen memori:
▫ memori nyata (memori utama)
▫ memori virtual
Konsep dasar
Alokasi Statis dan Dinamis
• Alokasi memori umumnya dilakukan melalui dua metode:
▫ alokasi statis
▫ alokasi dinamis.
• Dalam alokasi statis, alokasi dilakukan sebelum eksekusi suatu proses.
• Alamat absolut dalam memori dihitung sebagai instruksi dalam proses yang dijalankan. Alokasi
dinamis juga memiliki fleksibilitas untuk mengalokasikan memori di wilayah mana pun.

Alamat Logis dan Fisik


• Tempat alokasi proses tidak diketahui pada waktu kompilasi dan waktu buka, prosesor, pada waktu
kompilasi, menghasilkan beberapa alamat, yang dikenal sebagai alamat logis
• Himpunan semua alamat logis yang dihasilkan oleh kompilasi proses ini dikenal sebagai ruang alamat
logis.
• Alamat logis ini perlu diubah menjadi alamat mutlak pada saat pelaksanaan proses.
• Itu alamat mutlak dikenal sebagai alamat fisik.
• Himpunan alamat fisik yang dihasilkan, sesuai dengan alamat logis selama eksekusi proses, dikenal sebagai
ruang alamat fisik
Konsep dasar
Swapping
• Swapping memainkan peran penting dalam manajemen memori.
• Ada beberapa contoh dalam multi-pemrograman ketika tidak ada memori untuk menjalankan
proses baru. Dalam hal ini, jika suatu proses dikeluarkan dari memori, akan ada ruang untuk
proses baru. Ini adalah solusi yang bagus, tetapi faktor-faktor berikut penting selama
implementasi.
▫ Di manakah proses ini akan berlangsung?
▫ Proses mana yang akan dilakukan?
▫ Di mana dalam memori proses tersebut akan dibawa kembali?
Konsep dasar
Swapping
1. Di manakah proses ini akan berlangsung?
2. Proses mana yang akan dilakukan?
3. Di mana dalam memori proses tersebut akan dibawa kembali?
• Tindakan mengambil proses dari memori disebut tukar-
menukar, dan proses tersebut dikenal sebagai a proses
bertukar
• Tindakan mengembalikan proses yang ditukar ke dalam
memori adalah disebut swap-in. Ruang terpisah di hard
disk, yang dikenal sebagaibertukar ruang dicadangkan
untuk proses yang ditukar.
• Ruang swap harus cukup besar sehingga proses
pertukaran dapat diakomodasi. Ruang swap menyimpan
gambar dari semua proses yang ditukar
Konsep dasar
Swapping
1. Di manakah proses ini akan berlangsung?
2. Proses mana yang akan dilakukan?
3. Di mana dalam memori proses tersebut akan dibawa kembali?
Untuk pertanyaan kedua, beberapa proses yang bisa ditukar
adalah:
• Dalam penjadwalan proses round robin, proses dijalankan,
sesuai dengan kuantum waktunya. Jika kuantum waktu
kedaluwarsa dan sebuah proses belum menyelesaikan
eksekusinya, ia dapat ditukar.
• Dalam penjadwalan berdasarkan prioritas, jika proses
dengan prioritas lebih tinggi ingin dijalankan, proses
dengan prioritas lebih rendah dalam memori akan ditukar.
• Proses yang diblokir, yang menunggu I / O, dapat ditukar.
Konsep dasar
Perlindungan dan Berbagi
• Dalam lingkungan multi-pemrograman, selalu ada
masalah perlindungan proses pengguna, sehingga
tidak mengganggu orang lain dan bahkan OS.
• Dalam terminologi proteksi, beberapa register basis
dan batas waktu masing-masing juga dikenal sebagai
register batas bawah dan batas atas.
• perlindungan disediakan untuk register dasar dan
batas juga, sehingga tidak dapat dimuat atau
diperbarui oleh proses pengguna mana pun. jelas
bahwa setiap proses memiliki batasannya sendiri
dalam memori untuk pelaksanaannya
• untuk mendapatkan pemanfaatan memori yang lebih
baik, terkadang berbagi ruang memori juga diperlukan
Teknik Alokasi Memori
Metode alokasi memori
• Alokasi memori yang berdekatan
▫ Alokasi memori yang berdekatan dilakukan dengan mengalokasikan satu
area berdekatan dalam memori ke proses. Ketika ada multiprogramming
atau sistem multi-pengguna, memori dibagi menjadi dua partisi, - satu
untuk OS, dan yang lainnya untuk proses pengguna
▫ Metode alokasi memori yang berdekatan mengalami banyak kekurangan.
Kedua jenis metode ini menyebabkan fragmentasi internal maupun
eksternal
• Metode alokasi tidak bersebelahan.
▫ Dalam metode ini, lubang tidak perlu bersebelahan.
▫ Mereka mungkin tersebar di memori, dan dapat dialokasikan ke suatu
proses. Alokasi memori yang tidak bersebelahan juga diklasifikasikan
sebagai partisi tetap dan partisi variabel.
▫ Yang pertama dikenal sebagai paging, dan yang terakhir dikenal sebagai
segmentasi.
Teknik Alokasi Memori
• Teknik alokasi memori adalah algoritma yang memenuhi
kebutuhan memori dari suatu proses: mereka
memutuskan lubang mana dari daftar lubang bebas
yang harus dialokasikan untuk proses tersebut. Jadi, ini
juga dikenal sebagai algoritma pemilihan partisi.
• Dalam partisi tetap dengan partisi berukuran sama,
algoritme ini tidak berlaku, karena semua partisi memiliki
ukuran yang sama dan oleh karena itu, tidak masalah
partisi mana yang dipilih.
• Ada tiga teknik utama untuk alokasi memori
▫ Alokasi First-fit
▫ Alokasi Paling Sesuai
▫ Alokasi Paling Sesuai
Teknik Alokasi Memori
Alokasi First-fit
• Algoritma ini mencari daftar lubang bebas dan mengalokasikan lubang pertama dalam daftar
yang cukup besar untuk mengakomodasi proses yang diinginkan.
• Pencarian dihentikan ketika menemukan lubang pertama yang sesuai. Lain kali, pencarian
dilanjutkan dari lokasi itu.
• Lubang pertama dihitung dari lokasi terakhir ini. Dalam hal ini, ini menjadi alokasi berikutnya
yang sesuai.
• Algoritma first-fit tidak menangani pemborosan memori. Ada kemungkinan lubang first-fit
sangat besar, dibandingkan dengan memori yang dibutuhkan oleh proses, sehingga terjadi
pemborosan memori.
Teknik Alokasi Memori
Alokasi Paling Sesuai
• Algoritma ini menangani penyimpanan memori dan mencari daftar, dengan membandingkan
ukuran memori dari proses yang akan dialokasikan dengan yang ada di lubang kosong
dalam daftar.
• Lubang terkecil yang cukup besar untuk menampung proses dialokasikan. Algoritme yang
paling cocok mungkin lebih baik dalam hal pemborosan ruang memori, tetapi memerlukan
biaya untuk mencari semua entri dalam daftar.
• Ini adalah biaya tambahan. Selain itu, juga menyisakan lubang memori kecil sehingga
menyebabkan fragmentasi internal.
Teknik Alokasi Memori
Alokasi Paling Sesuai
• Algoritma ini hanya kebalikan dari algoritma yang paling sesuai. Ini mencari daftar lubang
terbesar.
• Algoritma ini dalam persepsi pertama sepertinya bukan algoritma yang baik, dari segi
memori. Tetapi mungkin membantu dalam partisi dinamis, karena lubang besar, yang tersisa
karena algoritma ini, dapat dialokasikan ke proses yang sesuai.
• Algoritma ini menimbulkan overhead pencarian daftar untuk lubang terbesar. Ini juga dapat
meninggalkan lubang kecil, menyebabkan fragmentasi internal.
Teknik Alokasi Memori
Alokasikan memori untuk permintaan tambahan 4K dan 10K (dalam urutan ini). Bandingkan
alokasi memori, menggunakan metode alokasi first-fit, best-fit, dan paling cocok, dalam hal
fragmentasi internal.

first-fit

paling
cocok

paling
cocok
Teknik Alokasi Memori
Paging
• Memori dibagi menjadi partisi
berukuran sama. Partisi
tersebut relatif lebih kecil,
dibandingkan dengan metode
bersebelahan. Mereka dikenal
sebagaibingkai.
• Karena idenya adalah untuk
mengurangi fragmentasi
eksternal, memori logis dari
suatu proses juga dibagi
menjadi potongan-potongan
kecil atau blok dengan ukuran
yang sama seperti bingkai.
Potongan ini disebuthalaman
dari suatu proses.
Teknik Alokasi Memori
Segmentasi
• Seorang programmer menulis program
bukan dalam bentuk halaman, tetapi
modul, untuk mengurangi kompleksitas
masalah. Mungkin ada banyak modul:
program utama, prosedur, tumpukan,
data, dll.
• Jadi, akan lebih baik jika manajemen
memori juga diterapkan pada modul-
modul ini. Segmentasi adalah teknik
manajemen memori yang mendukung
konsep modul.
• Modul dalam teknik ini disebut segmen.
Sekarang manajemen memori
diimplementasikan dalam bentuk
segmen, bukan halaman
Memori Virtual
• Paging dan segmentasi adalah dua teknik
manajemen memori dasar yang membutuhkan
seluruh proses untuk berada di memori utama
sebelum dieksekusi
• Peningkatan derajat multi-pemrograman berarti
lebih banyak jumlah proses yang harus ditampung
dalam memori. Akibatnya, tingkat multi-
pemrograman dibatasi dengan ukuran memori
• Dapat diperhatikan bahwa proses tidak sepenuhnya
diperlukan di memori utama. Hanya bagian tertentu
dari suatu proses yang diperlukan untuk
pelaksanaannya
• Memori virtual adalah metode yang mengelola
ukuran terlampaui dari proses yang lebih besar
dibandingkan dengan ruang yang tersedia di
memori.
Memori Virtual

Anda mungkin juga menyukai