1 / 30

Razief Perucha F.A Jurusan Informatika Fakultas Matematika dan Ilmu Pengetahuan Alam

Sistem Operasi ( pertemuan 5) Memori. Razief Perucha F.A Jurusan Informatika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Syiah Kuala 2012. Strategi Alokasi Frame. adalah bagaimana membagi memori yang bebas untuk beberapa proses yang sedang dikerjakan .

warren
Télécharger la présentation

Razief Perucha F.A Jurusan Informatika Fakultas Matematika dan Ilmu Pengetahuan Alam

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SistemOperasi (pertemuan 5) Memori Razief Perucha F.A JurusanInformatika FakultasMatematikadanIlmuPengetahuanAlam UniversitasSyiah Kuala 2012

  2. StrategiAlokasi Frame adalahbagaimanamembagimemori yang bebasuntukbeberapaproses yang sedangdikerjakan. Strategisederhana : Memintasistemoperasiuntukmengalokasikanseluruh buffer danruangtabelnyadaridaftar frame bebas. Teknis : Saatruanginitidakdigunakanolehsistemoperasi, ruanginibisadigunakanuntukmendukungpermintaanhalamandari user.

  3. StrategiAlokasi Frame Strategisederhana: Menyimpantiga frame bebasdaridaftar frame bebas, sehinggaketikaterjadikesalahanhalaman, ada frame bebas yang dapatdigunakanuntukpermintaanhalaman. Teknis: Saatpenggantian halaman terjadi, penggantinya dapat dipilih, kemudian ditulis ke disk, sementara proses user tetapberjalan.

  4. StrategiAlokasi Frame Prosespenggunadiberikan frame bebas yang manasaja. Masalah : Ketikapenggantianhalamandikombinasikandengan multiprogramming. Terjadikarena multiprogramming menaruhdua (ataulebih) prosesdimemoripadawaktu yang bersamaan.

  5. JumlahFrame Minimum Suatubatasandalammengalokasikan frame. Tidakdapatmengalokasikan frame lebihdarijumlah frame yang ada. Hal yang utama : Berapa minimum frame yang harusdialokasikanagar jika sebuah instruksi dijalankan, semua informasinya ada dalam memori.

  6. JumlahFrame Minimum Jika terjadi kesalahan halamansebelumeksekusiselesai, instruksitersebutharusdiulang. Sehinggakitaharusmempunyaijumlah frame yang cukupuntukmenampungsemuahalaman yang dibutuhkanolehsebuahinstruksi. Jumlah frame mimimum yang bisadialokasikanditentukanoleharsitekturkomputer.

  7. AlgoritmaAlokasi Jumlah minimum daribingkaiuntuksetiapprosesdidefinisikanoleharsitekturkomputer, Jumlah maksimum bingkai didefinisikan oleh banyaknya memori fisik yang terdapat di komputer. Sistemoperasidiberikankebebasanuntukmengaturpengalokasikanbingkaiuntuksuatuproses.

  8. AlgoritmaAlokasi • AlgoritmaAlokasi: • Equal allocation. • Proportional allocation. • Alokasiprioritas (Priority Allocation)

  9. AlgoritmaAlokasi • Equal allocation: • Algoritmainimemberikanbagian yang sama, sebanyak m/n bingkaiuntuktiapproses.

  10. AlgoritmaAlokasi Contoh Equal allocation: Sebagaicontohada 100 bingkaitersisa Ada lima proses, Makatiapprosesakanmendapatkan 20 bingkai. Jikaadasebuahprosessebesar 10K dansebuahproses basis data 127K. Hanya kedua proses ini yang berjalan pada sistem, Maka ketika ada 62 bingkai bebas,tidakmasukakaljikakitamemberikanmasing-masingproses 31 bingkai. Bingkaitersisa, sebanyaktigabuahdapatdigunakansebagaibingkaibebascadangandanternyataprosespertamacukuphanyamengunakan 10 bingkaidan 21 bingkaitidakdipergunakandanterbuangpercuma.

  11. AlgoritmaAlokasi • Proportional allocation: • mengunakanalokasimemori yang tersediakepadasetiapprosesdenganmelihatpadabesarnyaukuranproses.

  12. AlgoritmaAlokasi • Contoh Proportional allocation: • Ukuranmemori virtual untukproses pi = si, dan S = sijumlahproses. • Jumlah total daribingkai yang tersediaadalah m, • Kita mengalokasikanprosesaikeproses pi, dimanaaimendekati: • si = ukuranbesarnyaproses pi • S = jumlah total darisi • m = jumlahbingkai • ai = alokasi bingkai pi= si/S x m • misal: • m = 64 • s1 = 10 • s2 = 127 • a1= 10/137 x 64 = 5 bingkai • a2 = 127/137 x 64 =59 bingkai

  13. AlgoritmaAlokasi • Alokasiuntuksetiapprosesbisabervariasiberdasarkan multiprogramming level-nya. • Jika multiprogramming level-nyameningkat: • Setiapprosesakankehilanganbeberapa frame gunamenyediakanmemori yang dibutuhkanuntukproses yang baru. • Jika multiprogramming level-nyamenurun: • Frame yang sudahdialokasikanpadabagianprosessekarangbisadisebarkeproses-proses yang masihtersisa. • Equal allocation atau proportional allocation, akanmemperlakukanproses yang berprioritastinggisamadenganproses yang berprioritasrendah.

  14. AlgoritmaAlokasi Memberikanmemori yang lebihpadaproses yang berprioritastinggiuntukmempercepateksekusi-nya. Pendekatan: Menggunakan skema proportional allocation yaitu perbandingan frame-nyatidaktergantungpadaukuranrelatifdariproses, melainkanlebihpadaprioritasproses, atautergantungkombinasidariukurandanprioritas. Algoritmainidinamakanalokasiprioritas.

  15. Alokasi Global danLokal • Hal pentinglainnyadalampengalokasian frame adalahpergantianhalaman. • Proses-prosesbersaingmendapatkan frame. • Algoritmapenggantianhalamanterdapatdua kategori; • Penggantian Global • Penggantian Lokal

  16. Alokasi Global danLokal • Penggantian Global • Pergantian global memperbolehkansebuahprosesmencari frame penggantidarisemua frame-frame yang ada. • Keuntungan : Efisien • Kekurangan : Ada kemungkinan proses lain tidak mendapatkan frame karena framenya terambil oleh proses lain. • Aturan : Setiapproseshanyabolehmemilih frame penggantidari frame-frame yang memangdialokasikanuntukprosesitusendiri. • Contoh: adasebuahskemaalokasi yang memperbolehkanprosesberprioritastinggi untuk mencari frame pengganti dari proses yang berprioritas rendah. • Proses berprioritas tinggi inidapatmancari frame penggantidari frame-frame yang telahdialokasikanuntuknyaataudari frame-frame yang dialokasikanuntukprosesberprioritaslebihrendah.

  17. Alokasi Global danLokal Penggantianlokal Aturan : Setiapproseshanyabolehmemilihbingkaipenggantidari frame-frame yang memangdialokasikanuntukprosesitusendiri. Keuntungan: dapatmenyembunyikansebuahprosesdengan membuatnya tidak tersedia bagi proses lain, menggunakan halaman yang lebih sedikit pada memori. Contoh: adasebuahskemaalokasi yang memperbolehkanprosesberprioritastinggiuntukmencaribingkaipenggantidariproses yang berprioritasrendah. Prosesberprioritastinggiinidapatmancaribingkaipenggantidari frame- bingkai yang telahdialokasikanatau frame-frame yang dialokasikanuntukprosesberprioritaslebihrendah. Dalampenggantianlokal, jumlahbingkai yang teralokasitidakberubah.

  18. Alokasi Global danLokal Penggantian Global : Adakemungkinansebuahproseshanyamenyeleksibingkai-frame yang teralokasipadaproses lain. MasalahPenggantian Global : Sebuahprosestidakbisamengontrolkasalahanhalaman-nyasendiri. Penggantian Global: Halaman-halamandalammemoriuntuksebuahprosestergantungpada prilaku penghalamanan dari proses tersebut dan pada prilaku penghalamanandariproses lain. PenggantianLokal: halaman-halamandalammemoriuntuksebuahproseshanyadipengaruhiprilakupenghalamananprosesitusendiri. SecaraumumPenggantian Global menghasilkansistem throughput yang lebihbagus, (paling seringdigunakan)

  19. Thrashing Keadaandimanaterdapataktifitas yang tinggidaripenghalamanan. Yaitupada saat sistem sibuk melakukan swap-in dan swap-out dikarenakanbanyakkasalahanhalaman yang terjadi. Suatuprosesdapatmengurangijumlah frame yang digunakandenganalokasi yang minimum. Tetapijikasebuahprosestidakmemiliki frame yang cukup, tetapadahalamandalamjumlahbesar yang memilikikondisiaktifdigunakan. Makahalinimengakibatkankasalahanhalaman. Untukseterusnyasistemharusmenggantibeberapahalamanmenjadihalaman yang akandibutuhkan. Karenasemuahalamannyaaktif digunakan, maka halaman yang diganti adalah halaman yang dalam waktu dekat berkemungkinanakandigunakankembali. Hal inimengakibatkankesalahanhalaman yang terus-menerus

  20. PenyebabThrashing Utilitasdari CPU selaludiharapkantinggihinggamendekati 100%. Jikaproses yang dikerjakan CPU hanyasedikit, makakitatidakbisamenjaga agar CPU sibuk. Utilitasdari CPU bisaditingkatkandenganmeningkatkanjumlahproses. JikaUtilitas CPU rendah, makasistemakanmenambahderajatdarimultiprogramming yang berartimenambahjumlahproses yang sedangberjalan. Padatitiktertentu, menambahjumlahprosesjustruakanmenyebabkanutilitas CPU turundrastisdikarenakanproses-proses yang barutidakmempunyamemori yang cukupuntukberjalansecaraefisien.

  21. PenyebabThrashing Padatitikiniterjadiaktifitaspenghalamanan yang tinggi yang akanmenyebabkanthrashing. Ketikasistemmendeteksibahwautilitas CPU menurundenganbertambahnyaproses, makasistemmeningkatkanlagiderajatdarimultiprogramming. Proses-proses yang baruberusahamerebutframe-frame yang telahdialokasikanuntukproses yang sedangberjalan. Hal inimengakibatkankesalahanhalamanmeningkattajam. Utilitas CPU akanmenurundengansangatdrastisdiakibatkanolehsistem yang terusmenerusmenambahderajatmultiprogramming.

  22. Derajatdari multiprogramming

  23. MembatasiEfekThrashing Efekdarithrashing dapatdibatasidenganalgoritmapergantianlokalatauprioritas. Denganpergantianlokal, jikasatuprosesmulaithrashing, prosestersebutdapatmengambil frame dariproses yang lain danmenyebabkanprosesitutidaklangsungthrashing. Jikaprosesmulai thrashing, prosesituakanberadapadaantrianuntukmelakukanpenghalamanan yang manahalinimemakanbanyakwaktu. Rata-rata waktulayananuntukkesalahanhalamanakanbertambahseiringdenganmakinpanjangnya rata-rata antrianuntukmelakukanpenghalamanan. Maka, waktuaksesefektifakanbertambahwalaupununtuksuatuproses yang tidakthrashing.

  24. MembatasiEfekThrashing Salahsatucarauntukmenghindarithrashing, denganmenyediakansebanyakmungkin frame sesuaidengankebutuhansuatuproses. Cara untukmengetahuiberapaframe yang dibutuhkansalahsatunyaadalahdenganstrategiWorking Set. Selamasatuprosesdieksekusi, model lokalitasberpindahdarisatulokalitassatukelokalitaslainnnya. Lokalitasadalahkumpulanhalaman yang aktifdigunakanbersama. Suatu program padaumumnyadibuatpadabeberapalokalitassehinggaadakemungkinanterjadioverlap. Thrashing dapatmunculbilaukuranlokalitaslebihbesardariukuranmemori total.

  25. Model Working Set Strategi Working set dimulaidenganmelihatberapabanyak frame yang sesungguhnyadigunakanolehsuatuproses. Working set model mengatakanbahwasistemhanyaakanberjalansecaraefisienjikamasing-masingprosesdiberikanjumlahhalaman frame yang cukup. Jikajumlah frame tidakcukupuntukmenampungsemuaproses yang ada, makaakanlebihbaikuntukmenghentikansatuprosesdanmemberikanhalamannyauntukproses yang lain. Working set model merupakan model lokalitasdarisuatueksekusiproses. Model inimenggunakan parameter (delta) untukmendefinisikan working set window. Kumpulan darihalamandenganhalaman yang dituju yang paling seringmunculdisebut working set. Working set adalahpendekatandari program lokalitas.

  26. Model Working Set Keakuratan working set tergantungpadapemilihan: Jika delta terlalukecil, tidakakandapatmewakilkankeseluruhandarilokalitas. Jika delta terlalubesar, akanmenyebabkan overlap beberapalokalitas. Jika delta tidakterbatas, working set adalahkumpulan page sepanjangeksekusi program.

  27. Model Working Set JikakitamenghitungukurandariWorking Set, WWSi, untuksetiapprosespadasistem, kitahitungdengan D = WSSi, dimana D merupakan total demand untuk frame. Jika total perminataanlebihdari total banyaknyaframe yang tersedia (D > m), thrashing dapatterjadikarenabeberapaprosesakantidakmemilikiframe yang cukup. Jikahaltersebutterjadi, dilakukan satu pengeblokan dari proses-proses yang sedang berjalan. StrategiWorking Set menangani thrashing dengantetapmempertahankanderajatdari multiprogramming setinggimungkin.

  28. FrekuensiKesalahanHalaman Working-set dapatbergunauntukprepaging, tetapikurangdapatmengontrolthrashing. Strateginyamenggunakanfrekuensikesalahanhalamanmengambilpendekatan yang lebihlangsung.

  29. GambarFrekuensi-kesalahan-halaman

  30. Referensi PengantarSistemOperasiKomputer: Plus Ilustrasi Kernel Linux olehMasyarakat Digital GotongRoyong (MDGR)

More Related