PENGELOLAAN MEMORY AGUS PAMUJI
SISTEM OPERASI - Pengelolaan Memory
1
Konsep Dasar • Mengapa Memory perlu di atur ? CPU Konsep Von Neumann Memori utama
Memori sekunder
SISTEM OPERASI - Pengelolaan Memory
2
Tujuan Pengelolaan • Meningkatkan utilitas CPU. • Data dan Instruksi dapat di akses dengan cepat. • Transfer data dari/ke memory ke/dari CPU efisien.
SISTEM OPERASI - Pengelolaan Memory
3
Pengantar • Memori adalah pusat kegiatan pada sebuah komputer, karena setiap proses yang akan dijalankan harus melalui memori terlebih dahulu. • CPU mengambil instruksi dari memori sesuai yang ada pada program counter.
SISTEM OPERASI - Pengelolaan Memory
4
Pengantar • Instruksi memerlukan proses memasukkan/menyimpan ke alamat di memori. Tugas sistem operasi adalah mengatur peletakan banyak proses pada suatu memori. • Bagian operating system yang mengatur memori disebut dengan memory manager.
SISTEM OPERASI - Pengelolaan Memory
5
Fungsi Manajemen Memory 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. SISTEM OPERASI - Pengelolaan Memory
6
Klasifikasi Manajemen Memory
• Skema klasifikasi menurut Deitel [Dei-90] SISTEM OPERASI - Pengelolaan Memory
7
Swapping • Suatu proses dapat dialihkan sementara dari memori ke suatu tempat penyimpanan, dan dipanggil kembali ke memori jika akan melanjutkan eksekusi. • Contoh : proses multiprograming (menggunakan algoritma penjadwalan CPU Round Robin)
SISTEM OPERASI - Pengelolaan Memory
8
Swapping
1
Swap Out Proses P1
2
Swap in
Memory utama
Proses P2
Backing Store
Swapping 2 proses menggunakan disk sebagai backing store SISTEM OPERASI - Pengelolaan Memory
9
Ruang Alamat & Logika Fisik • Alamat logika adalah alamat yang diturunkan dari CPU. • Alamat fisik adalah alamat yang terdapat pada memory. • Pada saat compile time dan load time, alamat logika dan alamat fisik menunjukan nilai yang sama. Sedangkan pada execution time terjadi perbedaan antara alamat logika dengan alamat fisik. SISTEM OPERASI - Pengelolaan Memory
10
Ruang Alamat & Logika Fisik • Alamat logika sering disebut dengan alamat maya(virtual Adress). • Kumpulan alamat logika yang diturunkan oleh program disebut dengan ruang alamat logika. • Alamat fisik yang berhubungan dengan alamat logika disebut ruang alamat fisik. • Pada saat runtime terjadi pemetaan virtual ke alamat fisik oleh memory-management unit ( MMU) yang ada pada hardware. SISTEM OPERASI - Pengelolaan Memory
11
Ruang Alamat & Logika Fisik Register relokasi
CPU
+
346
14000
14346
Memory Utama
MMU Relokasi dinamis menggunakan register relokasi SISTEM OPERASI - Pengelolaan Memory
12
Pencatatan Pemakaian Memory Bertujuan agar dapat diketahui lokasi mana saja dimemori utama yang masih kosong dan sudah terisi.
SISTEM OPERASI - Pengelolaan Memory
13
Pencatatan Pemakaian Memory • Peta bit ( Bit Map ) 1. Memori dibagi menjadi beberapa alokasi unit, tiap unit terdiri beberapa word. 2. Tiap unit berhubungan dengan 1 bit yaitu akan terisi 0 jika unit kosong dan 1 jika unit ada isinya.
SISTEM OPERASI - Pengelolaan Memory
14
Pencatatan Pemakaian Memory A
B
C
Peta Bit 11111000
Linked List
P 0 5
P 8 6
Proses
H 5 3
P 14 6
Mulai proses pada 14
Panjang 6
SISTEM OPERASI - Pengelolaan Memory
15
Pencatatan Pemakaian Memory • Linked List • Setiap node terdiri atas :informasi yang menyatakan adanya proses (P) atau hole (H), lokasi awal dan panjang lokasi. • Memori yang digunakan relatif kecil , tidak perlu dilakukan penghitungan blok lubang memori yang sudah tercatatdi node
SISTEM OPERASI - Pengelolaan Memory
16
Monoprogramming • Jika sistem menggunakan konsep monoprogramming maka pengalokasian memori ke suatu proses akan relatif sederhana, karena setiap saat hanya 1 program yang akses. Sistem operasi di RAM
Sistem operasi di RAM User program di RAM
User program di RAM Sistem operasi di RAM
A
B SISTEM OPERASI - Pengelolaan Memory
User program di RAM Device Driver di ROM
C
17
Monoprogramming Manajemen memori untuk monoprogramming 1. Hanya ada satu proses pada satu saat 2. Hanya satu proses menggunakan semua memori 3. Pemakai memuatkan program ke seluruh memori dari disk 4. Program mengambil kendali seluruh mesin
SISTEM OPERASI - Pengelolaan Memory
18
Multiprogramming Manajemen memori untuk multiprogramming a. Mempermudah pemrogram b. Dapat memberi layanan interaktif ke beberapa user secara simultan c. Efisiensi penggunaan sumber daya d. Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses e. Dapat mengerjakan sejumlah proses secara simultann SISTEM OPERASI - Pengelolaan Memory
19
Sistem Buddy • Sistem buddy merupakan cara mengelola memori utama dengan memanfaatkan penggunaan bilangan biner(2k , K = 0,1,2,….). Contoh : Suatu memory utama awalnya punya 1 lubang berukuran 1 Mbyt, jika proses A ukuran 90 Kbyte memasuki memori, maka permintaan 90 kbyte akan dialokasikan ke lokasi terdekat yatu 128 kbyte maka blok 1 mbyte akan dipecah jadi 2 blok masing2 512 kbyte. Blok tersebut di bagi jadi blok2 128 kbyte.kemudian proses B(50 kbyte) menempati 64 kbyte berikutnya dengan cara membagi blok 64 kbyte SISTEM OPERASI - Pengelolaan Memory
20
Sistem Buddy Semula Alokasi Proses A ( 90 kbyte)
A
Alokasi proses B ( 50 Kybte)
A
B
A
B
C
Alokasi Proses C ( 72 kbyte )
B
C
Dealokasi proses A
D
C
Alokasi proses D ( 35 kbyte )
D
C
Dealokasi proses B
C
Dealokasi proses D
B
Dealokasi proses C 64
256
512
SISTEM OPERASI - Pengelolaan Memory
1M
21
Sistem Buddy • Jika proses berukuran 35 kbyte maka proses tsb akan ditempatkan pada lubang 64 kbyte dan menyisakan 29 kbyte yang disebut internal fragmentation sebab sisa memori yang terbuang berasal dari segmen internal sendiri.
SISTEM OPERASI - Pengelolaan Memory
22
Syarat Pengelolaan Memory • Relokasi Prosesor dan OS harus mentranslasikan memori referensi(dalam bentuk kode program) ke alamat fisik. • Proteksi User tidak boleh mengakses beberapa bagian OS • Sharing Manajemen Memori dapat mengontrol sharing area pada memori utama SISTEM OPERASI - Pengelolaan Memory
23
Syarat Pengelolaan Memory • Organisasi logika OS dan HD harus tetap komunikasi dengan user program dalam 1 modul. • Organisasi Fisik Harus ada pengaturan yang jelas antara memori utama dengan memory sekunder pada longterm-scheduling.
SISTEM OPERASI - Pengelolaan Memory
24
Struktur memory secara hirarkis
SISTEM OPERASI - Pengelolaan Memory
25
Struktur memory secara hirarkis • Semakin kebawah maka : 1. Biaya per bit semakin rendah 2. Kapasitas penyimpanan semakin besar 3. Waktu akses semakin besar 4. Frekuensi pengaksesan memory oleh prosesor semakin berkurang.
SISTEM OPERASI - Pengelolaan Memory
26
Manajemen Memory Berdasarkan alokasi memori • Alokasi memori berturutan Masing-masing proses menempati satu blok tunggal lokasi memori yang berturutan. • Alokasi memori tak berturutan Program dibagi menjadi beberapa blok atau segmen dan ditempatkan tanpa harus berdekatan. Teknik ini biasa digunakan pada sistem memori maya sebagai alokasi page-page dilakukan secara global. SISTEM OPERASI - Pengelolaan Memory
27
Strategi Alokasi Memory 1. First-fit Algorithm Manajer memori menelusuri peta bit atau senarai berkait sampai menemukan lubang besar yang memadai untuk ditempati proses. Lubang dibagi dua, untuk proses dan lubang yang tidak digunakan kecuali ketika besar lubang tepat sama dengan ukuran yang diperlukan proses. SISTEM OPERASI - Pengelolaan Memory
28
Strategi Alokasi Memory 2. Next-fit Algorithm Penelusuran sama dengan first-fit algorithm, namun dimulai dari posisi terakhir kali menemukan segmen untuk proses. 3. Best-fit Algorithm Algoritma mencari sampai akhir dan mengambil lubang terkecil yang dapat memuat proses. SISTEM OPERASI - Pengelolaan Memory
29
Strategi Alokasi Memory 4. Worst-fit algorithm Selalu mencari lubang besar yang tersedia 5. Quick-fit algorithm Hanya untuk pencatatan pada senarai berkait. Hanya menelusuri senarai lubang memori bukan di senarai proses.
SISTEM OPERASI - Pengelolaan Memory
30