sistem operasi - perangkat keras input output

18

Upload: adi-ginanjar-kusuma

Post on 21-Jul-2015

144 views

Category:

Education


5 download

TRANSCRIPT

Page 1: Sistem Operasi - Perangkat keras Input Output
Page 2: Sistem Operasi - Perangkat keras Input Output

Secara umum, terdapat beberapa jenis seperti devicepenyimpanan (disk,tape), transmission device (networkcard,modem), dan human-interface device (screen, keyboard,mouse). Device tersebut dikendalikan oleh instruksi I/O.Alamat-alamat yang dimiliki oleh device akan digunakanoleh direct I/O instruction dan memory-mapped I/O.Langkah yang ditentukan untuk device adalah command-ready,busy, dan error. Host mengeset command-ready ketika perintahtelah siap untuk dieksekusi oleh controller. Controller mengesetbusy ketika sedang mengerjakan sesuatu, dan men clear busy ketikatelah siap untuk menerima perintah selanjutnya. Error diset ketikaterjadi kesalahan .

Page 3: Sistem Operasi - Perangkat keras Input Output

Busy-waiting/Polling adalah ketika hostmengalami looping yaitu membaca statusregister secara terus-menerus sampaistatus busy di-clear. Pada dasarnya pollingdapat dikatakan efisien. Akan tetapipolling menjadi tidak efisien ketikasetelah berulang-ulang melakukanlooping, hanya menemukan sedikit deviceyang siap untuk men-service, karenaCPU processing yang tersisa belumselesai.

Page 4: Sistem Operasi - Perangkat keras Input Output

Mekanisme Dasar Interupsi

• Ketika CPU mendeteksi bahwasebuah controller telahmengirimkan sebuah sinyal keinterrupt request line (membangkitkan sebuah interupsi), CPU kemudian menjawab interupsitersebut (juga disebut menangkapinterupsi) dengan menyimpanbeberapa informasi mengenai state terkini CPU—contohnya nilaiinstruksi pointer, dan memanggilinterrupt handler agar handler tersebut dapat melayani controller atau alat yang mengirim interupsitersebut.

Fitur Tambahan pada KomputerModern

• Pada arsitektur komputer modern, tiga fitur disediakan oleh CPU dan interrupt controller (padaperangkat keras) untuk dapatmenangani inerrupsi dengan lebihbagus. Fitur-fitur ini antara lain adalah emampuan menghambatsebuah proses interrupt handling selama prosesi berada dalam critical state.

Page 5: Sistem Operasi - Perangkat keras Input Output

Interrupt Request Line

• Pada peranti keras CPU terdapat kabel yang disebut interruptrequest line, kebanyakan CPU memiliki dua macam interruptrequest line, yaitu nonmaskable interrupt dan maskableinterrupt. Maskable interrupt dapat dimatikan/ dihentikanoleh CPU sebelum pengeksekusian deretan criticalinstruction (critical instruction sequence) yang tidak bolehdiinterupsi.

Interrupt Vector

dan Interrupt Chaining

• Sebuah mekanisme interupsi akan menerima alamatinterrupt handling routine yang spesifik dari sebuah set,pada kebanyakan arsitektur komputer yang ada sekarangini, alamat ini biasanya berupa sekumpulan bilangan yangmenyatakan offset pada sebuah tabel (biasa disebutinterrupt vector).

Page 6: Sistem Operasi - Perangkat keras Input Output

Interupsi dapat disebabkan berbagai hal, antaralain exception, page fault, interupsi yang dikirimkanoleh device controllers, dan system call Exception adalahsuatu kondisi dimana terjadi sesuatu/ dari sebuahoperasi didapat hasil tertentu yang dianggap khusussehingga harus mendapat perhatian lebih, contohnyapembagian dengan 0 (nol), pengaksesan alamat memoriyang restricted atau bahkan tidak valid, dan lain-lain.

Page 7: Sistem Operasi - Perangkat keras Input Output

Interface Aplikasi I/O

Interface aplikasi I/O melibatkan abstraksi,

enkapsulasi, dan software layering. Abstraksi

dilakukan dengan membagi-bagi detail peralatan-

peralatan I/O ke dalam kelas-kelas yang lebih

umum. Dengan adanya kelas-kelas yang umum ini,

maka akan lebih mudah untuk membuat fungsi-

fungsi standar (interface) untuk mengaksesnya.

Page 8: Sistem Operasi - Perangkat keras Input Output

Kernel I/O Subsystem Kernel menyediakan banyak service yangberhubungan dengan I/O. Pada bagian ini,kita akan mendeskripsikan beberapaservice yang disediakan oleh kernel I/Osubsystem, dan kita akan membahasbagaimana caranya membuat infrastrukturhardware dan device-driver. Service yangakan kita bahas adalah I/O scheduling,buffering, caching, spooling, reservasidevice, error handling.

Page 9: Sistem Operasi - Perangkat keras Input Output

Kernel I/O Subsystem

• I/O Scheduling

Scheduling dapat meningkatkan

kemampuan sistem secara keseluruhan,

dapat membagi device secara rata di antara

proses-proses, dan dapat mengurangi waktu

