SISTEM INPUT/OUTPUT (I/O)
I/O Sistem Operasi
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.
Pengertian 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.
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.
Pengertian 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.
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.
I/O system terdiri dari beberapa bagain 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),
(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 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.
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.
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.
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.
D. I/O Requests to Hardware Operations
Salah satu contohnya adalah:
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
b.Ilustrasi lain pada waktu boot
Sistem mula-mula meminta bus piranti keras untuk menentukan device apa yang ada.
– 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
b.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 :
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
F.Performance
Faktor utama dalam performa sistem :
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
CONTOH ALAT INPUT/OUTPUT
*INPUT
Keyboard
*INPUT
Keyboard
Keyboard digunakan untuk memberikan masukan (input) ke dalam komputer, dimana masukan (input) tersebut dapat berupa data atau perintah yang dimasukkan dengan cara mengetikkannya langsung pada keyboard.
Mouse
Pada dasarnya, penunjuk (pointer) yang dikenal dengan sebutan “Mouse” dapat digerakkan kemana saja berdasarkan arah gerakan bola kecil yang terdapat dalam mouse.
Scanner
Scanner digunakan untuk melakukan proses scanning dari suatu gambar, dimana hasil dari proses ini akan disimpan pada komputer sehingga dapat diolah lebih lanjut sesuai dengan keinginan kita. Scanner ini sangat berguna dalam proses design yang memerlukan banyak gambar untuk kemudian diolah sesuai dengan kepentingan design.
Kamera digital
Kamera digital adalah peranti yang menangkap gambar secara
elektronis, dan menyimpannya dalam memori bukan di atas film.
Light pen
Light pen adalah pointer elektronik yang digunakan untuk
modifikasi dan men-design gambar dengan screen (monitor).
*OUTPUT
Beberapa contoh serta penjelasan Perlengkapan Output,sbb :
·
Hard-copy device,yaitu alat yang digunakan untuk mencetak
tulisan dan image pada media keras seperti kertas atau film. Merupakan
alat keluaran yg digunakan untuk mencetak tulisan, grafik atau gambar pada
media pencetak. Alat hard copy device yang umum dipergunakan adalah printer.
Jenis-jenis printer meliputi dot matrix, inkjet printer dan laser. Selain itu
juga dikenal Plotter, alat cetak yang mempunyai kemampuan mencetak grafik atau
gambar dengan baik, biasanya menggunakan pen plotter.
·
Soft-copy device,yaitu alat yang digunakan untuk menampilkan
tulisan dan image pada media lunak yang berupa sinyal elektronik.
Contoh :
Contoh :
·
Printer : Output device yang berfungsi mencetak data (Dokumen,
Picture, web page dll)
·
Monitor : Output device yang berfungsi menampilkan data-data
dari CPU.
·
Projector : Sama halnya monitor, projector berfungsi menampilkan
data-data dari CPU, badanya adalah ukuran keluaran projector jauh lebih besar
dari monitor.
·
Speaker : Alat keluaran untuk device yang berupa suara.
PERANGKAT EKSTERNAL
Mesin komputer akan memiliki nilai apabila bisa berinteraksi dengan dunia luar.
Lebih dari itu, komputer tidak akan berfungsi apabila tidak dapat berinteraksi
dengan dunia luar. Ambil contoh saja, bagaimana kita bisa menginstruksikan CPU
untuk melakukan suatu operasi apabila tidak ada keyboard. Bagaimana kita
melihat hasil kerja sistem komputer bila tidak adamonitor.Keyboard dan monitor
tergolong dalam perangkat eksternal komputer.
Perangkat eksternal yang dihubungkan modul I/O seringkali
disebut perangkat peripheral, atau untuk mudahnya disebut peripheral.
Sistem komputer tidak akan berguna tanpa adanya peralatan input
dan output. Operasi-operasi I/O diperoleh melalui sejumlah perangkat eksternal
yang menyediakan alat untuk pertukaran data di antara lingkungan luar dengan
komputer. Perangkat eksternal dihubungkan dengan komputer oleh suatu link
dengan modul I/O
Link digunakan untuk pertukaran kontrol, status, dan data antara
modul I/O sering kali disebut sebagai perangkat peripheral, atau untuk mudahnya
disebut peripheral.
Klasifikasi
Secara umum perangkat eksternal diklasifikasikan menjadi 3
katagori :
1. Human Readable
yaitu perangkat yang berhubungan dengan
manusia sebagai pengguna komputer.
Cocok untuk berkomunikasi dengan pengguna
komputer.
Contohnya: monitor, keyboard, mouse, printer,
joystick, disk drive.
2. Machine readable
yaitu perangkat yang berhubungan dengan
peralatan. Biasanya berupa modul sensor
dan tranduser untuk monitoring dan kontrol suatu
peralatan atausistem.
cocok untuk berkomunikasi dengan peralatan.
3. Communication
yatu perangkat yang berhubungan dengan komunikasi
jarak jauh.Misalnya: NIC dan
modem. cocok untuk berkomunikasi dengan perangkat
jarak jauh.
Interface ke modul I/O adalah dalam bentuk signal-signal
control, status dan data.
MODUL-MODUL I/O
Modul I/O adalah
suatu komponen dalam sistem komputer yang bertanggung jawab atas pengontrolan
sebuah perangkat luar atau lebih dan bertanggung jawab pula dalam pertukaran
data antara perangkat luar tersebut dengan memori utama ataupun dengan register
– register CPU. Dalam mewujudkan hal ini, diperlukan antarmuka internal dengan
komputer (CPU dan memori utama) dan antarmuka dengan perangkat eksternalnya
untuk menjalankan fungsi – fungsi pengontrolan.
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.
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 :
1. 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.
2. Data,
pertukaran data antara CPU dan modul I/O melalui bus data.
3. 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).
4. 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.
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.
Untuk melaksanakan perintah – perintah I/O, CPU akan mengeluarkan sebuah alamat bagi modul I/O dan perangkat peripheralnya sehingga terspesifikasi secara khusus dan sebuah perintah I/O yang akan dilakukan. Terdapat empat klasifikasi perintah I/O, yaitu:
1. Perintah control.
Perintah ini digunkan untuk mengaktivasi perangkat peripheral dan memberitahukan tugas yang
diperintahkan padanya.
2. Perintah test.
Perintah ini digunakan CPU untuk menguji berbagai kondisi status modul I/O dan
peripheralnya. CPU perlu mengetahui perangkat peripheralnya dalam keadaan aktif dan siap
digunakan, juga untuk mengetahui operasi – operasi I/O yang dijalankan serta mendeteksi
kesalahannya.
3. Perintah read.
Perintah pada modul I/O untuk mengambil suatu paket data kemudian menaruh dalam buffer
internal. Proses selanjutnya paket data dikirim melalui bus data setelah terjadi sinkronisasi data
maupun kecepatan transfernya.
4. Perintah write.
Perintah ini kebalikan dari read. CPU memerintahkan modul I/O untuk mengambil data dari
bus data untuk diberikan pada perangkat peripheral tujuan data tersebut.
Dalam teknik I/O terprogram, terdapat dua macam inplementasi perintah I/O yang tertuang dalam instruksi I/O, yaitu: memory-mapped I/O dan isolated I/O. Dalam memory-mapped I/O, terdapat ruang tunggal untuk lokasi memori dan perangkat I/O. CPU memperlakukan register status dan register data modul I/O sebagai lokasi memori dan menggunakan instruksi mesin yang sama untuk mengakses baik memori maupun perangkat I/O. Konskuensinya adalah diperlukan saluran tunggal untuk pembacaan dan saluran tunggal untuk penulisan. Keuntungan memory-mapped I/O adalah efisien dalam pemrograman, namun memakan banyak ruang memori alamat.
Dalam teknik isolated I/O, dilakukan pemisahan ruang pengalamatan bagi memori dan ruang pengalamatan bagi I/O. Dengan teknik ini diperlukan bus yang dilengkapi dengan saluran pembacaan dan penulisan memori ditambah saluran perintah output. Keuntungan isolated I/O adalah sedikitnya instruksi I/O.
Untuk melaksanakan perintah – perintah I/O, CPU akan mengeluarkan sebuah alamat bagi modul I/O dan perangkat peripheralnya sehingga terspesifikasi secara khusus dan sebuah perintah I/O yang akan dilakukan. Terdapat empat klasifikasi perintah I/O, yaitu:
1. Perintah control.
Perintah ini digunkan untuk mengaktivasi perangkat peripheral dan memberitahukan tugas yang
diperintahkan padanya.
2. Perintah test.
Perintah ini digunakan CPU untuk menguji berbagai kondisi status modul I/O dan
peripheralnya. CPU perlu mengetahui perangkat peripheralnya dalam keadaan aktif dan siap
digunakan, juga untuk mengetahui operasi – operasi I/O yang dijalankan serta mendeteksi
kesalahannya.
3. Perintah read.
Perintah pada modul I/O untuk mengambil suatu paket data kemudian menaruh dalam buffer
internal. Proses selanjutnya paket data dikirim melalui bus data setelah terjadi sinkronisasi data
maupun kecepatan transfernya.
4. Perintah write.
Perintah ini kebalikan dari read. CPU memerintahkan modul I/O untuk mengambil data dari
bus data untuk diberikan pada perangkat peripheral tujuan data tersebut.
Dalam teknik I/O terprogram, terdapat dua macam inplementasi perintah I/O yang tertuang dalam instruksi I/O, yaitu: memory-mapped I/O dan isolated I/O. Dalam memory-mapped I/O, terdapat ruang tunggal untuk lokasi memori dan perangkat I/O. CPU memperlakukan register status dan register data modul I/O sebagai lokasi memori dan menggunakan instruksi mesin yang sama untuk mengakses baik memori maupun perangkat I/O. Konskuensinya adalah diperlukan saluran tunggal untuk pembacaan dan saluran tunggal untuk penulisan. Keuntungan memory-mapped I/O adalah efisien dalam pemrograman, namun memakan banyak ruang memori alamat.
Dalam teknik isolated I/O, dilakukan pemisahan ruang pengalamatan bagi memori dan ruang pengalamatan bagi I/O. Dengan teknik ini diperlukan bus yang dilengkapi dengan saluran pembacaan dan penulisan memori ditambah saluran perintah output. Keuntungan isolated I/O adalah sedikitnya instruksi I/O.
Tidak ada komentar:
Posting Komentar