Rabu, 29 Oktober 2014

Input Output System



Sistem Input/Output

I/O System merupakan bagian untuk menangani inputan dan outputan dari DCS. Inputan dan outputan tersebut bisa analog atau digital. Inputan/outputan digital seperti sinyal-sinyal ON/OFF atau Start/Stop. Kebanyakan dari pengukuran proses dan outputan terkontrol merupakan jenis analog.


1. INPUT.

Input adalah

semua data dan perintah yang dimasukkan ke dalam memori komputer untuk selanjutnya diproses lebih lanjut oleh prosesor. Sebuah perangkat input adalah komponen piranti keras yang memungkinkan user atau pengguna memasukkan data ke dalam komputer, atau bisa juga disebut sebagai unit luar yang digunakan untuk memasukkan data dari luar ke dalam mikroprosesor.


2. OUTPUT.

Output adalah data yang telah diproses menjadi bentuk yang dapat digunakan. Artinya komputer memproses data-data yang diinputkan menjadi sebuah informasi. Yang disebut sebagai perangkat output adalah semua komponen piranti keras yang menyampaikan informasi kepada orang-orang yang menggunakannya.

Contoh input/output.

Input :

§ Keyboard (keyboard adalah sebuah papan dengan fungsi untuk membantu user untuk mengetik mulai dari A-Z 1-10 dst. dengan perkembangan yg begitu pesat, banyak vendor vendor pembuat keyboard yg bersaing dibidang gaming.)





§ Mouse (adalah alat yang digunakan untuk memasukkan data dan perintah ke dalam komputer selain papan tombol atau keyboard)



§ Scanner ( merupakan suatu alat yang digunakan untuk memindai suatu bentuk maupun sifat benda, seperti dokumen, foto, gelombang, suhu dan lain-lain. Hasil pemindaian itu pada umumnya akan ditransformasikan ke dalam komputer sebagai datadigital.)




§ Joystick (adalah alat masukan komputer yang berwujud tuas yang dapat bergerak ke segala arah. Alat ini dapat mentransmisikan arah sebesar dua atau tiga dimensi ke komputer. Alat ini umumnya digunakan sebagai pelengkap untuk memainkan permainan video yang dilengkapi lebih dari satu tombol.)




§ WebCam (WebCam adalah kamera video sederhana berukuran relatif kecil. sering digunakan untuk konferensi video jarak jauh atau sebagai kamera pemantau. WebCam pada umumnya tidak membutuhkan kaset atau tempat penyimpanan data, data hasil perekaman yang didapat langsung ditransfer ke komputer.)




§ Microphone (adalah suatu jenis transduser yang mengubah energi-energi akustik (gelombang suara) menjadisinyal listrik. Mikrofon merupakan salah satu alat untuk membantu komunikasi manusia. Mikrofon dipakai pada banyak alat seperti telepon, alat perekam, alat bantu dengar, dan pengudaraan radio serta televisi.)



§ TouchScreen ( adalah sebuah perangkat input komputer yang bekerja dengan adanya sentuhan tampilan layar menggunakan jari atau pena digital.)



§ TrackBall (adalah peranti penunjuk yang berupa sebuah bola yang berada di dalam sebuah alat yang memilikisensor gerakan. Bola jejak umumnya terdapat pada tetikus modern. Bola jejak menyimulasikan pergerakan vertikal tetikus, sehingga pengguna tidak perlu menggerakkan tetikus berulang kali untuk dapat menaikkan atau menurunkan layar.)



§ LightPen ( Light Pen banyak digunakan karena untuk keperluan menggambar, keyboard dianggap tidak memadai dan hasilnya menjadi kurang teliti. Dengan menyentuhkan ujung light pen pada monitor, maka komputer bisa mengetahui posisi titik mana yang tersentuh oleh light pen. Untuk menghasilkan gambar yang bagus, light pen memerlukan adanya monitor dengan kualitas yang prima (high resolution). Dengan adanya sebuah photo transistor detector, maka pada sebuah monitor akan terbagi menjadi beberapa baris dan beberapa kolom. Semakin rapat jarak antara baris dan kolom yang dimiliki oleh monitor, semakin bagus pula gambar yang akan dihasilkannya.)



