1 / 39

BAB XI Manajemen Prinsip Dasar Input Output

BAB XI Manajemen Prinsip Dasar Input Output. Nama : Akhmad Defriani NIM : 065110369 Semester : 4 ( empat ) . 11.1 PRINSIP-PRINSIP DASAR PERANGKAT INPUT OUTPUT. Manajemen dan pengolahan I/O merupakan suatu aspek perancangan sistem

terah
Download Presentation

BAB XI Manajemen Prinsip Dasar Input Output

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. BAB XI ManajemenPrinsipDasar Input Output Nama : AkhmadDefriani NIM : 065110369 Semester : 4 (empat)

  2. 11.1 PRINSIP-PRINSIP DASAR PERANGKAT INPUT OUTPUT Manajemendanpengolahan I/O merupakansuatuaspekperancangansistem operasi yang terluasdisebakankarenasangatbanyaknyamacamperangkatdan banyaknyaaplikasidariperangkatmasukantersebut. Padasistemkomputer,procesesordanmemoriberhubungandenganberbagai alat yang dihubungkankeProcesesor.Berbagaialattersebutmemerlukanjuga pengolahandanpengolahandemikianmelaluisistemoperasi. • Dalamhaliniprosesordijadikantempatacuan input dan output karena : • Input beratimasukmenujuprosesorataumenujualat yang sedangdikelolaolehprosesor. • Output artinyakeluardariprosesorataudarialat yang sedangdikelolaolehprosesor. • Selainituprosesorjugaharusdapatmengendalikanalatpheriperalantara lain sebagaiberikut : • Bagianpertamaadalahpengaturansumberdayakeras (device controller) • Bagiankeduaadalahpengaturansumberdayalunak (data transfer protocol)

  3. Ada lima macamprotokol data : • Protokol transfer data bertataolah • Protokol transfer data sertabertataolahdenganinterupsi • Protokol transfer data denganaksesmemorilangsung • Protokol transfer data denganpelaksanaanalat • Protokol transfer data bebasalat • Alatpheriperal I/O terdiriatasduabagian : • Mekanikaadalahalatpheripheralitusendiri,Makabagianelektronika yang mengaturkerjaalatmekanikaitu,dinamakanpenggerakalat (device controler). • Elektronikaadalahsejumlahalat,penggerakalatberbentukrangkaianelektronika.Beberapapengendaliperangkatdapatmenanganiduaataulebihperangkat I/O yang sama.

  4. Terdapatberbagaimacamantarmukaantaraperangkatdengan pengendalinya,antara lain: ANSI,IEE,atau ISO .Selainitu ,ada pula IDE (Integrated Drive Electronics) . Register merupakanalatpenyimpanankecil yang mempunyaikecepatanakses cukuptinggi yang digunakanuntukmenyimpan data daninstruksi yang sedang diproses. Memoriinibersifatsementara, biasanyadigunakanuntukmenyimpan data saatdiolahataupun data untukpengolahanselanjutnya. • Port I/O terdiriatasempat register yaitu: • Register Status,Registeriniberisi bit-bit yang menandakanapakahperintah M/K sempurnadilaksanakanpadaperangkat. • Register Control,Merupakan register yang ditulisoleh CPU untukmemulaiperintahatauuntukmengganti modus perangkat. • Register Data in,Registerinimerupakan yang dibaca CPU sebagai input data. • Register Data out ,Bit inididalamnyamerupakan bit yang ditulisoleh CPU sebagai output data. • Manajemenperangkat I/O mempunyaiberagamfungsi ,diantaranya; • Mengirimkanperintahkeperangkat I/O agar menyediakanlayanan • Menanganikesalahanpadaperangkat I/O • Menanganiinterupsipadaperangkat I/O • Menyediakan Interface pemakai

  5. Gambar 11.1

  6. 11.2 PerangkatKeras I/O Terdapatbeberapajenissepertiperangkatpenyimpanan (disk,tape) transmission device (network card,modem), dan human-interface device (screen,keyboard,mouse). • Perangkat I/O dapatdibagimenjadi 2 kategori,yaitu: • Perangkat Blok adalahperangkat yang menyimpaninformasidalambentukblok-blokberukurantertentudansetiapblokmemilikialamatmasing-masing. Umumnyaukuranblokadalah 512 byte sampai 32.768 byte. contohperangkatblokadalah disk. • Perangkatkarakteradalahperangkat yang mengirimataumenerimasebarisankarakter,tanpamenghiraukanstrukturblok.Printer,network interface, danperangkat yang bukan disk termasukdidalamnya. • Beberapakonsep yang umumdigunakan : • Port adalahkoneksi yang digunakanoleh device untukberkomunikasidenganmesin. • Bus adalahKoneksi yang menghubungkanbeberapa device menggunakankabel-kabel. • Controller adalahalatelektronik yang berfungsiuntukmengoperasikanport,bus,dan device

  7. 11.2.1 Polling Polling adalahketika host mengalami looping yaitumembaca status register secaraterusmenerussampai status busy di-clear ataudengankata lain host dalamkeadansibukdansedangmenungguantrian. padadasarnya polling dapatdikatakanefisien ,tetapi polling tidakmenjadiefisienketikasetelahberulang-berulangmelakukanlooping,hanyamenetukansedikit device yang siapmenservicekarena CPU prosseing yang tersisabelumselesai.

  8. 11.3 Interupsi Interupsiadalahkejadian-kejadianasinkron yang biasanyadipicuolehperangkat-perangkateksternal yang memerlukanperhatian. 11.3.1 MekanismeDasarInterupsi Ketika CPU mendeteksibahwasebuahcontrolertelahmengirimkansebuahsinyalke interrupt request line (membangkitkansebuahinterupsi),CPU kemudianmenjawabinterupsitersebut (jugadisebutmenangkapinterupsi) denganmenyimpaninformasimengenai state terkini CPU-contohnyanilaiintruksipointer,danmemanggilinterupt handler agar handler tersebutdapatmelayani controller ataualat yang mengiriminterupsitersebut.

  9. 11.3.2 fiturtambahanpadakomputer modern Fitur-fituriniantara lain adalahkemampuanmengahambatinterupt handling selamaprosesiberadadalam critical state,efisiensipenangananinterupsisehinggatidakperludilakukan polling untukmencari device yang mengirimkaninterupsi ,danfitur yang lain adalahadaanyasebuahkonsep multilevel interupsisedemikianrupasehinggaterdapatprioritasdalampenangananinterupsi(diimplementasikandenganinterupt priority level sistem). 11.3.3 Interupt request line Padapiranti CPU terdapatkabel yang disebutInterupt Request line.Kebanyakan CPU memiliki 2 macaminterupt request line yaitu: • Nonmaskabelinterupt • Maskabelinterupt 11.3.4 Interupt vector daninterupt chaining Padakebanyakanarsitekturkomputer yang adasekarangini ,alamatinibiasanyaberupasekumpulanbilangan yang menyatakan offset padasebuahtabeldisebutInteruptVektor.Tabelinimenyimpanalamat-alamatinterupt handler spesifikdidalammemori.Keuntungandaripemakaianvektoradalahuntukmengurangikebutuhanakansebuahinterupt handler yang harusmencarisemuakemungkinansumberinterupsiuntukmenentukanpengiriminterupsi.

  10. 11.3.5 PenyebabInterupsi Interupsidapatdapatdisebabkanolehberbagaihal,antara lain execption,page fault ,interupsiyang dikirmkanoleh device controllers, dan system call.Exceptionadalahsuatukondisidimanaterjadisesuatudarisebuahoperasididapathasiltertentu yang dianggapkhusussehinggaharusmendapatperhatianlebih,contohnyapembagiandengan 0 (nol),pengaksesanalamatmemori yang dibatasiataubahkantidakvalid,dan lain-lain.System call adalahsebuahfungsipadaaplikasi (perangkatlunak) yang dapatmengeksekusiinstruksikhususberupa software interuptatau trap.

  11. 11.4 DMA (Direct Memory Access) DMA adalahsebuahprosesorkhusus (special purpose prossesor) yang bergunauntukmenghindaripembebanan CPU utamaoleh program I/O (PIO).

  12. 11.4.1 Transfer DMA Untukmemulaisebuah transfer DMA ,host akanmenuliskansebuah DMA comman block yang berisi pointer yang menunjukkesumbertransfer,pointer yang menunjukketujuan/destinasitransfer,danjumlah byte yang ditransfer ,kememori. • Tigalangkahdalam transfer DMA : • Prossesormenyiapkan DMA transfer denganmenyediakan data-data daridevice,operasi yang akanditampilkan,alamatmemori yang menunjukansumberdantujuandata,danbanyaknya byte yang ditransfer. • DMA controller memulaioperasi(menyiapkanbus,menyediakanalamat,menulisdanmembaca data), sampaiseluruhbloksudahditransfer. • DMA controller menginterupsiprossesor,yangselanjutnyaakantindakanberikutnya. • DMA mempunyai 2 metodedalammentranfer data : • Metode yang pertamaadalahmetode yang sangatbakudan simple yang disebutHALT,atau Burst Mode DMA. • Metode yang keduamengikutsertakan DMA controller untukmemegang control atassistem bus untukjangkawaktu yang lebihpendekpadaperiodedimanamikroprosesorsibukdenganoperasi internal dantidakmembutuhkanakseskesistemBUS.Metodeinidisebut CYCLE STEALING MODE.

  13. Gambar 11.5 DMA TRANSFER

  14. Padagambardiatasbisadijelaskansecara detail bagaimnatranfer DMA dilakukan. • Device driver memberitahuuntukmentranfer data dari disk ke buffer denganalamat X. • Device driver memberitahu disk controller untukmentransfer C byte dari disk ke buffer denganalamat X. • Disk controller menginisialisasikan DMA transfer. • Disk controller mengirimbeberapa byte ke DMA controller. • DMA controller mengtransfer byte ke buffer X,meningkatkanalamatmemoridanmenurunya C sampai C = 0. • Ketika C=0,DMA interrupts CPU denganmemberitahubahwatranferteladilakukan.

  15. Gambar 11.6 Interleaving

  16. 11.4.3 Cara mengimplementasikan DMA DalampelaksanaanyabeberapakomputermenggunakanmemorifisikuntukprosesDMA,sedangkanjeniskomputer lain menggunakan DVMA(Dirrect Virtual Memory Address) yang merupakanalamatmemori virtual menjadialamatmemorifisik.Keuntungandari DVMA adalahdapatmendukung transfer antaradua memory mapped device tanpaintervensi CPU. 11.5 INTERFACE APLIKASI I/O Interface aplikasi I/O melibatkanabstraksi,enkapsulasidan software layering.Adanya device driver padamasin-masingperalatan I/O berfungsiuntukenkapsulasiperbedaan-perbedaan yang adadarimasing-masinganggotakelas –kelas yang umumtadi. Tujuandariadanyalapisan device driver iniadalahuntukmenyembunyikanperbedaan-perbedaanYngadapada device controller darisubsistem I/O pada kernel.

  17. 11.5.1 Peralatan Block danKarakter Peralatan block diharapkandapatmemenuhikebutuhanaksespada berbagaimacam disk drive danjuga block lainya. Keyboard adalahsalahsatucontohalat yang dapatmengakases stream karakter.System call dasarintefaceinidapatmembuatsebuahaplikasi mengertitentangbagaimanacaramengambildanmenuliskansebuah karakter. 11.5.2 PeralatanJaringan Karenaadanyaperbedaandalamkinerjadanpengalamatandarijaringan I/O , makabiasanyasistemoperasimemiliki interface I/O yang berbedadaribaca,tulisdanpencarianpadadisk.Dansalahsatu yang banyakdigunakanadalah interface socket . Socket berfungsiuntukmenghubungkankomputerkejaringan.System call pada socket interface dapatmemudahkansuatuaplikasiuntuk membuat local socket danmenghubungkanyake remote socket.

  18. 11.5.3 Jam Timer Adanya jam dan timer padasuatu hard ware komputer ,stidaknyamemiliki 3 fungsi: • Memberiinformasiwaktusaatini • Memberiinformasilamanyasebuahproses • Sebagai trigger untuksuatuoperasipadasuatuwaktu Contohpenerapanyaadapadaschduler ,yang akanmelakukaninterupsi yang akanmemberikansuatuprosesakhirdaribagianwaktunya. 11.5.4 Blocking danNonblocking Ketikasuatuaplikasimenggunakansebuah blocking system call,eksekusi aplikasiituakandiberhentikanuntuksementara.Aplikasitersebutakan dipindahakanke wait queue.

  19. 11.6 Kernel I/O Subsystem kernel merupakankomponenintidariSistemOperasi yang berjalan dalamperangkattersebut. Kernel bertugasuntukmengatur pembagiansumberdayasistem; komunikasiantarakomponen hardware dansoftware.Kernelmenghubungkanantara software aplikasidan hardware komputer. Iamenyediakanabstraction layer pada level terendahuntuk resource resourcesepertimemori, prosesor dan perangkat I/O di mana suatu software aplikasi harus mengontrol resource-resource tersebut agar dapatberfungsi. Kernel mampumenyediakanfasilitassepertiinibagiproses-prosesaplikasi.

  20. Gambar 11.7 Kernel I/O subsystem

  21. 11.6.1 I/O Schduling Untukmenjadwalkansebuah set permintaan I/Okitaharusmenentukanurutan yang bagus untuk mengeksekusi permintaan tersebut. Scheduling dapatmeningkatkankemampuansistemsecarakeseluruhan ,dapatmembagi device secara rata diantaraproses-proses,dandapatmengurangiwaktutunggu rata-rata untukmenyelesaiakan I/O . Satucarauntukmeningkatkanefisiensi I/O subsistemdarisebuahkomputeradalahdenganmengatursebuahkomputeradalahdenganmengaturoperasi I/O.

  22. 11.6.2Buffering Buffer adalah area memori yang menyimpan data ketikamerekasedangdipindahkanantara 2 device atauantara device danaplikasi. • Ada 3 alasanuntukmelakukan Buffering • Untukmenyesuaikandengankesalahan yang terjadikarenaperbedaankecepatanantaraprodusendengankonsumendarisebuah stream data. contoh :sebuah file yang sedangditerimaolehmelalui modem danditunjukkanke media penyimpanandiharddisk.Bufferdibuatdidalammemoriutamauntukmengumpulkanjumlah byte yang diterimamodem,Ketikakeseluruhan data buffer tersebutdapatdituliske disk denganoperasitunggal.

  23. Gambar 11.8

  24. Alasankeduadari buffering adalahuntukmenyesuaikan device-device yang mempunyaiperbedaandalamukuran transfer data. Hal inisangatumumterjadipadajaringankomputer,dimana buffer dipakaisecaraluasuntukfragmentasidanpengaturankembali-kembalipesan yang diterima. 3. Alasanketiga buffering adalahuntukmendukung copy semantics untuk a[likasi I/O.Sebauhcontohjikaadasebuahaplikasi yang mempunyai buffer data yang ingindituliskankedisk,aplikasitersebutakanmemanggilsistempenulisanmenyediakan pointer kebuffer,dansebuah integer untukmenunujukanukuranbytes yang inginditulis.Sebuahcarasederhana agar sistemoperasimenjamin copy semantics adalahmembiaraknsistempenulisanuntukmengkopi data aplikasikedalam buffer kernel sebelummengembalikankontrolkepadaaplikasi.

  25. Perbedaantidakmenggunakan buffer , satubuffer,dua buffer danbanyak buffer terletakdarikecepatantrasferdansiklusantrian.Tanpa buffer : jumlahwaktusetiap block :T+CInput : tidakbisamembacaproses block sebelumnya.Output : Prosestidakbisamelakukankomputasisampai yang antriuntuk output selesai.

  26. Satu buffer : Denganmenggunakanbuffer,sistemoperasibisamembacaahead,padasistem sat buffer dibagimenjadiduabagian : • Singel buffer untuk input : Waktumulaimenggunakansistemoperasibisamembaca ahead • Jika T>C prosesmenantikan ‘buffer’ untukdiisi • Jika T<C sistemoperasimenantikan “buffer’ untukdibebaskan. • Singel buffer untuk output : Menggunakanaplikasitidakperluuntukmenggunakansampaiakhirprosesouput • Jika T>C prosesmenantikan “buffer” untukmembebaskan • Jika T<C sistemoperasimenantikan “buffer’ untukdi’isi

  27. Dua Buffer Menggunakandua buffer untukmelayaniprosesuser,keuntungandenganmenggunakandua buffer adalah,datadariprosesbisaditransferdarisatu buffer ke buffer yang lain sementarasistemperasikosongatau buffer terisi.

  28. Circular Buffer Buffer memilikikecepatan yang berbeda,lebihdaridua buffer mungkinsajabisadigunakan.

  29. 11.6.3 Cashing Sebuah cache adalahdaerahmemori yang cepat yang berisikan data kopian.Aksessebuahkopian yang di-cached lebihefisiendaripadaakseske data asli. Sebagaicontoh ,instruksi-instruksidariproses yang sedangdijalankandisimpankedalam disk ,dantercacheddidalam memory physical,dsnkemudiandicopylagikedalam cache secondary danprymarydari CPU. 11.6.4 Spooling danReservansi Device Sebuah spool adalahsebuah buffer yang menyimpan output untuksebuah device printer ,sepertiprinter,yangtidakdapatmenerima interleaved data streams.Walaupun printer hanyadapatmelayanisatupekerjaanpadawaktu yang sama,Beberapaaplikasidapatmeminta printer untukmencetak ,tanpaharusmendapatkan output merekatercetaksecarabercampur.salahsatucarauntukmengatasimasalahiniadalah spooling. Dan cara yang lain adalahdenganmembagikoordinasiuntuk multiple concurrent .

  30. 11.6.6 Kernel Data Structure Kernel membutuhkaninformasi state tentangpenggunaankomponen I/O.Kernelmenggunakanbanyakstruktur yang miripuntukmelacakkoneksijaringan ,komunikasikarakter device ,danaktivitas I/O lainya. Kernel menjaga status informasidarikomponen I/O termasuk open file tables, koneksi network, status character device. Banyakstruktur data yang kompleksuntuk track buffer, alokasimemori, danblokkotor. Penggunaanmetode object-oriented methods dan message passing untukimplementasi I/O. UNIX menyediakanaksessistem file untukbeberapaentity,seperti file user,raw device danalamatproses.Walaupuntiap entity inididukungsebuahoperasibaca ,semantiknyaberbedauntuktiapentity.Misaluntukmembaca file user ,kernel perlumemeriksa buffer cache sebelummemutuskanapakahakanmelaksanakan I/O disk.

  31. 11.7 PenangananPermintaan I/O Sistemoperasi yang modern mendapatkanfleksibilitas yang signifikandaritahap-tahapantabel lookup dijalurdiantarapermintaandan physical device controler.Kitadapatmengenalkan device dan driver barukekomputertanpaharusmeng compile ulangkernelnya. Unix sistem V mempunyaimekanisme yang menarik,yangdisebutstreams,yangmembolehkanaplikasiuntukmengassemble pipeline darikode driver secaradinamis. Sebuah Stream adalahsebuahkoneksi full duplex antarasebuah device driver dansebuahproser user level. Stream terdiriatas : • Sebuah stream head yang merupakanantarmukadengan user process. • Sebuah driver end yang mengontrol device • Dan nolataulebih stream modules diantaramereka.

  32. Berikutdideskripsikansebuah lifecycle yang tipikaldarisebuahpermintaanpembacaanblok : • Sebuahprosesmengeluarkansebuah blocking read system call kesebuah file deskriptordariberkas yang telahdibukasebelumnya. • Kodesistem call di kernel mengecek parameter untukkebenaran,Dalamkasus input jika data telahsiapdi buffer cache ,data akandikembalikankeprosesdanpermintaan I/O diselesaiakan. • Jika data tidakberadadalam buffer cache ,sebuahphisycal I/O akanbekerja,sehinggaprosesakandikeluarkandariantrianjalan(run queue) dandiletakakandiantriantunggu(wait queue) untukalat,danpermintaan I/O dijadwalkan. • Device driver mengalokasikanruang buffer pada kernel untukmenerima data danmenjadwalkan I/O.Padaakhirnya ,driver mengirimperintahke device controller denganmenuliske register device control. • Device controller menoperasikanperantikeras device untukmelakukan transfer data.

  33. Driver dapatmenerima status dan data ,ataudapatmenyiapkan transfer DMA kememori Kernel. • Interupt handler yang sesuaimenerimainterupsimelaluitabelvektorinterupsi,menyimpansejumlah data yang dibutuhkan,menandai device dankembalidariinterupsi. • Kernel mentransfer data ataumengembalikankodekeruangalamatdariprosespermintaandanmemindahkanprosesdariantriantunggukembalikeantriansiap. • Kernel mentransfer data ataumengembalikankodekeruangalamatdariprosespermintaandanmemindahkanprosesdariantriantunggukembalikeantriansiap. • Prosestidakdiblokketikadipindahkankeantriansiap.Ketikapenjadwal (scheduler) mengembalikanproseskeCPU,prosesmeneruskaneksekusipadapenyelesaiandari system call.

  34. 11.8 Kinerja I/O Kinerja I/O memberikanpengaruhsangatbesardalamsebuahsistemkomputer.Olehkarenaitu,diperlukancarameningkatkankinerjadari I/O. 11.8.1 Pengaruh I/O padakinerja I/O sangatberpengaruhpadakinerjasebuahsistemkomputer.Halinidikarenakan I/O sangatmenyita CPU dalampengeksekusian device driver danpenjadwalanproses,demikiansehinggaalihkonteks yang dihasilkanmembebani CPU dan cache perangkatkeras.Selainitu,I/O jugamemenuhi bus memorisaatmeng-copy data antara controller dan physical memori,seta buffer pada kernel danaplication space data.Karenabesarnyapengaruh I/O padakinerjakomputerinilahmakabidangpengembanganarsitekturkomputersangatmemperhatikanmasalah-masalah yang telahdisebutkandiatas.

  35. 11.8.2 Cara meningkatkanEfisiensi I/O Berikutinicara-carauntukmeningkatkanefisiensi I/O: • Menurunkanjumlahalihkonteks. • Mengurangijumlahpengkopian data kememoriketikasedangdikirimkanantara device danaplikasi. • Mengurangifrekuensiinterupsi,denganmenggunakanukuran transfer yang besar ,smart controller,dan polling. • Meningkatkan concurrency dengan controller stsu channel yang mendukung DMA. • Memindahkankegiatan processing keperangkatkeras,sehinggaoperasipada device controller dapatberlangsungbersamaandengan CPU. • MenyeimbangantarakinerjaCPU,MemorySubsystem,busdan I/O.

  36. 11.8.3 ImpelementasiFungsi I/O Padadasarnyakitamengimplementasikanalgoritma I/O pada level apliakasi.Halinidikarenakankodeaplikasisangatfleksibel ,dan bugs aplikasitidakmudahmenyebabkansebuahsistemcrash.Lebihlanjut ,denganmengembangkankodepada level aplikasi,kitaakanmenghindarikebutuhanuntuk reboot atau reload device driver setiap kali kitamengubahkode.Implementasipada level apikasijugabisasangattidakefisien.Tetapikarena overhead darialihkonteksdankarenaaplikasitidakbisamengambilkeuntungandaristruktur data kernel internal danfunsionalitasdari kernel (misalnya,efisiensidari kernel messanging,threadingdan locking). Contohnyaadalah, Raid controller padaperangkatkerastidakakanmenyediakansebuahefek pad kernel untukmempengaruhiurutanlokasidariindividividual block reads danwrite,meskipun kernel tersebutmempunyaiinformasi yang spesialmengenai workload yang dapatmengaktifkan kernel untukmeningkatkankinerja I/O.

  37. SekianDAN TERIMA KASIH

More Related