Download
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Razief Perucha F.A Jurusan Informatika Fakultas Matematika dan Ilmu Pengetahuan Alam PowerPoint Presentation
Download Presentation
Razief Perucha F.A Jurusan Informatika Fakultas Matematika dan Ilmu Pengetahuan Alam

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

208 Views Download Presentation
Download Presentation

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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

  2. Prepaging Pemilihanalgoritmapenggantiandanaturanalokasiadalahkeputusan-keputusanutama yang kitabuatuntuksistempemberianhalaman. Sebuahciridarisistempermintaanpemberianhalamanmurniadalahbanyaknyakesalahanhalaman yang terjadisaatprosesdimulai. Situasiinimerupakanhasildaripercobaanuntukmendapatkantempatpadaawalnya. Situasi yang samamungkinmunculdi lain waktu. Misalnyasaatprosesswapped-out dimulaikembali, seluruhhalamanadadicakramdansetiaphalamanharusdibawakedalammemori yang akanmengakibatkanbanyaknyakesalahanhalaman.

  3. Prepaging • Tujuan : • mencobauntukmencegahpemberianhalamanawaltingkattinggiini. • Strateginya : • untukmembawaseluruhhalaman yang akandibutuhkanpadasatuwaktukememori.

  4. Prepaging Contoh: Padasistem yang menggunakan model working set, untuksetiapprosesterdapatdaftardarisemuahalaman yang adapada working setnya. Jikakitaharusmenundasebuahproses (karenamenunggu M/K ataukekurangan frame bebas), daftar working set untukprosestersebutdisimpan. Saatprosesituakandilanjutkankembali (permintaan M/K telahterpenuhiatau frame bebas yang cukup), secaraotomatisseluruh working set-nyaakandibawakedalammemorisebelummemulaikembaliprosestersebut.

  5. Prepaging Yang harusdipertimbangkanadalah : Apakahbiayamenggunakan prepaging lebih sedikit dari biaya menangani kesalahan halaman yang terjadi bila tidakmemakaiprepaging. Jikabiayaprepaginglebihsedikit (karenahampirseluruhhalaman yang diprepagedigunakan) makaprepagingakanberguna. Jikabiayaprepaginglebihbesar (karenahanyasedikithalamandari yang di-prepagedigunakan) makaprepagingakanmerugikan.

  6. UkuranHalaman Para perancangsistemoperasiuntukmesin yang sudahadajarangmemilikipilihanterhadapukuranhalaman. Tetapi saat merancang sebuah mesin baru, harus dipertimbangkan berapa ukuran halaman yang terbaik. Padadasarnyatidakadaukuranhalaman yang paling baik, karenabanyaknyafaktor-faktor yang mempengaruhinya. Salah satu faktor adalah ukuran tabel halaman. Setiapproses yang aktifharusmemilikisalinandaritabelhalaman-nya, jadi lebih masuk akal jika dipilih ukuran halaman yang besar.

  7. UkuranHalaman Pemanfaatanmemorilebihbaikdenganhalaman yang lebihkecil. Jikasebuahprosesdialokasikandimemori, mengambilsemuahalaman yang dibutuhkannya, mungkinprosestersebuttidakakanberakhirpadabatasdarihalamanterakhir. Jadi, adabagiandarihalamanterakhir yang tidakdigunakanwalaupuntelahdialokasikan. Masalah lain adalahwaktu yang dibutuhkanuntukmembacaataumenulishalaman.

  8. UkuranHalaman • Waktu M/K (masukkan/keluaran) terdiridari • waktupencarian, • latency dan • transfer. • Waktu transfer sebandingdenganjumlah yang dipindahkan (yaitu, ukuranhalaman). • Sedangkanwaktupencariandanlatency biasanyajauhlebihbesardariwaktu transfer. • Untukmeminimalisasiwaktu M/K dibutuhkanukuranhalaman yang lebihbesar. • Untuk mengurangijumlahkesalahanhalamandibutuhkanukuranhalaman yang besar.

  9. UkuranHalaman Masihadafaktor lain yang harusdipertimbangkan (misalnyahubunganantaraukuranhalamandenganukuransektorpadaperantipemberianhalaman). Tidakadajawaban yang pastiberapaukuranhalaman yang paling baik. Sebagaiacuan, pada 1990, ukuranhalaman yang paling banyakdipakaiadalah 4096 bytes. Sedangkansistem modern saatinimenggunakanukuranhalaman yang jauhlebihbesardariitu.

  10. JangkauanTLB Hit ratio dari TLB adalahpersentasialamat virtual yang diselesaikandalam TLB daripadaditabelhalaman. TLB (translation look-aside buffer) adalahsuatutempatpenyimpanan (sementara) dimanamemorimanajemen hardware gunakanuntukmeningkatkankecepatanpenerjemahanhalaman virtual . Hit ratio sendiriberhubungandenganjumlahmasukandalam TLB . Cara untukmeningkatkan hit ratio adalahdenganmenambahjumlahmasukandari TLB. Tetapiinitidaklahmurahkarenamemori yang dipakaiuntukmembuat TLB mahaldanhausakantenaga.

  11. JangkauanTLB Adasuatuukuran lain yang miripdengan hit ratio yaitujangkauan TLB. Jangkauan TLB adalahjumlahmemori yang dapatdiaksesdari TLB, Jumlahtersebutmerupakanperkaliandarijumlahmasukandenganukuranhalaman. Idealnya, working set darisebuahprosesdisimpandalam TLB. Jikatidak, makaprosesakanmenghabiskanwaktu yang cukupbanyakmengatasireferensimemorididalamtabelhalamandaripadadi TLB.

  12. JangkauanTLB Jikajumlahmasukandari TLB dilipatgandakan, makajangkauan TLB jugaakanbertambahmenjadidua kali lipat. Tetapiuntukbeberapaaplikasihalinimasihbelumcukupuntukmenyimpan working set. Cara lain untukmeningkatkanjangkauan TLB adalahdenganmenambahukuranhalaman.

  13. JangkauanTLB Bilaukuranhalamandijadikanempat kali lipatdariukuranawalnya (misalnyadari 32 KB menjadi 128 KB), makajangkauan TLB jugaakanmenjadiempat kali lipatnya. Namuniniakanmeningkatkanfragmentasiuntukaplikasi-aplikasi yang tidakmembutuhkanukuranhalamansebesaritu. Sebagaialternatif, OS dapatmenyediakanukuranhalaman yang bervariasi. Sebagaicontoh, UltraSparc II menyediakanhalamanberukuran 8 KB, 64 KB, 512 KB, dan 4 MB. Sedangkan Solaris 2 hanyamenggunakan halaman ukuran 8 KB dan 4 MB.

  14. JangkauanTLB Contoh: Sebuahskemapenghalamananmenggunakan TLB. Akses time dari TLB adalah 10 ns danaksesdari memory adalah 30 ns. Berapawaktuaksesefektifnya ( Effective Access Time) jika TLB hit rationya 90%, jikatidakadakesalahanhalaman. Jawab: ( total AT ) * TLB hit ratio + (TLB access time + memori access time + memoriakses time) * ( 1 – TLB hit ratio ) = ( 10 + 30 ) * 0.90 + (10 + 30 + 30 ) * ( 1 – 0.90 ) = 43 ns

  15. TabelHalaman yang Dibalik Kegunaan : untukmengurangijumlahmemorifisik yang dibutuhkanuntukmelacakpenerjemahanalamat virtual-ke-fisik. Metodepenghematan : membuattabel yang memilikihanyasatumasukantiaphalamanmemorifisik, terdaftarolehpasangan (proses-id, nomor-halaman). Karenamenyimpaninformasitentanghalamanmemori virtual yang mana yang disimpandisetiapframe fisik, tabelhalaman yang dibalikmengurangijumlahfisikmemori yang dibutuhkanuntukmenyimpaninformasiini. Tabelhalaman yang dibaliktidaklagimengandunginformasi yang lengkaptentangruangalamatlogisdarisebuahproses, daninformasiitudibutuhkanjikahalaman yang direferensikantidaksedangberadadimemori.

  16. TabelHalaman yang Dibalik Demand paging membutuhkaninformasi tentangruangalamatlogisdarisebuahprosesuntuk memproses kesalahan halaman. Agar informasi ini tersedia, sebuah tabel halamaneksternal (satutiapproses) harustetapdisimpan. Setiaptabeltampaksepertitabelhalaman per prosestradisional, mengandunginformasidimanasetiaphalaman virtual berada.

  17. Struktur Program Pemilihanstruktur data danstrukturpemogramansecaracermatdapatmeningkatkanlocality Jugadapatmenurunkantingkatkesalahanhalamandanjumlahhalamandiworking set. Sebuah stack memilikilocality yang baik, karenaaksesselaludariatas.

  18. Struktur Program • Sebuah hash table, disisi lain, didesainuntukmenyebarreferensi-referensi, menghasilkanlocality yang buruk. • Referensiakan locality hanyalahsatuukurandariefisiensipenggunaanstruktur data. • Faktor-faktor lain yang berbobotberat: • kecepatanpencarian, • jumlah total darireferensidan • jumlah total darihalaman yang disentuh.

  19. Interlock M/K Sebuahprosesmengeluarkanpermintaan M/K, dandiletakkandiantrianuntuk M/K tersebut. Sementaraitu, CPU diberikan ke proses- proses lain. Proses-proses ini menimbulkan kesalahan halaman, dan, menggunakanalgoritmapenggantian global, Halaman-halamanuntukprosestersebut dikeluarkan.

  20. Interlock M/K • Saat permintaan M/K bergerak maju menuju ujung dariantrianperanti, M/K terjadikealamat yang telahditetapkan. • Bagaimana pun, frame inisekarangsedangdigunakanuntukhalamanberbedamilikproses lain. • Adaduasolusiuntukmasalahini. • Janganpernahmenjalankan M/K kepadamemoripengguna. • Denganmengizinkanhalamanuntukdikuncidalammemori.

  21. Interlock M/K Saat demand paging digunakan, kita terkadang harus mengizinkan beberapa halaman untuk dikunci di memori. Salah satu situasi muncul saat M/K dilakukan ke atau dari memori pengguna (virtual). M/K seringdiimplementasikanolehprosesor M/K yang terpisah. Sebagaicontoh, sebuahpengendali pita magnetik pada umumnya diberikan jumlah bytes yang akan dipindahkan dan alamat memoriuntuk buffer. Saatpemindahanselesai, CPU diinterupsi.

  22. PemrosesanWaktuNyata Denganmenggunakanmemoriuntuk data yang aktif, danmemindahkan data yang tidakaktifkecakram, kitameningkatkan throughput. Proses individual dapatmenderitasebagaihasilnya, Sebab mereka sekarang mendapatkan kesalahan halaman tambahan selama eksekusi.

  23. PemrosesanWaktuNyata Pertimbangkansebuahprosesatau thread waktu-nyata. Prosestersebutberharapuntukmemperolehkendali CPU, danuntukmenjalankanpenyelesaiandenganpenundaan yang minimum. Memori virtual adalahkebalikandarikomputasiwaktunyata. Untukitulah, sistem-sistemwaktunyatahampirtidakmemilikimemori virtual

  24. Keluarga Windows NT Windows XP mengimplementasikanmemori virtual denganmenggunakanpermintaanhalamanmelalui clustering. Clustering menangananikesalahanhalamandenganmenambahkantidakhanyahalaman yang terkenakesalahan, tetapijugahalaman-halaman yang beradadisekitarnyakedalammemorifisik.

  25. Keluarga Windows NT Saatprosespertamadibuat, diberikan working set minimum yaitujumlah minimum halaman yang dijaminakandimilikiolehprosestersebutdalammemori. Jikamemori yang cukuptersedia, prosesdapatdiberikanhalamansampaisebanyak working set maximum. Manager memori virtual akanmenyimpandaftardaribingkai yang bebas.

  26. Keluarga Windows NT Terdapatjugasebuahnilaibatasan yang diasosiasikandengandaftariniuntukmengindikasikanapakahmemori yang tersediamasihmencukupi. Jikaprosestersebutsudahsampaipada working set maximum-nyadanterjadikesalahanhalaman, makadiaharusmemilihbingkaipenggantidenganaturanpenggantianlokal. Saatjumlahmemoribebasjatuhdibawahnilaibatasan, manager memori virtual menggunakansebuahtaktik yang dikenalsebagai automatic working set trimming untukmengembalikannilaitersebutdiatasnilaibatas.

  27. Keluarga Windows NT Cara inibergunauntukmengevaluasijumlahhalaman yang dialokasikankepadaproses. Jikaprosestelahmendapatalokasihalamanlebihbesardaripada working set minimum-nya, manager memori virtual akanmengurangijumlahhalamannyasampai working-set minimum. Jikamemoribebassudahtersedia, proses yang bekerjapada working set minimum akanmendapatkanhalamantambahan.

  28. Solaris 2 Dalamsistemoperasi Solaris 2, jikasebuahprosesmenyebabkanterjadikesalahanhalaman, kernel akanmemberikanhalamankepadaprosestersebutdaridaftarhalamanbebas yang disimpan. Akibatdarihaliniadalah, kernel harusmenyimpansejumlahmemoribebas. Terhadapdaftariniadadua parameter ygdisimpanyaituminfreedanlotsfree, yaitubatasan minimum danmaksimumdarimemoribebas yang tersedia. Empat kali dalamtiapdetiknya, kernel memeriksajumlahmemori yang bebas.

  29. Solaris 2 Jikajumlahtersebutjatuhdibawahminfree, makasebuahprosespageoutakandilakukan, denganpekerjaansebagaiberikut. Pertama clock akanmemeriksasemuahalamandalammemoridanmengeset bit referensimenjadi 0. Saatberikutnya, clock keduaakanmemeriksa bit referensihalamandalammemori, danmengembalikan bit yang masih di set ke 0 ke daftar memori bebas.

  30. Solaris 2 Hal ini dilakukan sampai jumlah memoribebasmelampaui parameter lotsfree. Lebihlanjut, prosesinidinamis, dapatmengaturkecepatanjikamemoriterlalusedikit. Jikaprosesinitidakbisamembebaskanmemori , maka kernel memulaipergantianprosesuntukmembebaskanhalaman yang dialokasikankeproses-prosestersebut.

  31. Gambar Solar Halaman Scanner

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