Makalah Input Output Dalam Sistem Operas

MAKALAH
Input Output Dalam Sistem Operasi dan
Contoh Implementasinya

Oleh:
RIFKI AFDAL
(151100204)

DOSEN PEMBIMBING
KEUKEU ROHANDI, M.Kom

YAYASAN AMAL BAKTI MUKMIN PADANG
Sekolah Tinggi Manajemen Infrormatika dan Komputer
(STMIK INDONESIA PADANG)
TAHUN 2016

KATA PENGANTAR
Perkembangan sistem operasi terjadi begitu cepat. Berbagai distribusi sistem operasi terbuka
yang merupakan varian dari Linux, misalnya, telah mewarnai perkembangan sistem computer
di seluruh dunia. Inisiatif kode terbuka (open source) berawal dari pemahaman terhadap
konsep-konsep dasar sistem operasi dan pengembangan bersama yang dapat dilakukan

terhadapnya.
Dengan mengucap syukur kepada Tuhan YME, akhirnya makalah
Input Output Dalam Sistem Operasi dan Contoh Implementasinya ini dapat kami selesaikan.
Kami berharap bahwa makalah ini dapat menjadi acuan dan bermanfaat bagi perkembangan
teknologi informasi di Indonesia, terutama bagi pemahaman mahasiswa dan semua pihak
yang tertarik terhadap input output dalam system operasi. Makalah ini ditujukan untuk bahan
acuan kuliah Sistem Operasi.
Kami mengucapkan terimakasih terhadap seluruh pihak yang telah mendukung terwujudnya
makalah ini, terutama kepada dosen yang telah mengajar yakni bapak Keukeu Rohendi
S.kom, M.kom karena telah membimbing kami dalam penyelesaian makalah ini.

Padang, 19 Oktober 2016

DAFTAR ISI
Kata
Pengantar…………………………………………………………………...i
Daftar
Isi…………………………………………………………………………..ii

BAB I PENDAHULUAN

Latar

Belakang………………………………………...

………………….iii
Tujuan…………………………………………………………………..
.iii
BAB II PEMBAHASAN
1.1.Teknik Pemrograman
I/O………………………………………………...1
1.1.1. I/O Terpogram atau Polling Sistem……………………………2
dan 3
1.1.2. I/O Dikendalikan Interupsi…………………………………………
4
1.1.3. Dengan DMA (Direct Memorry Access)
……………………………5
1.2 Langkah Dalam Transfer
DMA…………………………………………...6
Penutup
Kritik dan

Saran…………………………………………………………………7
Daftar
Pustaka…………………………………………………………………..8

BAB I. PENDAHULUAN

1.1. Latar Belakang
Pada dasarnya, tugas utama komputer adalah processing dan I/O (Input danOutput).Bahkan,
sebagian besar waktunya digunakan untuk mengolah I/O sedangkan processing hanya bersifat
insidental.Jadi, pada konteks I/O, peranan sistem operasiadalah mengatur dan mengontrol
perangkat I/O dan operasi I/O.Perangkat I/O sangat bervariasi. Oleh karena itu, bagaimana
cara mengontrol perangkat-perangkat tersebut mendapat perhatian besar dalam organisasi
komputer.Bayangkan, perangkat I/O yang sangat banyak jumlahnya dan setiap perangkat
memilikifungsi dan kecepatan sendiri-sendiri, tentunya memerlukan metode yang berbeda pula.Oleh
karena itu, dikenal klasifikasi perangkat I/O menjadi perangkat blok dan perangkatkarakter,
walaupun ada perangkat yang tidak termasuk ke dalam satupun dari keduagolongan
ini.Perangkat terhubung ke komputer melalui port, diatur oleh device controller dan berkomunikasi
dengan prosesor dan perangkat lain melalui bus. Perangkat berkomunikasi dengan prosesor
melalui dua pendekatan yaitu memory mapped daninstruksi I/O langsung.Bila prosesor ingin
mengakses suatu perangkat, dia akan terus mengecek perangkat untuk mengetahui statusnya,

