1 / 58

Konsep Alokasi Blok Sistem Berkas

Konsep Alokasi Blok Sistem Berkas. Metode Alokasi.

damali
Download Presentation

Konsep Alokasi Blok Sistem Berkas

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. KonsepAlokasi Blok SistemBerkas

  2. MetodeAlokasi • Kegunaanpenyimpanansekunder yang utamaadalahmenyimpanberkas-berkas yang kitabuat, karenasifat disk akanmempertahankanberkaswalaupuntidakadaaruslistrik. Olehkarenaitu, agar kitadapatmengaksesberkas-berkasdengancepatdanmemaksimalisasikanruang yang ada di disk tersebut, makalahirlahmetode-metodeuntukmengalokasikanberkaske disk. • Metode-metodeyang akandibahaslebihlanjutdalambukuiniadalahcontiguous allocation, linked allocation, danindexed allocation.

  3. Contiguous Allocation • Metodeiniakanmengalokasikansatuberkaskedalamblok-blok disk yang berkesinambunganatauberurutan secara linier dari disk. • Bilasuatuberkasmemerlukann buahblokdanblokawalnyaadalah a, berartiberkastersebutdisimpandalamblokdialamat a, a +1, a + 2, a + 3, ..., a + n - 1.

  4. Berkas yang dialokasikan dengan metode ini akan mudah diakses, karena pengaksesan alamat a + 1 setelahalamat a tidakdiperlukanperpindahan head, jikadiperlukanpemindahan head, makahead tersebutakanhanyaakanberpindahsatu track. Hal tersebutmenjadikanmetodeinimendukungpengaksesansecaraberurutan, tapimetodeinijugamendukungpengaksesansecaralangsung, karenabilainginmengaksesblokke i berartikitaakanmengaksesblok a + i.

  5. Metodecontiguous allocation jugamempunyaibeberapamasalah. • Diantaranyaadalahmencariruanguntukberkasbaru, menentukanseberapabesarruang yang diperlukanuntuksebuahberkas. Untukmasalahmencariruanguntukberkasbaru, akan di implementasikanolehmanagemenruangkosong. • Untukpenentuanruangkitatidakbolehterlalukecilatauterlalubesar, bilakitamenentukannyaterlalukecilmakaadasaatnyaberkastersebuttidakdapatdikembangkan, tapibilaterlalubesarmakaakanadaruang yang sia-siabilaberkastersebuthanyamemerlukanruang yang kecil. • Metodeinidapatmenimbulkanfragmentasieksternaldisaatruangkosong yang adadiantaraberkas-berkasyang sudahterisitidakcukupuntukmengisiberkasbaru. Hal initerjadikarenablokpertamadarisuatuberkasituditentukanolehsistemoperasi

  6. Bilaberkaspertamablokpertamanyaitu di 1 dan memerlukan 9 blok untuk pengalokasiannya dan berkas kedua blok pertamanya di 11 danmemerlukan 5 blokuntukpengalokasiannya, berartiruang-kosongdiantaraberkastersebutada 1 blok, yaitudialamat 10. Blok tersebutdapatuntukmenyimpanberkas, tetapihanyaberkas yang berukuran 1 blok yang dapatdisimpan di bloktersebut.

  7. Linked Allocation

  8. Metodeinidapatmengatasimasalah yang terjadipadametodecontiguous allocation. Dalammetodeinisetiapberkasdiidentifikasikandenganlinked list dariblok-blok, jadiblok-bloktersebuttidakharusberkesinambungandenganblok yang lain. • Direktorihanyamenyimpanalamatblokpertamadanalamatblokterakhir. Jikakitainginmengaksessblokkedua, makaharusmelihatalamatnyadi blokpertamadanbegituseterusnya. Olehkarenaitu, metodeinihanyamendukungpengaksesansecaraberurutan.

  9. Metodelinked allocation memilikibeberapakerugian, karenapetunjukkeblokberikutnyamemerlukanruang. Bilaukuranpetunjuknya 4 byte dariblok yang ukurannya 512 byte, berarti0,78% dari ruang disk hanya digunakan untuk petunjuk saja. Hal ini dapat diminimalisasikan denganmenggunakancluster yang menggabungkan 4 blokdalamsatucluster, jadijumlahpetunjuknyaakanberkurangdari yang tidakmemakaicluster.

  10. Paling pentingdalammetodeiniadalahmenggunakanfile-allocation table (FAT). Tabeltersebutmenyimpansetiapblok yang ada di disk dandiberinomorsesuaidengannomorblok. Jadi, direktorihanyamenyimpanalamatdariblokpertamasaja, danuntukselanjutnyadilihatdaritabeltersebutyang menunjukkankeblokberikutnya.

  11. Jika kita memakai metode ini, akan menyebabkan mudahnya untukmembuatberkasbaruataumengembangkanberkassebelumnya. Mencaritempatkosonguntuk berkas baru lebih mudah, karena kita hanya mencari angka 0 yang pertama dari isi tabel tersebut. Dan bilakitainginmengembangkanberkassebelumnyacarilahalamatterakhirnyayang memilikiciritertentudanubahlahisidaritabeltersebutdenganalamatblokpenambahan. Alamatterakhirberisihal yang unik, sebagaicontohada yang menuliskan -1, tapiadajugayang menuliskannyaEOF (End Of File).

  12. Metodelinked allocation yang menggunakan FAT akanmempersingkatwaktu yang diperlukanuntukmencarisebuahberkas. Karenabilatidakmenggunakan FAT, berartikitaharuskesatubloktertentudahuludanbarudiketahuialamatblokselanjutnya. Denganmenggunakan FAT kitadapatmelihatalamatblokselanjutnyadisaatkitamasihmenujublok yang dimaksud. Tetapibagaimanapun inibelumdapatmendukungpengaksesansecaralangsung.

  13. Indexed Allocation

  14. Metode yang satuinimemecahkanmasalahfragmentasieksternaldarimetodecontiguous allocation danruang yang cuma-cumauntukpetunjukpadametodelinked allocation, dengancaramenyatukansemuapetunjukkedalamblokindeks yang dimilikiolehsetiapberkas. Jadi, direktorihanyamenyimpanalamatdariblokindekstersebut, danblokindekstersebut yang menyimpanalamatdimanablok-blokberkasberada. Untukberkas yang barudibuat, makablokindeksnya di set dengannull.

  15. Metodeinimendukungpengaksesansecaralangsung, bilakitainginmengaksesblokke-i, makakitahanyamencariisidariblokindekstersebut yang ke-i untukdapatkanalamatbloktersebut. • Metodeindexed allocation tidakmenyia-nyiakanruang disk untukpetunjuk, karenadibandingkandenganmetodelinked allocation, makametodeinilebihefektif, kecualibilasatuberkastersebuthanyamemerlukansatuatauduabloksaja.

  16. Metodeinijugamemilikimasalah. Masalahitutimbuldisaatberkasberkembangmenjadibesardanblokindekstidakdapatmenampungpetunjuk-petunjuknyaitudalamsatublok. Salah satumekanismedibawahinidapatdipakaiuntukmemecahkanmasalah yang tersebut.

  17. Mekanisme-mekanismeituadalah: • Linked scheme: Untukmengatasipetunjukuntukberkas yang berukuranbesarmekanismeinimenggunakantempatterakhirdariblokindeksuntukalamatkeblokindeksselanjutnya. Jadi, bila berkas kita masih berukuran kecil, maka isi dari tempat yang terakhir dari blok indeks berkastersebutadalahnull. Namun, bilaberkastersebutberkasbesar, makatempatterakhirituberisikanalamatuntukkeblokindeksselanjutnya, danbegituseterusnya. • Indeksbertingkat: Padamekanismeiniblokindeksitubertingkat-tingkat, blokindekspadatingkatpertamaakanmenunjukkanblok-blokindekspadatingkatkedua, danblokindekspadatingkatkeduamenunjukkanalamat-alamatdariblokberkas, tapibiladibutuhkandapatdilanjutkankelevelketigadankeempattergantungdenganukuranberkastersebut. Untukblokindeks2 level denganukuranblok 4.096 byte danpetunjuk yang berukuran 4 byte, dapatmengalokasikanberkashingga 4 GB, yaitu 1.048.576 blokberkas.

  18. Combined scheme: Mekanismeinimenggabungkandirect block danindirect block. Direct block akanlangsungmenunjukkanalamatdariblokberkas, tetapipadaindirect block akanmenunjukkanblokindeksterlebihdahulusepertidalammekanismeindeksbertingkat. Single indirect block akanmenunjukkankeblokindeks yang akanmenunjukkanalamatdariblokberkas, double indirect block akanmenunjukkansuatublok yang bersifatsamadenganblokindeks2 level, dantriple indirect block akanmenunjukkanblokindeks 3 level. • Dimisalkanada15 petunjukdarimekanismeini, 12 pertamadaripetunjuktersebutadalahdirect block, jadibilaukuranblok 4 byte berartiberkas yang dapatdiaksessecaralangsungdidukungsampaiukurannya48 KB. 3 petunjukberikutnyaadalahindirect block yang berurutandarisingle indirect block sampaitriple indirect block. Yang hanyamendukung 32 bit petunjukberkasberartiakanhanyamencapai 4 GB, namun yang mendukung 64 bit petunjukberkasdapatmengalokasikan berkas berukuran sampai satuan terabyte.

  19. KinerjaSistemBerkas • Keefisiensianpenyimpanandanwaktuaksesblok data adalahkriteria yang pentingdalammemilihmetodeyang cocokuntuksistemoperasiuntukmengimplementasikansesuatu. Sebelummemilihsebuahmetodealokasi, kitabutuhuntukmenentukanbagaimanasisteminiakandigunakan. • Untukbeberapatipeakses, contiguous allocation membutuhkanhanyasatuaksesuntukmendapatkansebuahblok disk. Sejakkitadapatdenganmudahmenyimpanalamatinisialdarisebuahberkas di memori, kitadapatmenghitungalamat disk dariblokke-i (ataublokselanjutnya) dengancepatdanmembacanyadenganlangsung.

  20. Untuklinked allocation, kitajugadapatmenyimpanalamatdariblokselanjutnya di memoridan • membacanya dengan langsung. Metode ini bagus untuk akses secara berurutan; untuk akses • langsung, bagaimana pun, sebuahaksesmenujublokke-i harusmembutuhkanpembacaan disk ke-i.

  21. Masalahinimenunjukkanmengapaalokasi yang berurutantidakdigunakanuntukaplikasiyang membutuhkanakseslangsung. • Sebagaihasilnya, beberapasistemmendukungberkas-barkas yang diakseslangsungdenganmenggunakancontiguous allocation dan yang diaksesberurutandenganlinked allocation. Di dalamkasusini, sistemoperasiharusmempunyaistruktur data yang tepatdanalgoritmauntukmendukungkeduametodealokasi.

  22. Indexed allocation lebihkomplek. Jikablokindekssudahadadimemori, aksesdapatdibuatsecaralangsung. Bagaimana pun, menyimpanblokindekstersebut di memorimembutuhkantempatyang dapatditolerir. Denganbegitu, kinerjadariindexed allocation tergantungdaristrukturindeks, ukuranfile, danposisidariblok yang diinginkan. • Beberapasistemmenggabungkancontiguous allocation denganindexed allocation denganmenggunakancontiguous allocation untukberkas-berkas yang kecil (diatastigaatauempatberkas), dansecaraotomatismenggantikeindexed allocation jikaberkasbertambahbesar.

  23. ManagemenRuangKosong • Sejakruang disk terbatas, kitabutuhmenggunakanlagiruangtersebutdariberkas yang sudahdihapusmenjadiberkas yang baru, jikamemungkinkan. Untukmenyimpantrack dariruangdisk yang kosong, sistemmembuatdaftarruang-kosong. Daftarruang-kosongtersebutmerekamsemuablok-blokdisk yang kosongitusemuatidakdialokasikan di beberapaberkasataudirektori.

  24. Bit Vector • Seringkali, daftarruang yang kosongdiimplementasikansebagaisebuahbit map ataubit vector. • Setiapblokdirepresentasikandengan 1 bit. Jikabloknyakosong, bitnyaadalah 1; jikabloknyaditempati, bitnyaadalah 0. • Sebagai contoh, mepertimbangkan sebuah disk dimana blok-blok 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 17, 18, 25, 26, dan 27 kosong, dansisadariblok-bloktersebutditempati. Bit map dariruang-kosongyaitu • 00111100111111000110000011100000...

  25. Keuntungan utama dari pendekatan ini adalah relatif sederhana dan keefisiensian dalam menemukan blokkosong yang pertama, ataublok-blokkosong n yang berurutan di dalam disk. Sayangnya, bit vectors tidak efisien kecuali seluruh vektor disimpan di memori utama (dan ditulis ke disk secara rutinuntukkebutuhanrecovery. Menyimpanvektortersebut di memoriutamamemungkinkanuntukdisk-disk yang kecil, sepertipadamicrocomputers, tetapitidakuntuk disk-disk yang besar.

  26. Linked List • Pendekatan yang lainnyauntukmanagemenruang-kosongadalahmenghubungkansemuablok-blokdisk kosong, menyimpan sebuah penunjuk ke blok kosong yang pertama di lokasi yang khusus di disk danmenyimpannya di memori. Blok pertamainimengandungsebuahpenunjukkeblokdisk kosongselanjutnya, danseterusnya. • Sebagaicontoh, kitaakanmenyimpansebuahpenunjukkeblok2, sebagaiblokkosongpertama. Blok 2 mengandungsebuahpenunjukkeblok 3, yang akanmenunjukke blok4, yang akanmenunjukkeblok 5, yang akanmenunjukkeblok 8, danseterusnya.

  27. Bagaimana pun, skemainitidakefisienuntukmengaksesdaftartersebut, kitaharusmembacasetiapblok, yang membutuhkantambahanwaktu M/K. Untungnya, mengaksesdaftarkosongtersebutitutidakeksekusi yang teratur. Biasanya, sistemoperasitersebutmembutuhkansebuahblokkosongsupayasistemoperasidapatmengalokasikanbloktersebutkeberkas, lalublok yang pertamadi daftarkosongdigunakan.

  28. Grouping • Sebuahmodifikasidaripendekatandaftar-kosongadalahmenyimpanalamat-alamatdari n blok-blokkosong di blok kosong yang pertama. n-1 pertama dari blok-blok ini sebenarnya kosong. • Blokterakhirmengandungalamat-alamatdari n blokkosonglainnya, danseterusnya. Pentingnyaimplementasiiniadalahalamat-alamatdariblok-blokkosong yang banyakdapatditemukansecaracepat, tidakseperti di pendekatanlinked-list yang standard.

  29. Counting • Daripadamenyimpandaftardari n alamat-alamat disk kosong, kitadapatmenyimpanalamatdariblokkosong yang pertamatersebutdanangka n dariblokcontiguous kosong yang diikutiblokyang pertama. • Setiapmasukan di daftarruang-kosonglalumengandungsebuahalamat disk dansebuahjumlah. Meski pun setiapmasukanmembutuhkanruanglebihdaripadaalamat-alamat disk yang sederhana, daftarkesemuanyaakanlebihpendek, selamajumlahnya rata-rata lebihbesardaripada 1.

  30. EfisiensidanKinerja • Penggunaan yang efisiendariruang disk sangattergantungpadaalokasi disk danalgoritmadirektoriyang digunakan. Sebagaicontoh, UNIX mengembangakankinerjanyadenganmencobauntukmenyimpansebuahblok data berkasdekatdenganblokinodeberkasuntukmengurangiwaktupencarian.

  31. Kinerja

  32. Sekalialgoritmasistemberkasdipilih, kitatetapdapatmengembangkankinerjadenganbeberapacara. Kebanyakandaridisk controller mempunyaimemorilokaluntukmembuaton-board cache yang cukupbesaruntukmenyimpanseluruhtracks dengansekejap.

  33. Beberapasistemmembuatseksi yang terpisahdarimemoriutamauntukdigunakansebagaidisk cache, dimanablok-blokdisimpandenganasumsimerekaakandigunakanlagidengansecepatnya. • Sistemlainnyamenyimpan data berkasmenggunakansebuahpage cache. Page cache tersebutmenggunakanteknikmemori virtual untukmenyimpan data berkassebagaihalaman-halamandaripadasebagaiblok-blokfile-system-oriented. • Menyimpandata berkasmenggunakanalamat-alamat virtual jauh lebih efisien daripada menyimpannya melalui blok disk fisik. Ini dikenal sebagaiunified virtual memory.

  34. Sebagiansistemoperasimenyediakansebuahunified buffer cache. Tanpasebuahunified buffer cache, kitamempunyaisituasipanggilanmapping memoributuhmenggunakandua cache, page cache danbuffer cache. Karenasistemmemori virtual tidakdapatmenggunakandenganbuffer cache, isidariberkas di dalambuffer cache harusdiduplikatkepage cache. • Situasiinidikenaldengandouble caching danmembutuhkanmenyimpan data sistem-berkasdua kali. Tidakhanyamembuang-buang memori, tetapi ini membuang CPU dan perputaran M/K dikerenakan perubahan data ekstradiantaramemorisistem. Jugadapatmenyebabkankorupsiberkas. • Sebuahunified buffer cache mempunyaikeuntunganmenghindaridouble caching danmenunjuksistemmemorivirtual untukmengatur data sistemberkas.

  35. Recovery • Sejakberkas-berkasdandirektori-direktoridua-duanyadisimpan di memoriutamadanpadadisk, perawatan harus dilakukan untuk memastikan kegagalan sistem tidak terjadi di kehilangan data atau di tidakkonsistennya data.

  36. PengecekanRutin • Mempertimbangkanefek yang memungkinkanterjadinyacrash padakomputer. Secaraberkala, program khususakandijalankanpadasaatwaktureboot untukmengecekdanmengoreksi disk yang tidakkonsisten. Pemerikasaanrutinmembandingkan data yang adadi strukturdirektoridenganblok data pada disk, danmencobauntukmemperbaikiketidakkonsistenanyang ditemukan.

  37. Backup danRestore • Dikarenakan disk magnetikkadang-kadanggagal, perawatanharusdijalankanuntukmemastikandata tidakhilangselamanya. Olehkarenaitu, program sistemdapatdigunakanuntukback up data daridisk menujuke media penyimpanan yang lainnya, sepertisebuahfloppy disk, tape magnetik, ataudisk optikal. Recovery darikehilangansebuahberkasindividu, atauseluruh disk, mungkinmenjadi masalah dari restoring data dari backup.

  38. Sebuahtipejadualbackup yaitusebagaiberikut: Day 1: • Menduplikatkesebuah medium back up semuaberkaske disk. Inidisebutsebuahfull backup. Day 2: • Menduplikatke medium lainnyasemuaberkas yang dirubahsejakharipertama. Iniadalahincremental backup. Day 3: • Menduplikatke medium lainnyasemuaberkas yang dirubahsejakhari ke-2. Day N: • Menduplikatke medium lainnyasemuaberkas yang dirubahsejakharike N-1.

  39. Log-Structured File System • Algoritmalogging sudahdilakukandengansuksesuntukmananganimasalahdaripemeriksaanrutin. Hasildariimplementasinyadikenaldenganlog-based transaction-oriented (ataujournaling sistemberkas)

  40. SistemBerkas Linux Virtual Obyekdasardalam layer-layer virtual file system 1. File • File adalahsesuatu yang dapatdibacadanditulis. File ditempatkanpadamemori. Penempatanpadamemoritersebutsesuaidengankonsep file deskriptor yang dimilikiunix. 2. Inode • Inodemerepresentasikanobyekdasardalam file sistem. Inodebisasaja file biasa, direktori, simboliklink dan lain sebagainya. Virtual file sistemtidakmemilikiperbedaan yang jelasdi antaraobyek, tetapimengacukepadaimplementasi file sistem yang menyediakanperilakuyang sesuai. Kernel tingkattinggimenanganiobyek yang berbedasecaratidaksama. File daninodehampir mirip diantara keduanya. Tetapi terdapat perbedaan yang penting diantara keduanya. Ada sesuatu yang memilikiinodetetapitidakmemiliki file, contohnyaadalahsimboliklink. Ada juga file yang tidakmemilikiinodeseperti pipes dan socket.

  41. 3. File sistem • File system adalahkumpulandariinode-inodedengansatuinodepembedayaitu root. Inodelainnyadiaksesmulaidari root inodedanpencariannama file untukmenujukeinodelainnya. File sistemmempunyaibeberapakarakteristik yang mencakupseluruhinodedalam file sistem. Salah satu yang terpentingadalahblocksize. 4. Namainode • Semuainodedalam file sistemdiaksesmelaluinamanya. Walaupunpencariannamainodebisamenjaditerlaluberatuntukbeberapasistem, virtual file sistempadalinuxtetapmemantau cache dannamainode yang barusajaterpakai agar kinerjameningkat. Cache terdapatdi memori sebagai tree, ini berarti jika sembarang inode dari file terdapat di dalam cache, maka parent dari inode tersebut juga terdapat di dalam cache.

  42. Operasi-operasiDalamInode • Linux menyimpan cache dariinodeaktifmaupundariinode yang telahteraksessebelumnya. Ada duapath dimanainodeinidapatdiakses. Yang pertamatelahdisebutkansebelumnya, setiapentridalamcache menunjukpadasuatuinodedanmenjagainodetetapdalam cache. Yang keduamelaluiinodehash table. Setiapinodemempunyaialamat 8 bit sesuaidenganalamatdari file sistemsuperblokdannomorinode. Inodedengannilai hash yang samakemudiandirangkai di doubly linked list. Perubahanpada cache melibatkanpenambahandanpenghapusanentri-entridaricache itusendiri. Entri-entri yang tidakdibutuhkanlagiakan di unhashsehinggatidakakantampakdalampencarianberikutnya. Operasidiperkirakanakanmengubahstruktur cache harusdikunciselamamelakukanperubahan.

  43. Unhashtidakmemerlukan semaphore karenainibisadilakukansecaraatomikdalam kernel lock. Banyakoperasi file memerlukandualangkah proses. Yang pertamaadalahmelakukanpencariannama di dalamdirektori. • Langkahkeduaadalahmelakukanoperasipadafile yang telahditemukan. Untukmenjamintidakterdapatnya proses yang tidakkompatibeldiantarakedua proses itu, setelah proses kedua, virtual file sistemprotokolharusmemeriksabahwaparent entry tetap menjadi parent dari entri child-nya. Yang menarik dari cache locking adalah proses rename, karenamengubahduaentridalamsekalioperasi.

  44. SistemBerkasLinux • EXT2 adalah file sistem yang ampuh di linux. EXT2 jugamerupakansalahsatu file sistemyang paling ampuhdanmenjadidasardarisegaladistribusilinux. Pada EXT2 file sistem, file data disimpansebagai data blok. Data blokinimempunyaipanjang yang samadanmeskipun panjangnyabervariasidiantara EXT2 file sistem, besarbloktersebutditentukanpadasaat file sistemdibuatdenganperintah mk2fs. Jikabesarblokadalah 1024 bytes, maka file denganbesar 1025 bytes akanmemakai 2 blok. Iniberartikitamembuangsetengahblok per file. EXT2 mendefinisikantopologifile sistemdenganmemberikanartibahwasetiap file padasistemdiasosiasiakandenganstrukturdata inode.

  45. SistemBerkasEXT3 • EXT3 adalahpeningkatandari EXT2 file sistem. Peningkataninimemilikibeberapakeuntungan, diantaranya:

  46. SistemBerkasReiser • Reiser file sistemmemilikijurnal yang cepat. Ciri-cirinyamirip EXT3 file sistem. Reiser file sistem • dibuatberdasarkan balance tree yang cepat. Balance tree ungguldalamhalkinerja, dengan • algoritma yang lebihrumittentunya. Reiser file sistemlebihefisiendalampemenfaatanruang disk. • Jikakitamenulis file 100 bytes, hanyaditempatkandalamsatublok. File sistem lain • menempatkannyadalam 100 blok. Reiser file sistemtidakmemilikipengalokasian yang tetapuntuk • inode. Resier file sistemdapatmenghemat disk sampaidengan 6 persen.

More Related