450 likes | 635 Views
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 :
E N D
ManajemenMemori Tujuan : Mengaturpemakaianruangmemoriutama yang terbatas agar dapatdigunakansecarabersamaolehbeberapaprosestanpamengganggusatusama lain
ManajemenMemori Fungsi: • Mengelolainformasimengenaimemori yang dipakaidantidakdipakaisistem • Mengalokasikanmemorikeproses yang memerlukan • Mendealokasikanmemoridariproses yang telahselesai • Mengelolaswappingantaramemoriutamadanharddisk
ManajemenMemori JenisMemori : • MemoriKerja • ROM/PROM/EPROM/EEPROM • RAM • Cache memory • MemoriDukung Floppy, harddisk, CD, dll.
HirarkiMemori REGISTER Gb 1. HubunganCache Memory, MemoriUtamadanMemoriSekunder CACHE MEMORY MEMORI UTAMA MEMORI SEKUNDER
TeknikManajemenMemori • Pemograman Tunggal (Monoprogramming) Suatupemograman yang hanyadigunakan 1 prosessajapadasuatuwaktu • PemogramanGanda (Multiprogramming) Pemogramanbisadilakukanlebihdari 1 proses
TeknikManajemenMemori • Pemograman Tunggal (Monoprogramming) Ciri-ciri: • Hanya 1 prosespadasatusaat • Hanya 1 prosesmenggunakansemuamemori • Pemakaimemuatkan program keseluruhmemoridaridiskatautape • Program mengambilkendaliseluruhmesin
TeknikManajemenMemori • PemogramanGanda (Multiprogramming) Dibedakanatas 3, yakni: • Multiprogramming denganpartisitetap / statis • Multiprogrammingdenganpartisidinamis • Page
Multiprogramming – PartisiTetap / Statis • 1 memoridibagimenjadibeberapabagian (partisi) yang tetap • Mempermudahpemogram • Agar dapatmemberikanlayananinteraktifkebeberapaorangsecarasimultan • Efisiensipenggunaansumberdaya • Eksekusilebihmurahjikaprosesbesardipecahmenjadibeberapaproseskecil • Dapatmengerjakansejumlahprosessecarasimultan
Multiprogramming – PartisiTetap / Statis • Pemartisianmenjadipartisi-partisiberukuransama • Ukuransemuapartisimemoriadalahsama • Pemartisianmenjadipartisi-partisiberukuranberbeda • ukuransemuapartisimemoriadalahberbeda
PartisiStatisdenganUkuranSama 175 Kbyte SISTEM OPERASI Partisi 1 Partisi 2 175 Kbyte Partisi 3 175 Kbyte Partisi 4 175 Kbyte Partisi 5 175 Kbyte Gb 2. MultiprogrammingdenganPemartisianStatisBerukuranSama
PartisiStatisdenganUkuranSama • Proses yang ukurannyakecilatausamadenganukuranpartisiditempatkankesembarangpartisi yang tersedia Kelemahan: • Salingberebut • Ukuranprosestidaksamadenganukuranpartisi
PartisiStatisdenganUkuranSama Contoh: Suatumemoriberkapasitas 1 MB. Dimanamemoriterbagiatas 5 partisimasing-masingberkapasitas 175 KB (sisaruangmemoridigunakanuntuk SO). Adabeberapa job/proses yang antriuntukmasukkememori, yaitu: job 1 = 125 KB job 2 = 75 KB job 3 = 400 KB job 4 = 160 KB Tentukanbaganmemoridenganmetodapemartisianstatisukuransamadantentukanfragmentasi yang terjadi!
PartisiStatisdenganUkuranBerbeda Ada 2 carapenempatanproseskememori: • Satuantrianuntuksatupartisi • Satuantrianuntukseluruhpartisi SISTEM OPERASI 50 Kbyte Partisi 1 Partisi 2 100 Kbyte 75 Kbyte Partisi 3 Partisi 4 200 Kbyte Partisi 5 150 Kbyte Gb 3. MultiprogrammingdenganPemartisianStatisBerukuranBerbeda
1 Antrianuntuk 1 Partisi • Prosesditempatkankepartisi paling kecil yang dapatmemuatnya Keuntungan: • Meminimalkanpemborosanmemori Kelemahan : • Terjadiantrian yang panjang
1 Antrianuntuk 1 Partisi 50 Kbyte SISTEM OPERASI 100 Kbyte Partisi 1 Partisi 2 100 Kbyte Partisi 3 75 Kbyte Partisi 4 200 Kbyte Partisi 5 150 Kbyte Gb 4. MultiprogrammingdenganPemartisianStatis – 1 Antrian 1 Partisi
1 AntrianuntukSemuaPartisi • Proses-prosesdiantrikandisatuantriantunggaluntuksemuapartisi Keuntungan: • Lebihfleksibelsertaimplementasidanoperasilebih minimal karenahanyamengelolasatuantrian Kelemahan : • Proseskecilditempatkandipartisi yang besar
1 AntrianuntukSemuaPartisi 50 Kbyte SISTEM OPERASI 100 Kbyte Partisi 1 Partisi 2 100 Kbyte Partisi 3 75 Kbyte Partisi 4 200 Kbyte Partisi 5 150 Kbyte Gb 5. MultiprogrammingdenganPemartisianStatis – 1 AntrianSemuaPartisi
PartisiStatisdenganUkuranBerbeda Contoh: Memoriberkapasitas 2 MB Partisi 1 = 400 KB Partisi 2 = 250 KB Partisi 3 = 450 KB Partisi 4 = 500 KB Antrian job sebagaiberikut: 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 Tentukanbaganmemori…! Sisadigunakanuntuk SO
Multiprogramming – PartisiDinamis • Jumlah, lokasidanukuranprosesdimemoridapatberagamsepanjangwaktusecaradinamis • Panjangdanjumlahpartisibersifatvariabel • Proses yang masukkememorisegeradibuatkanpartisiuntuknyasesuaidengankebutuhan • Ukuranpartisi yang dialokasikanakandisesuaikandenganukuranproses • Meningkatkanutilitasmemori
Multiprogramming – PartisiDinamis • Dapatterjadilubang-lubangkecilmemoridiantarapartisi-partisi yang dipakai • Merumitkanalokasidandealokasimemori 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 – PartisiDinamis SISTEM OPERASI SISTEM OPERASI Memory Compaction (PemadatanMemori) Operasimenggabungkansemualubangkecilmenjadisatulubangbesardenganmemindahkansemuaproses agar salingberdekatan 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
Multiprogramming – PartisiDinamis Kelemahanutamateknikmemory compaction: • Memerlukanwaktu yang sangatbanyak • Sistemharusmenghentikansementarasemuaprosesselagimelakukancompaction (pemadatan)
StrategiAlokasiMemori Alokasiharusmencarisekumpulanblokmemori yang ukurannyamencukupiuntukmemuatproses (lubangkosong) yang samaataulebihbesardibandingukuranmemori yang diperlukanproses Beragamalgoritma yang digunakan: • First-fit algorithm • Next-fit algorithm • Best-fit algorithm • Worst-fit algorithm
StrategiAlokasiMemori • First-fit algorithm Melihatketersediaanpartisi (blokmemori) daripertama (awal), jikasesuaimasukkanproseskepartisipertama • Sederhanadancepat • Best-fit algorithm Mencariketersediaanblokmemori (partisi) yang terkecil • Fragmentasieksternaldapatditekansekecilmungkin • Memerlukanwaktu yang lama
StrategiAlokasiMemori • Next-fit algorithm Mencariketersediaanblokmemori (partisi) yang dimulaidarilokasiblokterakhirpadamemoriutama • Worst-fit algorithm Mencariketersediaanblokmemori (partisi) yang terbesar
Sistem Paging • Sistemmanajemenpadasistemoperasidalammengatur program yang sedangberjalan • Program yang berjalanharusdimuatdimemoriutama • Kendala yang terjadiapabilasuatu program lebihbesardibandingkandenganmemoriutama yang tersedia
Sistem Paging Duasolusi : • Konsep Overlay Teknikpemograman yang membagi program menjadibagian-bagian yang lebihkecilsehinggadapatdimuatsecaraparsialkedalamsuatupagememori yang berukurankecil • KonsepMemori Maya (virtual Memory) Adalahkemampuanmengalamatiruangmemorimelebihimemoriutama yang tersedia. Konsepinipertama kali dikemukakanFotheringhampadatahun 1961 untuksistemkomputer Atlas diUniversitas Manchester, Inggris.
Overlay • Dimana program yang dijalankandipecahmenjadibeberapabagian yang dapatdimuatmemori (overlay) • Overlay yang belumdiperlukanpadasaat program berjalan (tidaksedangdieksekusi) disimpandi disk, dimananantinya overlay tersebutakandimuatkememoribegitudiperlukandalameksekusinya
Overlay • Pertukaranoverlaymasukdankeluarmemoridilakukanolehsistemoperasi • Pembagian program menjadioverlay-overlaydilakukanpemogram • Pembagian program menjadipotongan-potongankecildanmodularmenghabiskanbanyakwaktu • Teknikoverlaytelahditinggalkankarenateknikmemorimaya (virtual memori) telahdapatdiimplementasikandenganmemperlihatkankinerjabagus
Virtual Memory • Teknikpemetaanmemori yang melibatkanmemorisekunder (harddisk) • Memory yang dapatdibuatolehuser (penggunakomputer), yang digunakanolehaplikasiuntukmenggunakansebagiandarimemorisekunderseolah-olahiamenggunakannyasebagai RAM fisik • Virtual memorybisadibuatdenganmenggunakanmemori yang adadiharddisk, jumlahnyatidakdibatasi, tergantungdaribesarnyasisamemori yang adadi hard disk.
Virtual Memory Konsep : • Pemisahanantara “user logical memory” (virtual) dengan “physical memory” • Logical address space dapatlebihbesardarialokasimemorifisik yang diberikan • Hanyasebagiankecildari program yang harusberadadimemoriuntukeksekusi • Terdapatmekanismeuntukmelakukanalokasidandealokasi page (swapped out danin) sesuaidengankebutuhan (referensi program) • Terdapatbagiandari disk menyimpansisa page (program) yang sedangdijalankandimemori.
Virtual Memory Gb 8. Pemetaanmemoridenganmelibatkan media penyimpananpada virtual memori
Virtual Memory Gb 9. Proses swapping program kedalammemori
Paging • Membagimemorifisikkedalamblok (page, frame) denganukurantertentu (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 • Sebuahpagedapatdialokasikankedalamlebihdarisatublock • Page Map Table (PMT) tabel yang berisikaninformasitentangalamatPAGEdidalammemory untukmenghubungkan page dan block
Paging PMT SISTEM OPERASI Job A Page 0 P B Block 0 Free area Page 1 0 3 Block 1 Page 1 1 7 Page 0 Block 2 Job B Page 0 Block 3 Page 0 P B Block 4 Page 1 0 2 Page 2 Page 2 1 1 Free area Block 5 2 4 Block 6 Free area Block 7 Page 1 Gb 10. BaganMemori – 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
Paging SISTEM OPERASI Job 1 1 KB Page 0 0 5 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 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 0 8 Free area 10 KB Gb 11. ContohBaganMemori, denganbesarnya 10 KByte
Demand Paging • Dari Gb. 10 apabilamasihada job laginamunjumlahblockkurangmakadigunakanteknik DEMAND PAGE • Teknik yang segeramemuatkanpagebegitupagedibutuhkan Istilah-istilahpada DEMAND PAGE : • Page Reference • Page Replacement • Page Fetch • Page Succesive • Page Faulted
DemandPaging • Page Reference Suatudaftarurutanpage-pagemana yang dimintaolehprosesor • Page Replacement Prosespenempatanpage kedalamblock • Page Fetch Prosespenjemputan yang dimintaolehprosesor
DemandPaging • Page Succesive Page yang didemand olehprosesortelahberadadidalamblock • Page Faulted Page yang didemandolehprosesortidakadadidalamblock
DemandPaging 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 yangpertama kalimasuk ke dalam block.
DemandPaging 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 yangtelah lamadigunakan oleh processor.
DemandPaging 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 yangmasih lamalagi akan dialokasikan / digunakan oleh processor. Perbandingan tersebut dilakukan dengan melihat page reference yang ada.