Kamis, 07 Juni 2018

Management Sistem Input Output (I/O)


Pengertian Management Input Output
Dalam sistem komputer manajemen i/o sangat diperlukan karena i/o adalah sarana user untuk bisa berkomunikasi dengan komputer. Contoh perangkat i/o seperti keyboard, mice, audio controllers, video controllers, disk drives, networking ports, dll. Manajemen i/o pun diperlukan agar user dapat langsung menggunakan perangkat i/o tanpa harus menginialisasi terlebih dahulu. Oleh karena itu, dalam setiap system operasi selalu terdapat i/o manager.
Sering disebut device manager. Menyediakan device driver yang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis,menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada perangkat keras, CD-ROM dan floppy disk .
Manajemen sistem I/O merupakan aspek perancangan sistem operasi yang terluas disebabkan sangat beragamnya perangkat dan begitu banyaknya aplikasi dari perangkat- perangkat itu.
Sistem operasi bertanggung jawab dalam aktivitas yang berhubungan dengan manajemen sistem/perangkatI/O:
§  Mengirim perintah ke perangkat I/O agar menyediakan layanan.
§  Menangani interupsi perangakat I/O .
§  Menangani kesalahan pada perangakat I/O.
§  Menyediakan antarmuka ke pengguna.

Beberapa fungsi  management input /output :
1.      Mengirim perintah ke perangkat input / output agar menyediakan layanan.
2.      Menangani interupsi perangkat input / output
3.      Menangani kesalahan perangkat input /output.
4.      Menyediakan interface ke pemakai.

Teknik Management Input Output


 I/O Terprogram
Pada I/O terprogram, data saling dipertukarkan antara CPU dan modul I/O. CPU mengeksekusi program yang memberikan operasi I/O kepada CPU secara langsung, seperti pemindahan data, pengiriman perintah baca maupun tulis, dan monitoring perangkat.

Kelemahan teknik ini adalah CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu, apalagi CPU lebih cepat proses operasinya. Dalam teknik ini, modul I/O tidak dapat melakukan interupsi kepada CPU terhadap proses – proses yang diinteruksikan padanya. Seluruh proses merupakan tanggung jawab CPU sampai operasi lengkap dilaksanakan



 I/O Interrupt
           Teknik interrupt – driven I/O memungkinkan proses tidak membuang – buang waktu. Prosesnya adalah CPU mengeluarkan perintah I/O pada modul I/O, bersamaan perintah I/O dijalankan modul I/O maka CPU akan melakukan eksekusi perintah – perintah lainnya. Apabila modul I/O telah selesai menjalankan instruksi yang diberikan padanya akan melakukan interupsi pada CPU bahwa tugasnya telah selesai.
           Dalam teknik ini kendali perintah masih menjadi tanggung jawab CPU, baik pengambilan perintah dari memori maupun pelaksanaan isi perintah tersebut. Terdapat selangkah kemajuan dari teknik sebelumnya, yaitu CPU melakukan multitasking beberapa perintah sekaligus sehingga tidak ada waktu tunggu bagi CPU. Teknik interrupt – driven I/O memungkinkan proses tidak membuang buang waktu. Prosesnya adalah CPU mengeluarkan perintah I/O pada modul I/O, bersamaan perintah I/O dijalankan modul I/O maka CPU akan melakukan eksekusi perintah – perintah lainnya. Apabila modul I/O telah selesai menjalankan instruksi yang diberikan padanya akan melakukan interupsi pada CPU bahwa tugasnya telah selesai.
Dalam teknik ini kendali perintah masih menjadi tanggung jawab CPU, baik pengambilan perintah dari memori maupun pelaksanaan isi perintah tersebut. Terdapat selangkah kemajuan dari teknik sebelumnya, yaitu CPU melakukan multitasking beberapa perintah sekaligus sehingga tidak ada waktu tunggu bagi CPU