apakah mengizinkan untuk diakses. Cara inidilakukan berulang-ulang yang disebut dengan polling.
Sedangkan bila perangkat inginmemberitahu prosesor ketika siap diakses, maka perangkat akan
menggunakan interupsi.Kedua cara ini mempunyai kelebihan dan kelemahan masing-masing. Adanya
DirectMemory Access (DMA) dapat mengurangi beban CPU karena terjadinya transfer
dataantara perangkat dan memori tanpa melalui CPU.
1.2. Tujuan
Tujuan dari penulisan makalah ini antara lain :
1.Mengetahui tingkat pengetahuan mahasiswa mengenai sistem input/ output.
2. Menambah wawasan berpikir mahasiswa mengenai sistem input / output.

BAB II. PEMBAHASAN

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.
1.3 Perintah I/O
Terdapat empat klasifikasi perintah I/O, yaitu:

1. Perintah control.
Perintah ini digunakan 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 danruang 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.
Perangkat I/O terprogram merupakan perangkat I/O komputer yang dikontrol oleh program.
Contohnya, perintah mesin in, out, move. Perangkat I/O terprogram tidak sesuai, untuk
pengalihan data dengan kecepatan tinggi karena dua alasan yaitu:
1. Memerlukan overhead (ongkos) yang tinggi, karena beberapa perintah program harus
dieksekusi untuk setiap kata data yang dialihkan antara peralatan eksternal
dengan memori utama.
2. Banyak peralatan periferal kecepatan tinggi memiliki mode operasi sinkron, yaitu

pengalihan data dikontrol oleh clock frekuensi tetap, tidak tergantung CPU.

1.3.1 Teknik Pemrograman I/O
Terdapat 3 teknik, yaitu :
1.3.1.1 I/O terprogram atau polling system.

Ketika perangkat I/O menangani permintaan, perangkat men-set bit status di register status
perangkat. Perangkat tidak memberitahu ke pemroses saat tugas telah selesai dilakukan
sehingga pemroses harus selalu memeriksa register tersebut secara periodik dan melakukan
tindakan berdasar status yang dibaca. Software pengendali perangkat (driver) dipemroses
harus mentransfer data ke/dari pengendali.Driver mengekseksui perintah yang berkomunikasi
dengan pengendali (adapter) di perangkat dan menunggui sampai operasi yang dilakukan
perangkat selesai.Driver berisi kumpulan instruksi :

 Pengendalian.
Berfungsi mengaktifkan perangkat eksternal dan memberitahu yang perlu
dilakukan.contoh :unit tape magnetik diinstruksikan untuk kembali ke posisi awal, bergerak
ke record berikut, dan sebagainya.
 Pengujian.
Berfungsi memeriksa status perangkat keras berkaitan dengan perangkat I/O.

 Pembacaan/penulisan
Berfungsi membaca/menulis untuk transfer data antara register pemroses dan perangkat
eksternal.
Masalah utama I/O terprogram adalah pemroses diboroskan untuk menunggu dan menjagai
operasi I/O. Diperlukan teknik lain untuk meningkatkan efisiensi pemroses.
Teknik ini disebut juga pemilihan saluran dimana semua pengalihan ke dan dari alat
diselenggarakan oleh program.Prosesor mengirim dan meminta data, semua operasi masukan
dan keluaran berada dibawah kendali program. Pengalihan harus dikoordinasi oleh suatu
proses handshaking (jabat tangan). Proses pemilihan saluran menjadi mungkin untuk
dilakukan melalui penggunaan isyarat. Suatu isyarat adalah suatu bit yang bila dipasang,
menunjukkan bahwa telah terjadi suatu kondisi yang memerlukan perhatian. Isyarat ini akan
diperiksa terus menerus.
 Program terus berjalan lewat sejumlah pengetesan untuk menentukan apakah
