PREFACE MANAJEMEN MEMORI
•Proses merupakan suatu bagian aktif dari KOMPUTASI
•Suatu komputasi
/ setiap
proses yang akan dijalankan harus melalui memori terlebih dahulu
•CPU mengambil instruksi dari memori sesuai yang ada pada Program Counter
•Memori komputer
merupakan
salah satu resource komputer
yang berharga
dan perlu dikelola
dengan baik oleh Sistem Operasi
karena kapasitasnya yang terbatas
•Kerumitan
pengelolaan
bertambah
seiring
dengan adanya fitur multiprogramming, multitasking dll dimana lokasi memori tidak hanya diakses
oleh satu
proses tetapi akan diakses
oleh beberapa
proses secara konkuren
•Pengelolaa
memori merupakan
salah satu komponen
penting
dari Sistem Operasi
Sebagian
besar komputer
memiliki
hirarki
memori
yang terdiri
atas tiga
level, yaitu:
•Register di CPU, berada di level teratas. Informasi yang berada di register dapat diakses
dalam satu
clock cycle CPU.
•Primary Memory (executable memory), berada di
level tengah. Contohnya,
RAM. Primary Memory
diukur dengan satu
byte dalam satu waktu, secara relatif
dapat diakses
dengan cepat, dan bersifat
volatile (informasi bisa hilang ketika komputer dimatikan).
•Secondary Memory, berada di
level bawah. Contohnya,
disk atau
tape. Secondary Memory diukur sebagai kumpulan dari bytes
(block of bytes), waktu aksesnya lambat, dan bersifat non-volatile
(informasi
tetap tersimpan
ketika komputer
dimatikan).
•Bagian dari sistem operasi
yang mengatur
hirarki
memori disebut
dengan memory
manager.Di era multiprogramming ini, memory
manager digunakan untuk mencegah satu proses dari penulisan dan pembacaan oleh proses lain yang dilokasikan
di primary memory, mengatur swapping
antara memori utama dan
disk ketika memori utama terlalu
kecil untuk memegang
semua
•Setiap
proses mempunyai
memory
allocator
•Memory
allocator mengalokasikan ruang kosong dari memori kepada suatu proses .
•Ketika suatu
proses kekurangan
memori, memory
allocator ini
yang berperan
untuk meminta
kepada sistem operasi
untuk diberikan
space memori kosong dari proses lain.
Tujuan dari manajemen
ini adalah untuk :
•Meningkatkan utilitas CPU
•Data dan instruksi dapat diakses dengan cepat oleh CPU
•Efisiensi
dalam pemakaian
memori
yang terbatas
•Transfer dari/ke memori utama ke/dari CPU dapat lebih efisien
Manajemen
Memori mempunyai
5 syarat :
1.
Relocation
e.g :
swap in swap out
2.
Protection
e.g :
interference by other processes
Perlindungan atau proteksi ini disediakan oleh perangkat keras. Perangkat keras menyediakan dua register, yaitu base
register dan limit
register.
Base
register memegang
alamat fisik terkecil
yang dilegalkan, sedangkan limit
register menentukan
ukuran dari jarak alamat tersebut.
Contohnya jika base
register memegang alamat 5500 dan limit
register 4650 , maka program bisa mengakses secara legal di semua alamat dari 5500 sampai 10150
3.
Sharing
e.g :
allow several processes to access the same portion of main memory
4.
Logical Organization
e.g : pengorganisasian program antara memori
logic dan memori fisik
(Lebih
jelasnya akan
dibahas pada
bagian Segmentasi)
5.
Physical Organization
memori diorganisasikan dalam dua tingkatan : memori utama dan memori sekunder
Address Binding
Address
binding yang dilakukan
terhadap
suatu
program dapat dilakukan
di 3 tahap
yang berbeda,
yaitu:
1.Compilation
Time : jika lokasi memori telah diketahui sebelumnya, , maka alamat absolut atau alamat fisik dapat dibuat. Kita harus mengkompilasi ulang kode jika lokasi awal berubah.
2.Load
Time : harus membangkitkan alamat relocatable (alamat
yang dapat dialokasikan ulang) jika lokasi memori tidak diketahui
pada saat kompilasi
3.Execution
Time : Alamat bersifat
relatif,
binding akan dilakukan
pada saat
run time. Pada saat run time dibutuhkan bantuan hardware yaitu MMU (Memory Management Unit)
Ruang
Alamat
Logika
dan
Fisik
•Alamat
yang dihasilkan oleh CPU berupa alamat logika,
disebut juga alamat
virtual
•Alamat fisik
adalah
alamat
memori yang sebenarnya.
•Pada
saat compile
time
dan load
time,
alamat fisik dan logika identik.
•Sebaliknya,
perbedaan alamat
fisik dan logika terjadi pada execution
time.
•Kumpulan semua alamat logika yang dihasilkan oleh program
adalah ruang alamat
logika/ruang
alamat virtual.
•Kumpulan semua alamat fisik yang berkorespondensi dengan alamat logika disebut ruang alamat
fisik.
•Pada
saat program berada di CPU, program tersebut memiliki alamat logika, kemudian
oleh MMU
(memori manajemen unit)memetakan menjadi
alamat fisik yang
akan disimpan di dalam memori.
•Memory
Management Unit (MMU)
: Untuk mengubah alamat virtual
ke alamat fisik.
•Register
utamanya disebut
register relokasi.
•Nilai pada register relokasi akan bertambah setiap alamat dibuat oleh proses pengguna dan pada waktu yang sama alamat ini dikirimkan ke memori.
•Ilustrasinya sebagai berikut, nilai pada register ini akan ditambah dengan setiap alamat yang dibuat oleh user
process yang kemudian dikirim ke memori. Contohnya register relokasi berada di
14000,
alamat logika di
346, maka langsung dipetakan menjadi alamat fisik di
14346.
Dynamic Loading (Pemanggilan
Dinamis)
•Seluruh
proses dan
data berada di
memori fisik ketika dieksekusi.
• Ukuran dari
memori fisik
terbatas. Untuk mendapatkan
penggunaan
ruang memori
yang baik, kita melakukan
pemanggilan
secara dinamis.
•Dengan pemanggilan
dinamis,
sebuah rutin tidak akan dipanggil
jika tidak diperlukan.
•Semua rutin diletakkan
dalam
disk dengan
format yang dapat dialokasikan ulang (relocatable )
Mekanisme Dasar
:
•Progam utama
ditempatkan dalam
memori dan
dieksekusi.
•Jika sebuah rutin memanggil
rutin lainnya,
maka akan diperiksa
terlebih
dahulu apakah rutin tersebut
ada di
dalam memori atau tidak, jika tidak
ada maka akan
dipanggil untuk
menempatkan rutin-rutin yang diinginkan ke
memori.
•Keuntungan dari
pemanggilan dinamis adalah rutin yang tidak digunakan tidak pernah dipanggil.
•Tidak ada dukungan
khusus dari OS
yg diperlukan;
diimplementasikan melalui rancangan program
Kesimpulan
•Memori merupakan sumber daya yang paling penting
untuk dijaga sebaik-baiknya karena merupakan pusat dari kegiatan di komputer.
•Terdapat proteksi perangkat keras yang dilakukan dengan menggunakan dua register, yaitu base dan limit register sehingga proses hanya bisa mengakses di alamat yang dilegalkan.
•Alamat yang dihasilkan oleh CPU disebut alamat logika yang kemudian dipetakan oleh MMU menjadi alamat fisik yang disimpan di memori.
Untuk mendapatkan
utilitas
memori yang baik, maka diperlukan metode pemuatan dinamis, linking dinamis, dan overlay.
Tidak ada komentar:
Posting Komentar