Direct Memory Access (DMA)
           Teknik yang dijelaskan sebelumnya yaitu I/O terprogram dan Interrupt-Driven I/O memiliki kelemahan, yaitu proses yang terjadi pada modul I/O masih melibatkan CPU secara langsung. Hal ini berimplikasi pada :
            • Kelajuan transfer I/O yang tergantung pada kecepatan operasi CPU.
            • Kerja CPU terganggu karena adanya interupsi secara langsung.
            Bertolak dari kelemahan di atas, apalagi untuk menangani transfer data bervolume besar       dikembangkan teknik yang lebih baik, dikenal dengan Direct Memory Access (DMA). 
Prinsip kerja DMA adalah CPU akan mendelegasikan kerja I/O kepada DMA, CPU hanya akan terlibat pada awal proses untuk memberikan instruksi lengkap pada DMA dan akhir proses saja. Dengan demikian CPU dapat menjalankan proses lainnya tanpa banyak terganggu dengan interupsi.

Ada juga beberapa perangkat keras yang terdapat pada I/O manajemen yaitu :
1.   Pooling
§  Busy-waiting/ polling adalah ketika host mengalami looping yaitu membaca status register secara terus-menerus sampai status busy di-clear.
§  Pada dasarnya polling dapat dikatakan efisien. Akan tetapi polling menjadi tidak efisien ketika setelah berulang-ulang melakukan looping, hanya menemukan sedikit device yang siap untuk men-service, karena CPU processing yang tersisa belum selesai.
2.   Interupsi
Mekanisme Dasar Interupsi :
§  Ketika CPU mendeteksi bahwa sebuah controller telah mengirimkan sebuah sinyal ke interrupt request line (membangkitkan sebuah interupsi), CPU kemudian menjawab interupsi tersebut (juga disebut menangkap interupsi) dengan menyimpan beberapa informasi mengenai state terkini CPU–contohnya nilai instruksi pointer, dan memanggil interrupt handler agar handler tersebut dapat melayani controller atau alat yang mengirim interupsi tersebut.
§  Fitur Tambahan pada Komputer Modern :
§  Pada arsitektur komputer modern, tiga fitur disediakan oleh CPU dan interrupt controller (pada perangkat keras) untuk dapat menangani interrupsi dengan lebih bagus. Fitur-fitur ini antara lain adalah kemampuan menghambat sebuah proses interrupt handling selama prosesi berada dalam critical state, efisiensi penanganan interupsi sehingga tidak perlu dilakukan polling untuk mencari device yang mengirimkan interupsi, dan fitur yang ketiga adalah adanya sebuah konsep multilevelinterupsi sedemikian rupa sehingga terdapat prioritas dalam penanganan interupsi (diimplementasikan dengan interrupt priority level system).

Penyebab Interupsi
§  Interupsi dapat disebabkan berbagai hal, antara lain exception, page fault, interupsi yang dikirimkan oleh device controllers, dan system call Exception adalah suatu kondisi dimana terjadi sesuatu/ dari sebuah operasi didapat hasil tertentu yang dianggap khusus sehingga harus mendapat perhatian lebih, contoh nya pembagian dengan 0 (nol), pengaksesan alamat memori yang restricted atau bahkan tidak valid, dan lain-lain.
§  System call adalah sebuah fungsi pada aplikasi (perangkat lunak) yang dapat mengeksekusikan instruksi khusus berupa software interrupt atau trap.

3. DMA
§  DMA adalah sebuah prosesor khusus (special purpose processor) yang berguna untuk menghindari pembebanan CPU utama oleh program I/O (PIO).

4. Handshaking
§  Proses handshaking antara DMA controller dan device controller dilakukan melalui sepasang kabel yang disebut DMA-request dan DMA-acknowledge. Device controller mengirimkan sinyal melalui DMA-request ketika akan mentransfer data sebanyak satu word. Hal ini kemudian akan mengakibatkan DMA controller memasukkan alamat-alamat yang dinginkan ke kabel alamat memori, dan mengirimkan sinyal melalui kabel DMA-acknowledge. Setelah sinyal melalui kabel DMA-acknowledge diterima, device controller mengirimkan data yang dimaksud dan mematikan sinyal pada DMA-request.
§  Hal ini berlangsung berulang-ulang sehingga disebut handshaking. Pada saat DMA controller mengambil alih memori, CPU sementara tidak dapat mengakses memori (dihalangi), walau pun masih dapat mengaksees data pada cache primer dan sekunder. Hal ini disebut cycle stealing, yang walau pun memperlambat komputasi CPU, tidak menurunkan kinerja karena memindahkan pekerjaan data transfer ke DMA controllermeningkatkan performa sistem secara keseluruhan.





