MANAGEMENT MEMORY
Manajemen Memori Tujuan : Mengatur pemakaian ruang memori utama yang terbatas agar dapat digunakan secara bersama oleh beberapa proses tanpa mengganggu satu sama lain
Manajemen Memori Fungsi: Mengelola informasi mengenai memori yang dipakai dan tidak dipakai sistem Mengalokasikan memori ke proses yang memerlukan Mendealokasikan memori dari proses yang telah selesai Mengelola swapping antara memori utama dan harddisk
Manajemen Memori Jenis Memori : Memori Kerja • ROM/PROM/EPROM/EEPROM • RAM • Cache memory Memori Dukung Floppy, harddisk, CD, dll.
Hirarki Memori REGISTER CACHE MEMORY MEMORI UTAMA MEMORI SEKUNDER Gb 1. Hubungan Cache Memory, Memori Utama dan Memori Sekunder
Teknik Manajemen Memori Pemograman Tunggal (Monoprogramming) Suatu pemograman yang hanya digunakan 1 proses saja pada suatu waktu Pemograman Ganda (Multiprogramming) Pemograman bisa dilakukan lebih dari 1 proses
Teknik Manajemen Memori Pemograman Tunggal (Monoprogramming) Ciri-ciri: Hanya 1 proses pada satu saat Hanya 1 proses menggunakan semua memori Pemakai memuatkan program ke seluruh memori dari disk atau tape Program mengambil kendali seluruh mesin
Teknik Manajemen Memori Pemograman Ganda (Multiprogramming) Dibedakan atas 3, yakni: Multiprogramming dengan partisi tetap / statis Multiprogramming dengan partisi dinamis Page
Multiprogramming – Partisi Tetap / Statis 1 memori dibagi menjadi beberapa bagian (partisi) yang tetap Mempermudah pemogram Agar dapat memberikan layanan interaktif ke beberapa orang secara simultan Efisiensi penggunaan sumber daya Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses kecil Dapat mengerjakan sejumlah proses secara simultan
Multiprogramming – Partisi Tetap / Statis Pemartisian menjadi partisi-partisi berukuran sama Ukuran semua partisi memori adalah sama Pemartisian menjadi partisi-partisi berukuran berbeda ukuran semua partisi memori adalah berbeda
Partisi Statis dengan Ukuran Sama SISTEM OPERASI Partisi 1 175 Kbyte Partisi 2 175 Kbyte Partisi 3 175 Kbyte Partisi 4 175 Kbyte Partisi 5 175 Kbyte Gb 2. Multiprogramming dengan Pemartisian Statis Berukuran Sama
Partisi Statis dengan Ukuran Sama Proses yang ukurannya kecil atau sama dengan ukuran partisi ditempatkan ke sembarang partisi yang tersedia Kelemahan: Saling berebut Ukuran proses tidak sama dengan ukuran partisi
Partisi Statis dengan Ukuran Sama Contoh: Suatu memori berkapasitas 1 MB. Dimana memori terbagi atas 5 partisi masing-masing berkapasitas 175 KB (sisa ruang memori digunakan untuk SO). Ada beberapa job/proses yang antri untuk masuk ke memori, yaitu: job 1 = 125 KB job 2 = 75 KB job 3 = 400 KB job 4 = 160 KB Tentukan bagan memori dengan metoda pemartisian statis ukuran sama dan tentukan fragmentasi yang terjadi!
Partisi Statis dengan Ukuran Berbeda Ada 2 cara penempatan proses ke memori: Satu antrian untuk satu partisi Satu antrian untuk seluruh partisi SISTEM OPERASI 50 Kbyte Partisi 1 Partisi 2 100 Kbyte 75 Kbyte Partisi 3 Partisi 4 200 Kbyte Partisi 5 150 Kbyte Gb 3. Multiprogramming dengan Pemartisian Statis Berukuran Berbeda
1 Antrian untuk 1 Partisi Proses ditempatkan ke partisi paling kecil yang dapat memuatnya Keuntungan : Meminimalkan pemborosan memori Kelemahan : Terjadi antrian yang panjang
1 Antrian untuk 1 Partisi 150 Kbyte 100 Kbyte 50 Kbyte 100 Kbyte SISTEM OPERASI 100 Kbyte 50 Kbyte Partisi 1 Partisi 2 100 Kbyte Partisi 3 75 Kbyte Partisi 4 200 Kbyte Partisi 5 150 Kbyte Gb 4. Multiprogramming dengan Pemartisian Statis – 1 Antrian 1 Partisi
1 Antrian untuk Semua Partisi Proses-proses diantrikan di satu antrian tunggal untuk semua partisi Keuntungan : Lebih fleksibel serta implementasi dan operasi lebih minimal karena hanya mengelola satu antrian Kelemahan : Proses kecil ditempatkan dipartisi yang besar
1 Antrian untuk Semua Partisi SISTEM OPERASI 100 Kbyte 50 Kbyte Partisi 1 Partisi 2 100 Kbyte Partisi 3 75 Kbyte Partisi 4 200 Kbyte Partisi 5 150 Kbyte Gb 5. Multiprogramming dengan Pemartisian Statis – 1 Antrian Semua Partisi
Partisi Statis dengan Ukuran Berbeda Contoh: Memori berkapasitas 2 MB Partisi 1 = 400 KB Partisi 2 = 250 KB Partisi 3 = 450 KB Partisi 4 = 500 KB Antrian job sebagai berikut: job 1 = 475 KB job 4 = 410 KB job 7 = 60 KB job 2 = 100 KB job 5 = 500 KB job 3 = 225 KB job 6 = 150 KB Tentukan bagan memori…! Sisa digunakan untuk SO
Multiprogramming – Partisi Dinamis Jumlah, lokasi dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis Panjang dan jumlah partisi bersifat variabel Proses yang masuk ke memori segera dibuatkan partisi untuknya sesuai dengan kebutuhan Ukuran partisi yang dialokasikan akan disesuaikan dengan ukuran proses Meningkatkan utilitas memori
Multiprogramming – Partisi Dinamis Dapat terjadi lubang-lubang kecil memori di antara partisi-partisi yang dipakai Merumitkan alokasi dan dealokasi memori SISTEM OPERASI SISTEM OPERASI Proses 0 Proses 0 Proses 1 selesai Proses 1 BEBAS Proses 2 Proses 2 Proses 3 Proses 3 Proses 4 Proses 4 Proses 5 Proses 5 Proses 6 Proses 6
Multiprogramming – Partisi Dinamis SISTEM OPERASI SISTEM OPERASI Proses 0 Proses 0 BEBAS BEBAS Proses 2 Proses 2 Proses 3 selesai BEBAS BEBAS Proses 4 Proses 4 Proses 5 Proses 5 selesai BEBAS Proses 6 Proses 6 Memory Compaction (Pemadatan Memori) Operasi menggabungkan semua lubang kecil menjadi satu lubang besar dengan memindahkan semua proses agar saling berdekatan
Multiprogramming – Partisi Dinamis Kelemahan utama teknik memory compaction: Memerlukan waktu yang sangat banyak Sistem harus menghentikan sementara semua proses selagi melakukan compaction (pemadatan)
Strategi Alokasi Memori Alokasi harus mencari sekumpulan blok memori yang ukurannya mencukupi untuk memuat proses (lubang kosong) yang sama atau lebih besar dibanding ukuran memori yang diperlukan proses Beragam algoritma yang digunakan: First-fit algorithm Next-fit algorithm Best-fit algorithm Worst-fit algorithm
Strategi Alokasi Memori First-fit algorithm Melihat ketersediaan partisi (blok memori) dari pertama (awal), jika sesuai masukkan proses ke partisi pertama Sederhana dan cepat Best-fit algorithm Mencari ketersediaan blok memori (partisi) yang terkecil Fragmentasi eksternal dapat ditekan sekecil mungkin Memerlukan waktu yang lama
Strategi Alokasi Memori Next-fit algorithm Mencari ketersediaan blok memori (partisi) yang dimulai dari lokasi blok terakhir pada memori utama Worst-fit algorithm Mencari ketersediaan blok memori (partisi) yang terbesar
Sistem Paging Sistem manajemen pada sistem operasi dalam mengatur program yang sedang berjalan Program yang berjalan harus dimuat di memori utama Kendala yang terjadi apabila suatu program lebih besar dibandingkan dengan memori utama yang tersedia
Sistem Paging Dua solusi : Konsep Overlay Teknik pemograman yang membagi program menjadi bagian-bagian yang lebih kecil sehingga dapat dimuat secara parsial ke dalam suatu page memori yang berukuran kecil Konsep Memori Maya (virtual Memory) Adalah kemampuan mengalamati ruang memori melebihi memori utama yang tersedia. Konsep ini pertama kali dikemukakan Fotheringham pada tahun 1961 untuk sistem komputer Atlas di Universitas Manchester, Inggris.
Overlay Dimana program yang dijalankan dipecah menjadi beberapa bagian yang dapat dimuat memori (overlay) Overlay yang belum diperlukan pada saat program berjalan (tidak sedang di eksekusi) disimpan di disk, dimana nantinya overlay tersebut akan dimuat ke memori begitu diperlukan dalam eksekusinya
Overlay Pertukaran overlay masuk dan keluar memori dilakukan oleh sistem operasi Pembagian program menjadi overlay-overlay dilakukan pemogram Pembagian program menjadi potongan-potongan kecil dan modular menghabiskan banyak waktu Teknik overlay telah ditinggalkan karena teknik memori maya (virtual memori) telah dapat diimplementasikan dengan memperlihatkan kinerja bagus
Virtual Memory Teknik pemetaan memori yang melibatkan memori sekunder (harddisk) Memory yang dapat dibuat oleh user (pengguna komputer), yang digunakan oleh aplikasi untuk menggunakan sebagian dari memori sekunder seolah-olah ia menggunakannya sebagai RAM fisik Virtual memory bisa dibuat dengan menggunakan memori yang ada di harddisk, jumlahnya tidak dibatasi, tergantung dari besarnya sisa memori yang ada di hard disk.
Virtual Memory Konsep : Pemisahan antara “user logical memory” (virtual) dengan “physical memory” Logical address space dapat lebih besar dari alokasi memori fisik yang diberikan Hanya sebagian kecil dari program yang harus berada di memori untuk eksekusi Terdapat mekanisme untuk melakukan alokasi dan dealokasi page (swapped out dan in) sesuai dengan kebutuhan (referensi program) Terdapat bagian dari disk menyimpan sisa page (program) yang sedang dijalankan di memori.
Virtual Memory Gb 8. Pemetaan memori dengan melibatkan media penyimpanan pada virtual memori
Gb 9. Proses swapping program ke dalam memori Virtual Memory Gb 9. Proses swapping program ke dalam memori
Paging Membagi memori fisik ke dalam blok (page, frame) dengan ukuran tertentu (fixed) yang seragam Page job yang dibagi kedalam ukuran yang sama Block memory yang dibagi ke dalam ukuran yang sama Satu block hanya untuk satu page Sebuah page dapat dialokasikan ke dalam lebih dari satu block Page Map Table (PMT) tabel yang berisikan informasi tentang alamat PAGE di dalam memory untuk menghubungkan page dan block
Gb 10. Bagan Memori – Sistem Paging PMT SISTEM OPERASI Job A Page 0 P B Free area Block 0 Page 1 3 Page 1 Block 1 1 7 Page 0 Block 2 Job B Page 0 Block 3 Page 0 P B Page 1 2 Page 2 Block 4 Page 2 1 1 Free area Block 5 2 4 Free area Block 6 Page 1 Block 7 Gb 10. Bagan Memori – Sistem Paging
Paging Mengurangi fragmentasi Meningkatkan level multiprogramming Penggunaan processor dan memory lebih optimal Ruang memory banyak ditempati oleh PMT Pemrosesan relatif lebih lambat (slow down) atau overhead processor banyak terpakai untuk menangani (mengubah) isi PMT
Gb 11. Contoh Bagan Memori, dengan besarnya 10 KByte Paging SISTEM OPERASI Job 1 Page 0 5 1 KB Free area Page 1 1 6 2 KB Job 2 Page 0 3 KB Free area Job 2 4 KB Job 2 Page 1 Page 0 2 5 KB Job 1 Page 0 Page 1 1 4 6 KB Page 2 2 7 Job 1 Page 1 7 KB Job 2 Page 2 8 KB Job 3 Job 3 Page 0 9 KB Page 0 8 Free area 10 KB Gb 11. Contoh Bagan Memori, dengan besarnya 10 KByte
Demand Paging Dari Gb. 10 apabila masih ada job lagi namun jumlah block kurang maka digunakan teknik DEMAND PAGE Teknik yang segera memuatkan page begitu page dibutuhkan Istilah-istilah pada DEMAND PAGE : Page Reference Page Replacement Page Fetch Page Succesive Page Faulted
Demand Paging Page Reference Suatu daftar urutan page-page mana yang diminta oleh prosesor Page Replacement Proses penempatan page ke dalam block Page Fetch Proses penjemputan yang diminta oleh prosesor
Demand Paging Page Succesive Page yang di demand oleh prosesor telah berada di dalam block Page Faulted Page yang di demand oleh prosesor tidak ada di dalam block
Demand Paging Metode / Algoritma yang digunakan : First In First Out (FIFO) Yaitu : Page yang harus digantikan posisinya oleh page lain yang dibutuhkan oleh processor / dikembalikan ke Auxiliari Memory (AM) adalah page yang pertama kali masuk ke dalam block.
Demand Paging Metode / Algoritma yang digunakan : Least Recently Used (LRU) Yaitu : Page yang harus digantikan posisinya oleh page lain yang dibutuhkan oleh processor / dikembalikan ke Auxiliari Memory (AM) adalah page yang telah lama digunakan oleh processor.
Demand Paging Metode / Algoritma yang digunakan : Optimal Replacement (OR) Yaitu : Page yang harus digantikan posisinya oleh page lain yang dibutuhkan oleh processor / dikembalikan ke Auxiliari Memory (AM) adalah page yang masih lama lagi akan dialokasikan / digunakan oleh processor. Perbandingan tersebut dilakukan dengan melihat page reference yang ada.
See You