tunggu rata-rata untuk menyelesaikan I/O.

Page 10: Sistem Operasi - Perangkat keras Input Output

Kernel I/O Subsystem

• Buffering

Buffer adalah area memori yang menyimpan data ketika mereka

sedang dipindahkan antara dua device atau antara device dan

aplikasi. Buffering dilakukan untuk tiga buah alasan. Alasan

pertama adalah untuk men-cope dengan kesalahan yang terjadi

karena perbedaan kecepatan antara produsen dengan konsumen

dari sebuah stream data. Sebagai contoh, sebuah file sedang

diterima melalui modem dan ditujukan ke media penyimpanan di

hard disk. Kecepatan modem tersebut kira-kira hanyalah

1/1000 daripada harddisk. Jadi buffer dibuat di dalam memori

utama untuk mengumpulkan jumlah byte yang diterima dari

modem.

Page 11: Sistem Operasi - Perangkat keras Input Output

Kernel I/O Subsystem

• Buffering

Alasan kedua dari buffering adalah untuk menyesuaikan

device-device yang mempunyai perbedaan dalam ukuran

transfer data. Alasan ketiga untuk buffering adalah untuk

mendukung copy semantics untuk aplikasi I/O. Sebuah

contoh akan menjelaskan apa arti dari copy semantics. Jika

ada sebuah aplikasi yang mempunyai buffer data yang ingin

dituliskan ke disk. Aplikasi tersebut akan memanggil sistem

penulisan, menyediakan pointer ke buffer, dan

sebuah integer untuk menunjukkan ukuran bytes yang ingin

ditulis.

Page 12: Sistem Operasi - Perangkat keras Input Output

Kernel I/O Subsystem Caching

Sebuah cache adalah daerah memori yang cepat yangberisikan data kopian. Akses ke sebuah kopian yang di-cached lebih efisien daripada akses ke data asli. Sebagaicontoh, instruksi-instruksi dari proses yang sedangdijalankan disimpan ke dalam disk, dan ter-cached didalam memori physical, dan kemudian dicopy lagi kedalam cache secondary and primary dari CPU.

Page 13: Sistem Operasi - Perangkat keras Input Output

Kernel I/O Subsystem Spooling dan Reservasi Device

Sebuah spool adalah sebuah buffer yang menyimpanoutput untuk sebuah device, seperti printer, yang tidakdapat menerima interleaved data streams. Walau punprinter hanya dapat melayani satu pekerjaan padawaktu yang sama, beberapa aplikasi dapat memintaprinter untuk mencetak, tanpa harus mendapatkanhasil output mereka tercetak secara bercampur

Page 14: Sistem Operasi - Perangkat keras Input Output

Kernel I/O Subsystem Error Handling

Sebuah sistem operasi yang menggunakan protectedmemory dapat menjaga banyak kemungkinan error akibathardware mau pun aplikasi. Devices dan transfer I/O dapatgagal dalam banyak cara, bisa karena alasan transient,seperti overloaded pada network, mau pun alasanpermanen yang seperti kerusakan yang terjadi pada diskcontroller.

Page 15: Sistem Operasi - Perangkat keras Input Output

Pengaruh I/O pada Kinerja

I/O sangat berpengaruh pada kinerja sebuah sistem komputer. Hal inidikarenakan I/O sangat menyita CPU dalam pengeksekusian device driver danpenjadwalan proses, demikian sehingga alih konteks yang dihasilkanmembebani CPU dan cache perangkat keras. Selain itu, I/O juga memenuhibus memori saat mengkopi data antara controller dan physical memory, sertaantara buffer pada kernel dan application space data.

Page 16: Sistem Operasi - Perangkat keras Input Output

Cara Meningkatkan Efisiensi I/O

1. Menurunkan jumlah alih konteks.2. Mengurangi jumlah pengkopian data ke memori ketika sedang

dikirimkan antara device dan aplikasi.3. Mengurangi frekuensi interupsi, dengan menggunakan ukuran

transfer yang besar, smart controller, dan polling.4. Meningkatkan concurrency dengan controller atau channel yang

mendukung DMA.5. Memindahkan kegiatan processing ke perangkat keras, sehingga

operasi kepada device controller dapat berlangsung bersamaandengan CPU.

6. Menyeimbangkan antara kinerja CPU, memory subsystem, bus, dan I/O.

Page 17: Sistem Operasi - Perangkat keras Input Output

Implementasi Fungsi I/O

Pada dasarnya kita mengimplementasikanalgoritma I/O pada level aplikasi. Hal ini dikarenakan kodeaplikasi sangat fleksible, dan bugs aplikasi tidak mudahmenyebabkan sebuah sistem crash. Lebih lanjut, denganmengembangkan kode pada level aplikasi, kita akanmenghindari kebutuhan untuk reboot atau reload devicedriver setiap kali kita mengubah kode. Implementasi padalevel aplikasi juga bisa sangat tidak efisien.

Page 18: Sistem Operasi - Perangkat keras Input Output

PENUTUP

sekian presentasi dari kami semoga bermanfaat dan kami meminta ma’af

bila terdapat banyak sekali kekurangan.

Wassalamualaikum wr. wb