Prinsip Perangkat lunak Input / Output
Pemanfaatan perangkat lunak untuk mengelola I/O ini pada dasarnya adalah mengorganisasikan software dalam beberapa layer dimana level bawah menyembunyikan akses atau kerumitan hardware untuk level diatasnya. Level akan berfungsi sebagai antar muka atau interface ke pengguna. Adapun
kriteria, karakteristik atau tujuan perangkat lunak I/O adalah :

1.      Konsep dalam desain software I/O, merupakan device independence dan tidak bergantung pada device yang digunakan.
2.      Penamaan yang seragam / Uniform Naming. Penamaan file berkas atau perangkat adalah string atau integer dan harus sederhana, tidak bergantung pada device Contoh : seluruh disks dapat dibuat dengan hirarki sistem file (menggunakan NPS).
3.      Penanganan kesalahan / Error Handling. Error harus ditangani sedekat mungkin dengan hardware. Contoh : pertama controller, device driver, dst. Dan jika tidak bisa ditangani beri pesan
4.      Synchronous (blocking) dan Asynchronous (Interrupt Driver) transfer. Kebanyakan I/O adalah asinkron. Pemroses memulai transfer dan mengabaikan untuk melakukan kerja lain sampai interupsi tiba. Program pemakai sangat lebih mudah ditulis jika operasi I/O berorientasi blok. Setelah perintah read, pemrogram ditunda secara otomatis sampai data tersedia di buffer.
5.      Sharable vs Dedicated Device. Beberapa perangkat dapat dipakai bersama seperti disk, tapi ada juga perangkat yang hanya satu pemakai yang dibolehkan memakai pada satu saat. Misal : disk untuk sharable dan printer untuk dedicated

Untuk mengimplementasikan tujuan atau kriteria diatas perangkat lunak I/O dipisahkan dalam empat layer, yaitu :

1.      Interrupt Handler Interrupt harus disembunyikan agar tidak terlihat rutin berikutnya. Device driver di blok saat perintah I/O diberikan dan menunggu interupsi. Ketika interupsi terjadi, prosedur penanganan interupsi bekerja agar device driver keluar dari state blocked.
2.      Device Drivers. Seluruh kode device dependent terletak di device driver.. Tiap device driver menangani satu tipe / satu kelas device. Tugas dari de-vice driver untuk menerima permintaan abstrak dari software device independent diatasnya dan melakukan layanan sesuai permintaan / mengeksekusinya.
3.      Device Independent Operating System Software. I/O device-independent adalah : software I/O yang tak bergantung pada perangkat keras. Fungsi dasar dari software device-independent adalah: 1) membentuk fungsi I/O yang berlaku untuk semua device dan 2) menyediakan interface uniform yang seragam ke user level software. 3) memberikan penamaan device. 4) memberikan proteksi device. 5) Memberi ukuran blok device agar bersifat device-independent. 6) Melakukan Buffering. 7) mengalokasi penyimpanan pada blok devices. 8) menglokasi dan pelepasan dedicated devices. 9) melakukan pelaporan kesalahan.
4.      User Space I/Osoftware atau lapisan pustaka. Sebagian besar software I/O berada di dalam sistem operasi yang di link dengan user program. System call termasuk I/O, biasanya dalam bentuk prosedur (library procedures)

Tidak ada komentar:

Posting Komentar

Sistem Informasi Perbankan Perhitungan Bunga Deposito

Soal. Pada tanggal 15 Januari 2020 Tuan Iwan menyimpan deposito berjangka senilai Rp. 12.000.000 dengan jangka waktu 3 bulan. Bunga dep...