Output :

§ Monitor (adalah salah satu jenis soft-copy device, karena keluarannya adalah berupa sinyal elektronik, dalam hal ini berupa gambar yang tampil di layar monitor. Gambar yang tampil adalah hasil pemrosesan data ataupun informasi masukan. Monitor memiliki berbagai ukuran layar seperti layaknya sebuah televisi. Tiap merek dan ukuran monitor memiliki tingkat resolusi yang berbeda. Resolusi inilah yang akan menentukan ketajaman gambar yang dapat ditampilkan pada layar monitor. Jenis-jenis monitor saat ini sudah sangat beragam, mulai dari bentuk yang besar dengan layar cembung, sampai dengan bentuk yang tipis dengan layar datar (flat).



§ Printer ( Printer adalah perangkat keras (hardware) dimana perangkat itu akan bekerja apabila pengguna menghubungkannya dengan perangkat komputer, yang bisa digunakan untuk keperluan mencetak tulisan, gambar, dan grafik ke dalam bentuk kertas atau sejenisnya. Printer itu sendiri saat ini sering digunakan untuk mencetak dokumen penting baik itu perusahaan ataupun organisasi sekolah dan lain sebagainya. Dengan demikian, kehadiran printer tentu saja sangat membantu keseharian para pekerja kantoran dan pelajar serta masyarakat lainnya yang memiliki keperluan mencetak suatu dokumen penting.)




§ Speaker ( adalah transduser yang mengubah sinyal elektrik ke frekuensi audio (suara) dengan cara menggetarkan komponennya yang berbentuk membran untuk menggetarkan udara sehingga terjadilah gelombang suara sampai di kendang telinga kita dan dapat kita dengar sebagai suara.)




§ Proyektor (merupakan salah satu jenis proyektor yang digunakan untuk menampilkan video, gambar, atau data dari komputer pada sebuah layar atau sesuatu dengan permukaan datar seperti tembok, dsb. Proyektor jenis ini merupakan jenis yang lebih modern dan merupakan teknologi yang dikembangkan dari jenis sebelumnya dengan fungsi sama yaitu Overhead Projector (OHP) karena pada OHP datanya masih berupa tulisan pada kertas bening.)




I/O system terdiri dari beberapa again penting yaitu:

a. I/O Hardware


b. Application I/O Interface


c. Kernel I/O Subsystem


d. I/O Requests to Hardware Operations


e. Streams


f. Performance


a.I/O Hardware


Secara umum, I/O Hardware terdapat beberapa jenis seperti device penyimpanan (disk,tape), transmission device (network card, modem), dan human-interface device (screen, keyboard,mouse). Device tersebut dikendalikan oleh instruksi I/O. Alamat-alamat yang dimiliki oleh device akan digunakan oleh direct I/O instruction dan memory-mapped I/O. Beberapa konsep yang umum digunakan ialah port, bus (daisy chain/ shared direct access), dan controller (host adapter).

§ Port adalah koneksi yang digunakan oleh device untuk berkomunikasi

dengan mesin.


§ Bus adalah koneksi yang menghubungkan beberapa device menggunakan


kabel-kabel.

§ Controller adalah alat-alat elektronik yang berfungsi untuk mengoperasikan port, bus, dan device.

b.Application I/O Interface

Merupakan suatu mekanisme untuk mempermudah pengaksesan, sehingga sistem operasi melakukan standarisasi cara pengaksesan peralatan I/O. Contoh : suatu aplikasi ingin membuk data yang ada dalam suatu disk, aplikasi tersebut harus dapat membedakan jenis disk apa yang akan diaksesnya. 
Interface aplikasi I/O melibatkan abstraksi, enkapsulasi, dan software layering. Device driver mengenkapsulasi tiap-tiap peralatan I/O ke dalam masing-masing 1 kelas yang umum (interface standar). Tujuan dari adanya lapisan device driver ini adalah untuk menyembunyikan perbedaan-perbedaan yang ada pada device controller dari subsistem I/O pada kernel. Karena hal ini, subsistem I/O dapat bersifat independen dari hardware.

Beberapa hal yang berhubungan dengan Application I/O Interface adalah:

1.Peralatan Block dan Karakter:

- Perangkat Block termasuk disk drive

§ Perintah termasuk baca, tulis dan cari

§ Raw I/O atau akses file-sistem

§ Pemetaan memori untuk pengaksesan file.

- Perangkat karakter termasuk keyboad, mouse dan serial port

§ Perintahnya seperti get, put.

§ Library layered dalam proses pengeditan.

2.Peralatan Jaringan

Adanya perbedaan pengalamatan dari jaringan I/O, maka sistem operasi memiliki interface I/O yang berbeda dari baca, tulis dan pencarian pada disk. Salah satu yang banyak digunakan pada sistem operasi adalah interface socket. Socket berfungsi untuk menghubungkan komputer kejaringan. System call pada socket interface dapat memudahkan suatu aplikasi untuk membuat local socket, dan menghubungkannya ke remote socket.Dengan menghubungkan komputer ke socket, maka komunikasi antar komputer dapat dilakukan.

3.Jam dan Timer

Jam dan timer pada hardware komputer, memiliki tiga fungsi :

§ memberi informasi waktu saat ini

§ memberi informasi lamanya waktu sebuah proses

§ sebagai trigger untuk suatu operasi pada suatu waktu.

Fungsi ini sering digunakan oleh sistem operasi. Akan tetapi, system call untuk pemanggilan fungsi ini tidak di-standarisasi antar sistem operasi. Hardware yang mengukur waktu dan melakukan operasi trigger dinamakan programmable interval timer yang dapat di set untuk menunggu waktu tertentu dan kemudian melakukan interupsi. Contoh penerapannya ada pada scheduler, dimana akan melakukan interupsi yang akan memberhentikan suatu proses pada akhirdari bagian waktunya. Sistem operasi dapat mendukung lebih dari banyak timer request daripada banyaknya jumlah hardware timer. Dengan kondisi seperti ini, maka kernel atau device driver mengatur list dari interupsi dengan urutan yang duluan datang yang duluan dilayani.

c.Kernel I/O subsystems

Kernel menyediakan banyak service yang berhubungan dengan I/O. Pada bagian ini, kita akan mendeskripsikan beberapa service yang disediakan oleh kernel I/O subsystem, dan kita akan membahas bagaimana caranya membuat infrastruktur hardware dan device-driver. Service yang akan kita bahas adalah I/O scheduling, buffering, caching, pooling, reservasi device, error handling.

1.I/O Scheduling

Untuk menjadualkan sebuah set permintaan I/O, kita harus menetukan urutan yang bagus untuk mengeksekusi permintaan tersebut. 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.
Ini adalah contoh sederhana untuk menggambarkan definisi di atas. Jika sebuah arm disk terletak di dekat permulaan disk, dan ada tiga aplikasi yang memblokir panggilan untuk membaca untuk disk tersebut. Aplikasi 1 meminta sebuah blok dekat akhir disk, aplikasi 2 meminta blok yang dekat dengan awal, dan aplikasi 3 meminta bagian tengah dari disk. Sistem operasi dapat mengurangi jarak yang harus ditempuh oleh arm disk dengan melayani aplikasi tersebut dengan urutan 2, 3, 1. Pengaturan urutan pekerjaan kembali dengan cara ini merupakan inti dari I/O scheduling. Sistem operasi mengembangkan implementasi scheduling dengan menetapkan antrian permintaan untuk tiap device. Ketika sebuah aplikasi meminta sebuah blocking sistem I/O, permintaan tersebut dimasukkan ke dalam antrian untuk device tersebut. Scheduler I/O mengatur urutan antrian untuk meningkatkan efisiensi dari sistem dan waktu respon rata-rata yang harus dialami oleh aplikasi. Sistem operasi juga mencoba untuk bertindak secara adil, seperti tidak ada aplikasi yang menerima service yang buruk, atau dapat seperti memberi prioritas service untuk permintaan penting yang ditunda. Contohnya, pemintaan dari subsistem mungkin akan mendapatkan prioritas lebih tinggi daripada permintaan dari aplikasi. Beberapa algoritma scheduling untuk disk I/O akan dijelaskan ada bagian Disk Scheduling. Satu cara untuk meningkatkan efisiensi I/O subsistem dari sebuah computer adalah dengan mengatur operasi I/O. Cara lain adalah dengan menggunakan tempat penyimpanan pada memori utama atau pada disk, melalui teknik yang disebut buffering, caching, dan spooling.


2. 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 hard disk. Jadi buffer dibuat di dalam memori utama untuk mengumpulkan jumlah byte yang diterima dari modem. Ketika keseluruhan data di buffer sudah sampai, buffer tersebut dapat ditulis ke disk dengan operasi tunggal. Karena penulisan disk tidak terjadi dengan instan dan modem masih memerlukan tempat untuk menyimpan data yang berdatangan, maka dipakai 2 buah buffer. Setelah modem memenuhi buffer pertama, akan terjadi request untuk menulis di disk. Modem kemudian mulai memenuhi buffer kedua sementara buffer pertama dipakai untuk penulisan ke disk. Pada saat modem sudah memenuhi buffer kedua, penulisan ke disk dari buffer pertama seharusnya sudah selesai, jadi modem akan berganti kembali memenuhi buffer pertama dan buffer kedua dipakai untuk menulis. Metode double buffering ini membuat pasangan ganda antara produsen dan konsumen sekaligus mengurangi kebutuhan waktu di antara mereka. Alasan kedua dari buffering adalah untuk menyesuaikan device-device yang mempunyai perbedaan dalam ukuran transfer data. Hal ini sangat umum terjadi pada jaringan komputer, dimana buffer dipakai secara luas untuk fragmentasi dan pengaturan kembali pesan-pesan yang diterima. Pada bagian pengirim, sebuah pesan yang besar akan dipecah ke paket-paket kecil. Paket-paket tersebut dikirim melalui jaringan, dan penerima akan meletakkan mereka di dalam buffer untuk disusun kembali.
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. Setelah pemanggilan tersebut, apakah yang akan terjadi jika aplikasi tersebut merubah isi dari buffer, dengan copy semantics, keutuhan data yang ingin ditulis sama dengan data waktu aplikasi ini memanggil sistem untuk menulis, tidak tergantung dengan perubahan yang terjadi pada buffer. Sebuah cara sederhana untuk sistem operasi untuk menjamin copy semantics adalah membiarkan sistem penulisan untuk mengkopi data aplikasi ke dalam buffer kernel sebelum mengembalikan kontrol kepada aplikasi. Jadi penulisan ke disk dilakukan pada buffer kernel, sehingga perubahan yang terjadi pada buffer aplikasi tidak akan membawa dampak apa-apa. Mengcopy data antara buffer kernel data aplikasi merupakan sesuatu yang umum pada sistem operasi, kecuali overhead yang terjadi karena operasi ini karena clean semantics. Kita dapat memperoleh efek yang sama yang lebih efisien dengan memanfaatkan virtual-memori mapping dan proteksi copy-on-wire dengan pintar.


3. Caching

Sebuah cache adalah daerah memori yang cepat yang berisikan data kopian. Akses ke sebuah kopian yang di-cached lebih efisien daripada akses ke data asli. Sebagai contoh, instruksi-instruksi dari proses yang sedang dijalankan disimpan ke dalam disk, dan ter-cached di dalam memori physical, dan kemudian dicopy lagi ke dalam cache secondary and primary dari CPU. Perbedaan antara sebuah buffer dan ache adalah buffer dapat menyimpan satu-satunya informasi datanya sedangkan sebuah cache secara definisi hanya menyimpan sebuah data dari sebuah tempat untuk dapat diakses lebih cepat. Caching dan buffering adalah dua fungsi yang berbeda, tetapi terkadang sebuah daerah memori dapat digunakan untuk keduanya. sebagai contoh, untuk menghemat copy semantics dan membuat scheduling I/O menjadi efisien, sistem operasi menggunakan buffer pada memori utama untuk menyimpan data. Buffer ini juga digunakan sebagai cache, untuk meningkatkan efisiensi I/O untuk file yang digunakan secara bersama-sama oleh beberapa aplikasi, atau yang sedang dibaca dan ditulis secara berulang-ulang. Ketika kernel menerima sebuah permintaan file I/O, kernel tersebut mengakses buffer cacheuntuk melihat apakah daerah memori tersebut sudah tersedia dalam memori utama. Jika iya, sebuah physical disk I/O dapat dihindari atau tidak dipakai. penulisan disk juga terakumulasi ke dalam buffer cache selama beberapa detik, jadi transfer yang besar akan dikumpulkan untuk mengefisiensikan schedule penulisan. Cara ini akan menunda penulisan untuk meningkatkan efisiensi I/O akan dibahas pada bagian Remote File Access.


4.Spooling dan Reservasi Device


Sebuah spool adalah sebuah buffer yang menyimpan output untuk sebuah device, seperti printer, yang tidak dapat menerima interleaved data streams. Walau pun printer hanya dapat melayani satu pekerjaan pada waktu yang sama, beberapa aplikasi dapat meminta printer untuk mencetak, tanpa harus mendapatkan hasil output mereka tercetak secara bercampur. Sistem operasi akan menyelesaikan masalah ini dengan meng-intercept semua output kepada printer. Tiap output aplikasi sudah di-spooled ke disk file yang berbeda. Ketika sebuah aplikasi selesai mengeprint, sistem spooling akan melanjutkan ke antrian berikutnya. Di dalam beberapa sistem operasi, spooling ditangani oleh sebuah sistem proses daemon. Pada sistem operasi yang lain, sistem ini ditangani oleh in-kernel thread. Pada kedua kasus, sistem operasi menyediakan interfacekontrol yang membuat users and system administrator dapat menampilkan antrian tersebut, untuk mengenyahkan antrian-antrian yang tidak diinginkan sebelum mulai di-print. Untuk beberapa device, seperti drive tapedan printer tidak dapat me-multiplex permintaan I/O dari beberapa aplikasi. Spooling merupakan salah satu cara untuk mengatasi masalah ini. Cara lain adalah dengan membagi koordinasi untuk multiple concurrent ini. Beberapa sistem operasi menyediakan dukungan untuk akses device secara eksklusif, dengan mengalokasikan proses ke device idledan membuang device yang sudah tidak diperlukan lagi. Sistem operasi lainnya memaksakan limit suatu file untuk menangani device ini. Banyak sistem operasi menyediakan fungsi yang membuat proses untuk menangani koordinat exclusive akses diantara mereka sendiri.


5.Error Handling


Sebuah sistem operasi yang menggunakan protected memory dapat menjaga banyak kemungkinan error akibat hardware mau pun aplikasi. Devices dan transfer I/O dapat gagal dalam banyak cara, bisa karena alasan transient, seperti overloaded pada network, mau pun alasan permanen yang seperti kerusakan yang terjadi pada disk controller. Sistem operasi seringkali dapat mengkompensasikan untuk kesalahan transient. Seperti, sebuah kesalahan baca pada disk akan mengakibatkan pembacaan ulang kembali dan sebuah kesalahan pengiriman pada network akan mengakibatkan pengiriman ulang apabila protokolnya diketahui. Akan tetapi untuk kesalahan permanent, sistem operasi pada umumnya tidak akan bisa mengembalikan situasi seperti semula. Sebuah ketentuan umum, yaitu sebuah system I/O akan mengembalikan satu bit informasi tentang status panggilan tersebut, yang akan menandakan apakah proses tersebut berhasil atau gagal. Sistem operasi pada UNIX menggunakan integer tambahan yang dinamakan errno untuk mengembalikan kode kesalahan sekitar 1 dari 100 nilai yang mengindikasikan sebab dari kesalahan tersebut. Akan tetapi, beberapa perangkat keras dapat menyediakan informasi kesalahan yang detail, walaupun banyak sistem operasi yang tidak mendukung fasilitas ini.


6.Kernel Data Structure


Kernel membutuhkan informasi state tentang penggunakan komponen I/O. Kernel menggunakan banyak struktur yang mirip untuk melacak koneksi jaringan, komunikasi karakter-device, dan aktivitas I/O lainnya. UNIX menyediakan akses sistem file untuk beberapa entiti, seperti file user, raw devices, dan alamat tempat proses. Walau pun tiap entiti ini didukung sebuah operasi baca, semantics-nya berbeda untuk tiap entiti. Seperti untuk membaca file user, kernel perlu memeriksa buffer cache sebelum memutuskan apakah akan melaksanakan I/O disk. Untuk membaca sebuah raw disk, kernel perlu untuk memastikan bahwa ukuran permintaan adalah kelipatan dari ukuran sektor disk, dan masih terdapat di dalam batas sektor. Untuk memproses citra, cukup perlu untuk mengkopi data ke dalam memori. UNIX mengkapsulasikan perbedaan-perbedaan ini di dalam struktur yang uniform dengan menggunakan teknik object oriented.Beberapa sistem operasi bahkan menggunakan metode object oriented secara lebih extensif. Sebagai contoh, Windows NT menggunakan implementasi message-passing untuk I/O. Sebuah permintaan I/O akan dikonversikan ke sebuah pesan yang dikirim melalui kernel kepada I/O manager dan kemudian ke device driver, yang masing-masing bisa mengubah isi pesan. Untuk output, isi message adalah data yang akan ditulis. Untuk input, message berisikan buffer untuk menerima data. Pendekatan message-passing ini dapat menambah overhead, dengan perbandingan dengan teknik prosedural yang men-share struktur data, tetapi akan mensederhanakan struktur dan design dari sistem I/O tersebut dan menambah fleksibilitas.


d.I/O Requests to Hardware Operations


Salah satu contohnya adalah:


a. Ilustrasi membuka sebuah


- Device mana tempat file yang akan dibuka


- Menerjemahkan _nama_ ke dalam device yang dimaksud


- Membaca secara fisik file yang hendak dibuka


- Data sudah siap untuk diakses


- Mengembalikan kontrol pada proses


Ilustrasi lain pada waktu boot


Sistem mula-mula meminta bus piranti keras untuk menentukan device apa yang ada


e.Streams


I/O stream adalah suatu mekanisme pengiriman data secara bertahap dan terus menerus melalui suatu aliran data (dua arah).Biasa digunakan dalam network protocol dan menggunakan message passingdalam men-transferdata


Stream terdiri atas :


- sebuah stream head yang merupakan antarmuka dengan user process,


- sebuah driver end yang mengontrol device,


- dan nol atau lebih stream modules


g.Performance


Faktor utama dalam performa sistem :


§ Permintaan CPU untuk menjalankan device driver, kode kernel I/O


§ Keadaan/state untuk melayani interrupt


§ Copy data


§ Network traffic khususnya pada beban kinerja

Improving Perfomance:

- Menurunkan jumlah alih konteks.

- Mengurangi jumlah pengkopian data ke memori ketika sedang dikirimkan antara device dan aplikasi.

- Mengurangi frekuensi interupsi, dengan menggunakan ukuran transfer yang besar, smart controller, dan polling.

- Meningkatkan concurrency dengan controller atau channel yang mendukung DMA.

- Memindahkan kegiatan processing ke perangkat keras, sehingga operasi kepada device controller dapat berlangsung bersamaan dengan CPU.


- Menyeimbangkan antara kinerja CPU, memory subsystem, bus, dan I/O.
PERANGKAT EKSTERNAL
· Operasi-operasi I/O diperoleh melalui sejumlah perangkat ekternal dengan menggunakan link (fungsinya untuk pertukaran kontrol,status dan data antara modul I/O dengan device eksternalnya)
· Perangkat Eksternal dikategorikan menjadi 3
a. Pembacaan di sisi Manusia (Human readable) : perangkat yang berhubungan dengan manusia sebagai pengguna komputer.
Ø Screen, printer, keyboard mouse, printer, joystick, disk drive
b. Pembacaan disisi mesin (Machine readable) : perangkat yang berhubungan dengan peralatan. Biasanya berupa modul sensor dan tranduser untuk monitoring dan kontrol suatu peralatan atau
sistem.
Ø Monitoring dan control
c. Komunikasi (memungkinkan komputer untuk saling bertukar data dengan perangkat jarak jauh)
Ø Modem
Ø Network Interface Card (NIC)


v Pengklasifikasian juga bisa berdasarkan arah datanya, yaitu perangkat output, perangkat input dan kombinasi output-input. Contoh perangkat output: monitor, proyektor dan printer. Perangkat input misalnya: keyboard, mouse, joystick, scanner, mark reader, bar code reader.


MODUL I/O
v Merupakan Interface bagi CPU dan Memory atau Interface untuk 1/lebih perangkat peripheral
v modul I/O memiliki dua buah fungsi utama, yaitu :


1. Sebagai piranti antarmuka ke CPU dan memori melalui bus sistem.


2. Sebagai piranti antarmuka dengan peralatan peripheral lainnya dengan menggunakan link

data tertentu.

FUNGSI MODUL I/O
· Control & Timing


Fungsi kontrol dan pewaktuan (control & timing) merupakan hal yang penting untuk
mensinkronkan kerja masing - masing komponen penyusun komputer. Dalam sekali waktu CPU berkomunikasi dengan satu atau lebih perangkat dengan pola tidak menentu dan kecepatan transfer komunikasi data yang beragam, baik dengan perangkat internal seperti register - register, memori utama, memori sekunder, perangkat peripheral. Proses tersebut bisa berjalan apabila ada fungsi kontrol dan pewaktuan yang mengatur sistem secara keseluruhan.


Contoh kontrol pemindahan data dari peripheral ke CPU melalui sebuah modul I/O dapat meliputi langkah-langkah penanganan I/O sbb :


1 Permintaan dan pemeriksaan status perangkat dari CPU ke modul I/O.


2 Modul I/O memberi jawaban atas permintaan CPU.


3 Apabila perangkat eksternal telah siap untuk transfer data, maka CPU akan mengirimkan perintah ke modul I/O.


4 Modul I/O akan menerima paket data dengan panjang tertentu dari peripheral.


5 Selanjutnya data dikirim ke CPU setelah diadakan sinkronisasi panjang data dan kecepatan transfer oleh modul I/O sehingga paket - paket data dapat diterima CPU dengan baik.


Transfer data tidak akan lepas dari penggunaan sistem bus, maka interaksi CPU dan modul I/O akan melibatkan kontrol dan pewaktuan sebuah arbitrasi bus atau lebih.




· Komunikasi CPU


Adapun fungsi komunikasi antara CPU dan modul I/O meliputi proses - proses berikut :


• Command Decoding, yaitu modul I/O menerima perintah - perintah dari CPU yang dikirimkan sebagai sinyal bagi bus kontrol. Misalnya, sebuah modul I/O untuk disk dapat menerima perintah: Read sector, Scan record ID, Format disk.


• Data, pertukaran data antara CPU dan modul I/O melalui bus data.


• Status Reporting, yaitu pelaporan kondisi status modul I/O maupun perangkat peripheral, umumnya berupa status kondisi Busy atau Ready. Juga status bermacam macam kondisi kesalahan (error).


• Address Recognition, bahwa peralatan atau komponen penyusun komputer dapat dihubungi atau dipanggil maka harus memiliki alamat yang unik, begitu pula pada perangkat peripheral, sehingga setiap modul I/O harus mengetahui alamat peripheral


yang dikontrolnya.




· Komunikasi Perangkat (device communication)
Ø Meliputi perintah, informasi status dan data

· Data Buffering


Tujuan utama buffering adalah mendapatkan penyesuaian data sehubungan perbedaan laju transfer data dari perangkat peripheral dengan kecepatan pengolahan pada CPU. Umumnya laju transfer data dari perangkat peripheral lebih lambat dari kecepatan CPU maupun media penyimpan.



· Deteksi Error


Apabila pada perangkat peripheral terdapat masalah sehingga proses tidak dapat dijalankan, maka modul I/O akan melaporkan kesalahan tersebut. Misal informasi kesalahan pada peripheral printer seperti: kertas tergulung, pinta habis, kertas habis, dan lain - lain. Teknik yang umum untuk deteksi kesalahan adalah penggunaan bit paritas.

Blok Diagram Struktur Modul I/O





Antarmuka modul I/O ke CPU melalui bus sistem komputer terdapat tiga saluran, yaitu saluran data, saluran alamat dan saluran kontrol. Bagian terpenting adalah blok logika I/O yang berhubungan dengan semua peralatan antarmuka peripheral, terdapat fungsi pengaturan dan switching pada blok ini.

TEKNIK – TEKNIK I/O (Metode Operasi Sistem I/O)
Terdapat tiga buah teknik dalam operasi I/O, yaitu: I/O terprogram, interrupt - driven I/O, dan DMA (Direct Memory Access).

1. I/O Terprogram
a. CPU langsung mengendalikan operasi I/O secara keseluruhan dengan menjalankan serangkaian instruksi I/O dengan program tertentu
b. Karakteristik :
1. Terdapat program untuk memulai-mengarahkan- menghentikan operasi I/O
2. Membutuhkan perangkat keras register
Register status, register buffer register point
buffer dan register counter data
3. perlu waktu proses yang menyita waktu pemanfaatan CPU

PERINTAH-PERINTAH I/O
· Untuk mengeksekusi instruksi yg berkaitan dengan I/O, CPU menerbitkan address
d. Identifikasi modul(& device if >1 per module)
· Perintahnya
e. Control – untuk mengaktivasi peripheral dan membertitahu tugas yang harus dilakukan
Ø Menggulung ulang atau memajukan sebuah record (spin up disk)
f. Test – mengecek status
Ø Aktif? , Error?
g. Read/Write
Ø Modul akan menstanfer data lewat buffer dari/ke device

METODE PENGAKSESAN SISTEM I/O
· Memory mapped I/O
h. Terdapat ruang alamat tunggal untuk lokasi memori dan perangkat I/O
i. CPU memperlakukan regiter status dan register data modul I/O sebagai lokai memori read/write
j. Tidak ada perintah khusus untuk I/O
· Memory Isolated I/O
k. Terpisah ruang alamat
l. Port-port I/O hanya dapat diakses dengan perintah I/O khusus
m. Perintah khusus untuk I/O

Dalam perkembangan teknologi informasi selalu ada inovasi dan variasi dalam setiap komponen, begitu juga dengan input output system. Contoh sederhana, pada masa sekarang ini banyak PC atau Laptop yang berbasis gaming, para vendor penyedia perangkat input ataupun output komputer berlomba lomba untuk memenuhi semua kebutuhan para gamer yang begitu beragam, contohnya seperti logitech, razer, steelseries yang begitu banyak menyediakan perangkat gaming.


Addapted by :
 http://ubay16.wordpress.com/2013/12/27/sistem-inputoutput-io/
http://ahmad-kataku.blogspot.com/2012/09/sistem-input-output-pengertian-alat-dan.html 
http://rojali-jali.blogspot.com/2010/11/io-sistem-operasi.html 

Tidak ada komentar:

Posting Komentar