masukan atau keluaran dapat/ harus diselenggarakan. Bila ditemukan alat yang
memerlukan pelayanan, rutin pelayanan yang sesungguhnya diaktifkan dan pemilihan
saluran berlangsung lagi setelah pelayanan selesai dilakukan. Dua metode dasar
penginderaan isyarat alat siap yang dipakai adalah pemakaian pintu status masukan
sederhana dan pemakaian pintu status masukan pengkode prioritas.
 Metode I/O terprogram/ Pemilihan saluran ini adalah metode yang paling umum dan
paling sederhana. Metode ini tidak memerlukan perangkat keras khusus dan semua

pengalihan masukan keluarandikendalikanoleh program.

1.3.1.2 I/O dikendalikan interupsi.

 Teknik pemilihan saluran memiliki dua keterbatasan yaitu pemborosan waktu
prosesor dan lambat. Diperlukan suatu cara agar alat yang membutuhkan pelayanan
dapat segera dilayani tanpa menunggu gilirannya tiba. Prosedur ini dinamakan
Interupsi.
• Bila suatu alat yang ingin membutuhkan pelayanan, maka ia dapat menjalankan
interupsi kepada mikroprosesor sehingga mikroprosesor akan menanggapi dan
menjalankan interupsi tersebut sampai selesai dan kemudian kembali ke instruksi
semula.Alat yang mengatur permintaan interupsi kepada mikroprosesor adalah
Interrupt Controller.Terdapat mode – mode interupsi yang mungkin terjadi pada
Interrupt
Controller
:
1.
Fully
Nested
:

Sebuah perangkat/ peripheral yang meminta interupsi diurutkan dalam prioritas mulai
dari 0 (IRQ0) hingga 7 (IRQ7)
2. Rotating
:
Perangkat/ peripheral yang meminta interupsi memiliki prioritas yang sama. Pada
mode ini sebuah perangkat, setelah dilayani akan menerima prioritas terendah
didalam kelompoknya, sehingga apabila terdapat permintaan pelayanan kembali,
harus menunggu sampai ketujuh alat dilayani semua (bergiliran).
3. Special
Mask
:
Pada mode ini dimungkinkannya prosesor menangkal interupsi dari perangkat tertentu
secara selektif. Sebagai contoh, apabila sebuah program yang ingin menjalankan alat
dengan menangkal interupsi tertentu dan memunculkan interupsi lain sebagai prioritas
tertinggi maka hal tersebut dapat dimungkinkan.
4. Polling
:
Pada mode ini, interrupt controller menonaktifkan masukan interupsi, sehingga
bekerja normal seperti pada metode pemilihan saluran.


Teknik I/O dituntun interupsi mempunyai mekanisme kerja sebagai berikut :
1. Pemroses memberi instruksi ke perangkat I/O kemudian melanjutkan melakukan
pekerjaan lainnya.
2. Perangkat I/O akan menginterupsi meminta layanan saat perangkat telah siap bertukar
data dengan pemroses.
3. Saat menerima interupsi perangkat keras (yang memberitahukan bahwa perangkat
siap melakukan transfer), pemroses segera mengeksekusi transfer data.
Keunggulan :
– Pemroses tidak disibukkan menunggui dan menjaga perangkat I/O untuk memeriksa status
perangkat.
Kelemahan :
1. Rate transfer I/O dibatasi kecepatan menguji dan melayani operasi perangkat.
2. Pemroses terikat ketat dalam mengelola transfer I/O. Sejumlah intruksi harus
dieksekusi untuk tiap transfer I/O.

1.3.1.3 Dengan DMA (direct memory access).

DMA berfungsi membebaskan pemroses menunggui transfer data yang dilakukan perangkat
I/O. Saat pemroses ingin membaca atau menulis data, pemroses memerintahkan DMA
controller dengan mengirim informasi berikut :
1. Perintah penulisan/pembacaan.
2. Alamat perangkat I/O.

3. Awal lokasi memori yang ditulis/dibaca.
4. Jumlah word (byte) yang ditulis/dibaca.
Setelah mengirim informasi-informasi itu ke DMA controller, pemroses dapat melanjutkan
kerja lain. Pemroses mendelegasikan operasi I/O ke DMA.DMA mentransfer seluruh data
yang diminta ke/dari memori secara langsung tanpa melewati pemroses. Ketika transfer data
selesai, DMA mengirim sinyal interupsi ke pemroses. Sehingga pemroses hanya dilibatkan
pada awal dan akhir transfer data. Operasi transfer antara perangkat dan memori utama
dilakukan sepenuhnya oleh DMA lepas dari pemroses dan hanya melakukan interupsi bila
operasi telah selesai.

DMA ialah sebuah prosesor khusus (special purpose processor) yang berguna untuk
menghindari pembebanan CPU utama oleh program I/O (PIO). Untuk memulai sebuah
transfer DMA, host akan menuliskan sebuah DMA command block yang berisi pointer yang
menunjuk ke sumber transfer, pointer yang menunjuk ke tujuan transfer, dan jumlah byte
yang ditransfer, ke memori. CPU kemudian menuliskan alamat command block ini ke
pengendali DMA, sehingga pengendali DMA dapat kemudian mengoperasikan bus memori
secara langsung dengan menempatkan alamatalamat pada bus tersebut untuk melakukan
transfer tanpa bantuan CPU.
1.2 Langkah Dalam Transfer DMA:
1. Prosesor menyiapkan DMA transfer dengan menyedia kan data-data dari perangkat,
operasi yang akan ditampilkan, alamat memori yang menjadi sumber dan tujuan data,
dan banyaknya byte yang ditransfer.
2. Pengendali DMA memulai operasi (menyiapkan bus, menyediakan alamat, menulis
dan membaca data), sampai seluruh blok sudah di transfer.
3. Pengendali DMA meng-interupsi prosesor, dimana selanjutnya akan ditentukan
tindakan berikutnya.
Pada dasarnya, DMA mempunyai dua metode yang berbeda dalam mentransfer data. Metode
yang pertama ialah metode yang sangat baku dan sederhana disebut HALT,
atau BurstMode DMA, karena pengendali DMA memegang kontrol dari sistem bus dan
mentransfer semua blok data ke atau dari memori pada single burst. Selagi transfer masih
dalam prosres, sistem mikroprosessor diset idle, tidak melakukan instruksi operasi untuk
menjaga internal register. Tipe operasi DMA seperti ini ada pada kebanyakan komputer.
Metode yang kedua, mengikutsertakan pengendali DMA untuk memegang kontrol dari
sistem bus untuk jangka waktu yang lebih pendek pada periode dimana mikroprosessor sibuk
dengan operasi internal dan tidak membutuhkan akses ke sistem bus.Metode DMA ini
disebut cycle stealing mode.Cycle stealing DMA lebih kompleks untuk diimplementasikan
dibandingkan HALT DMA, karena pengendali DMA harus mempunyai kepintaran untuk
merasakan waktu pada saat sistem bus terbuka.Keunggulan :
1. Penghematan waktu pemroses.
2. Peningkatan kinerja I/O.

Kritik dan Saran

Makalah ini bisa dibilang tidak sempurna , karena kami masih dalam tahap belajar,
sebagaimana manusia yang tidak pernah luput dari kesalahan. Oleh karena itu kami sebagai
penulis sangat berharap sekali kritik dan saran agar makalah ini semakin menjadi lebih baik.

DAFTAR PUSTAKA

Riri Fitri Sari, Yansen Darmaputra. 2005.Sistem Operasi Modern. Yogyakarta.Andi Offset
Hariningsih. 2003. Sistem Operasi. Yogyakarta. Graha Ilmu
“Input Output dalam Sistem Operasi”. 19 Oktober 2016.http://www.academia.edu/4928721
“Implementasi Input Output”.19 Oktober 2016.http://www.prezi.com/manajemen-inputoutput