A. Latar Belakang
Manajemen Input Output yang dibahas kali ini bukanlah Manajemen yang seringkali dibahas pada jurusan Ekonomi , tetapi lebih pada pengaturan pada Input ataupun Output pada komputer tersebut. Oleh karena itu , kali ini kami akan membahas mengenai Manajemen Input Output Komputer.
- Salah satu fungsi utama sistem Operasi adalah mengatur Operasi Input/Output beserta perangkatnya.
- Sistem Operasi harus dapat memberikan perintah ke perangkat-perangkat tersebut,menangkap interupsi , dan menangani error / kesalahan yang terjadi.
- Selain itu sistem Operasi juga menyediakan fasilitas antarmuka (interface) antara perangkat-perangkat tersebut dengan keseluruhan sistem yang ada.
BAB II PEMBAHASAN
A. Klasifikasi Perangkat I/O
Pengelolaan perangkat I/O merupakan aspek perancangan sistem operasi yang terluas karena beragamnya peralatan dan begitu banyaknya aplikasi dari peralatanperalatan itu.
Manajemen I/O mempunyai fungsi, di antaranya:
- Mengirim perintah ke perangkat I/O agar menyediakan layanan.
- Menangani interupsi peralatan I/O
- Menangani kesalahan pada peralatan I/O
- Memberi interface ke pemakai.
Berdasarkan sasaran komunikasi, klasifikasi perangkat I/O dibagi menjadi:
a. Peralatan yang terbaca oleh manusia (Human Readable Machine) :Yaitu, peralatan yang cocok untuk komunikasi dengan user. Contohnya, Video Display Terminal (VDT) yang terdiri dari layar, keyboard, dan mouse.
b. Peralatan yang terbaca oleh mesin (Machine Readable Machine): Yaitu peralatan yang cocok untuk komunikasi dengan peralatan elektronik. Contohnya disk dan tape, sensor, controller.
c. Komunikasi: Yaitu, peralatan yang cocok untuk komunikasi dengan peralatan-peralatan jarak jauh. Contohnya modem. Terdapat perbedaan-perbedaan besar antarkelas peralatan tersebut. Bahkan untuk satu kelas saja terdapat berbedaan sangat besar. Perbedaan-perbedaan pokok antara lain mengenai:
- Data rate
- Aplikasi
- Kompleksitas pengendalian
- Unit yang ditransfer
- Representasi data
- Kondisi-kondisi kesalahan
Keberagaman yang sangat besar pada peralatan I/O membuat pendekatan seragam dan konsisten terhadap I/O baik dari pandangan sistem operasi maupun proses sangat sulit diperoleh. Klasifikasi lain yang dapat dilakukan terhadap peralatan I/O adalah berdasarkan unit transfer yang dilakukan perangkat I/O, yaitu sbb:
1. Perangkat berorientasi blok (block-oriented devices)
Peralatan mentransfer dari dan ke peralatan dengan satuan transfer adalah satu blok (sekumpulan karakter) yant telah ditentukan.
2. Perangkat berorientasi aliran karakter (character-oriented devices)
Peralatan mentransfer dari dan ke peralatan berupa aliran karakter.
B. Teknik Pengoperasian Perangkat I/O.
Teknik Pengoperasian Perangkat I/O meliputi:
a. Perangkat I/O terprogram (programmed I/O)
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.
b. Perangkat berkendalikan interupsi (Interrupt I/O)
Interupsi lebih dari sebuah mekanisme sederhana untuk mengkoordinasi pengalihan I/O. Konsep interupsi berguna di dalam sistem operasi dan pada banyak aplikasi kontrol di mana pemrosesan rutin tertentu harus diatur dengan seksama, relatif peristiwa-peristiwa eksternal.
c. DMA (Direct Memory Address)
Merupakan suatu pendekatan alternatif yang digunakan sebagai unit pengaturan khusus yang disediakan untuk memungkinkan pengalihan blok data secara langsung antara peralatan eksternal dan memori utama tanpa intervensi terus menerus oleh CPU.
Evolusi telah terjadi pada sistem komputer. Evolusi antara lain terjadi peningkatan kompleksitas dan kecanggihan komponen-komponen sistem komputer. Evolusi sangat tampak pada fungsi-fungsi I/O, yaitu sbb:
- pemroses secara langsung mengendalikan peralatan I/O. Teknik ini masih dilakukan sampai saat ini, yaitu untuk peralatan sederhana yang dikendalikan mikroprosesor untuk menjadi intelligent device.
- Peralatan dilengkapi pengendali I/O (I/O controller). Pemroses masih menggunakan I/O terprogram tanpa interupsi. Pada tahap ini, pemroses tak perlu memperhatikan rincian-rincian spesifik interface peralatan.
- Tahap ini sama dengan tahap 2 ditambah fasilitas interupsi. Pemroses tidak perlu menghabiskan waktu untuk menunggu selesainya operasi I/O. Teknik ini meningkatkan efisiensi pemroses.
- Pengendali I/O diberi kendali memori langsung lewat DMA. Pengendali dapat memindahkan blok data ke atau dari memori tanpa melibatkan pemroses kecuali di awal dan akhir transfer.
- Pengendali I/O ditingkatkan menjadi pemroses yang terpisah dengan instruksi-instruksi khusus yang ditujukan untuk operasi I/O. Pemroses pusat mengendalikan/memerintahkan pemroses I/O untuk mengeksekusi program I/O yang terdapat di memori utama. Pemroses I/O mengambil dan mengeksekusi instruksi-instruksi ini tanpa intervensi pemroses utama (pusat). Dengan teknik ini dimungkinkan pemroses pusat menspesifikasikan barisan aktivitas I/O dan hanya diinterupsi ketika seluruh barisan telah diselesaikan.
- Pengendali I/O mempunyai memori lokal yang menjadi miliknya dan komputer juga memiliki memori sendiri. Dengan arsitektur ini, sekumpulan besar peralatan I/O dapat dikendalikan dengan keterlibatan pemroses pusat yang minimum.
Arsitektur ini digunakan untuk pengendalian komunikasi dengan terminalterminal interaksi. Pemroses I/O mengambil alih kebanyakan tugas yang melibatkan pengendalian terminal. Evolusi berlangsung terus, jalur yang dilalui oleh evolusi adalah agar fungsi-fungsi I/O dapat dilakukan lebih banyak dan lebih banyak lagi tanpa keterlibatan pemroses pusat. Pemroses pusat yang tidak disibukkan dengan tugas-tugas yang berhubungan dengan I/O akan meningkatkan kinerja sistem. Tahap 5 & 6 merupakan tahap perubahan utama, yaitu konsep pengendali I/O mampu mengeksekusi program sendiri.
C. Prinsip-Prinsip Perangkat I/O
Terdapat dua sasaran perancangan perangkat I/O, yaitu:
a. Efisiensi
Merupakan aspek penting karena operasi I/O karena sering menjadi operasi yang menimbulkan bottleneck pada sistem komputer/komputasi.
b. Generalitas (Device-independence)
Selain berkaitan dengan simplisitas dan bebas dari kesalahan diharapkan juga menangani semua gerak peralatan secara beragam. Pernyataan ini diterapkan dari cara proses-proses memandang peralatan I/O dan cara sistem operasi mengelola peralatan-peralatan dan operasi-operasi I/O. Perangkat lunak diorganisasikan sebagai satu barisan lapisan. Lapisan-lapisan lebih bawah berurusan menyembunyikan kepelikan-kepelikan perangkatkeras. Untuk untuk lapisan-lapisan lebih atas berurusan memberikan interface yang bagus, bersih, nyaman dan seragam ke pemakai. Masalah-masalah penting yang terdapat dan harus diselesaikan pada perancangan manajemen I/O adalah:
- 1. Penamaan yang seragam (uniform naming) Nama berkas atau peralatan adalah string atau integer, tidak tergantung pada peralatan sama sekali.
- 2. Penanganan kesalahan (error handling) Umumnya penanganan kesalahan ditangani sedekat mungkin dengan perangkat keras.
- 3. Transfer sinkron vs asinkron Kebanyakan fisik I/O adalah asinkron. Pemroses mulai transfer dan mengabaikannya untuk melakukan kerja lain sampai interupsi tiba. Programprogram pemakai sangat lebih mudah ditulis jika operasi-operasi I/O berorientasi blok. Setelah perintah read, program kemudian secara otomatis ditunda sampai data tersedia di buffer.
- 4. Shareable vs dedicated Beberapa peralatan dapat dipakai bersama seperti disk, tapi ada juga peralatan yang harus hanya satu pemakai yang dibolehkan memakainya pada satu saat. Contohnya peralata yang harus dedicated misalnya printer.
D. Hirarki Pengelolaan Perangkat I/O
1. Interrupt Handler
Interupsi adalah suatu peristiwa yang menyebabkan eksekusi satu program ditundan dan program lain yang dieksekusi. Interrupt adalah sinyal dari peralatan luar dau permintaan dari program untuk melaksanakan suatu tugas khusus. Jika interrupt terjadi, maka program dihentikan dahulu untuk menjalankan rutin interrupt. Ketika program yang sedang berjalan tadi dihentikan, prosesor menyimpan nilai register yang berisi alamat program ke stack, dan mulei menjalankan rutin interrupt. Secara garis besar, kita mengenal dua macam interupsi terhadap prosesor, yatu interupsi secara langsung dan interupsi melalui polling. Sekalipun caranya berbeda, akibat dari kedua cara interupsi tersebut sama. Cara interupsi secara langsung: penghentian prosesor untuk suatu proses dapat berasal dari berbagai sumber daya di dalam sistem komputer, karena sumber daya tertentu pada sistem komputer tersebut menginterupsi kerja prosesor. Karena cara terjadinya interupsi adalah secara langsung dari sumber daya, maka kita menamakan cara interupsi ini sebagai interupsi langsung. Banyak interupsi terhadap prosesor di dalam sistem komputer termasuk ke dalam jenis interupsi langsung. Cara interupsi polling: selain komputer menunggu sampai diinterupsi oleh sumber daya komputer, kita mengenal pula cara interupsi sebaliknya. Pada cara interupsi ini, prakarsa penghentian kerja prosesor berasal dari prosesor atau melalui prosesor tsb. Dalam hal ini, secara berkala prosesor akan bertanya (poll) kepada sejumlah sumber daya. Apakah ada di antara mereka yang akan memeerlukan prosesor? Jika ada, maka prosesor akan menghentikan kegiatan semulanya, serta mengalihkan kerjanya ke sumber daya tersebut. Perbedaan antara interupsi langsung dengan interupsi polling terletak pada cara mengemukakan interupsi tersebut.
Jenis-Jenis Interupsi
Dilihat dari cara kerja prosesor, tidak semua interupsi itu sama pentingnya bagi proses yang sedang dilaksanakan oleh kerja prosesor tsb. Kalau sampai interupsi yang kurang penting ikut menginterupsi kerja prosesor, maka pelaksanaan proses itu akan menjadi lama. Karena itu biasanya SO membagi interupsi ke dalam dua jenis, yaitu:
a. Software, yaitu interrupt yang disebabkan oleh software, sering disebut dengan system call.
b. Hardware
Terjadi karena adanya akse pada perangkat keras, seperti penekanan tombol keyboard atau menggerakkan mouse.
Selain untuk mengendalikan pengalihan I/O, beberapa kegunaan interupsi juga antara lain:
1. Pemulihan kesalahan
Komputer menggunakan bermacam-macam teknik untuk memastikan bahwa semua komponen perangkat keras beroperasi semestinya. Jika kesalahan terjadi, perangkat keras kontrol mendeteksi kesalahan dan memberi tahu CPU dengan mengajukan interupsi.
2. Debugging
Penggunaan penting lain dari interupsi adalah sebagai penolong dalam debugging program. Debugger menggunakan interupsi untuk menyediakan dua fasilitas penting, yaitu:
- Trace
- Break point.
3. Komunikasi Antarprogram
Perintah interupsi perangkat lunak digunakan oleh sistem operasi untuk berkomunikasi dengan dan mengontrol eksekusi program lain.
2. Device Driver
Setiap device driver menangani satu tipe peralatan. Device driver bertugas menerima permintaan abstrak perangkat lunak device independent di atasnya dan melakukan layanan sesuai permintaan itu.
Mekanisme kerja device driver
- Menerjemahkan perintah-perintah abstrak menjadi perintah-perintah konkret.
- Begitu telah dapat ditentukan perintah-perintah yang harus diberikan ke pengendali, device driver mulai menulis ke register-register pengendali peralatan.
- Setelah operasi selesai dilakukan peralatan, device driver memeriksa kesalahan-kesalahan yang terjadi.
- Jika semua berjalan baik, device driver melewatkan data ke perangkat lunak device independent.
- Device melaporkan informasi status sebagai pelaporan kesalahan ke pemanggil.
3. Perangkat Lunak Sistem Operasi Device Independent
Fungsi utama perangkat lunak tingkat ini adalah membentuk fungsi-fungsi I/O yang berlaku untuk semua peralatan dan memberi interface seragam ke perangkat lunak tingkat pemakai.
Fungsi-fungsi yang biasa dilakukan antara lain:
- Interface seragam untuk seluruh driver-driver
- Penamaan peralatan
- Proteksi peralatan
- Memberi ukuran blok peralatan agar bersifat device independent
- Melakukan buffering
- Alokasi penyimpanan pada block devices
- Alokasi pelepasan dedicated devices
- Pelaporan kesalahan
4. Buffering I/O
Buffering merupakan teknik untuk melembutkan lonjakan-lonjakan kebutuhan pengaksesan I/O secara langsung. Buffering adalah cara untuk meningkatkan efisiensi sistem operasi dan kinerja proses-proses. Terdapat beragam cara buffering, antara lain:
a. Single Buffering
Teknik ini merupakan buffering paling sederhana. Ketika proses pemakai memberikan perintah I/O, sistem operasi menyediakan buffer bagian memori utama sistem untuk operasi. Untuk peralatan berorientasi blok, transfer masukan dibuat ke buffer sistem. Ketika transfer selesai, proses memeindahkan blok ke ruang pemakai dan segera meminta blok lain. Teknik ini disebut reading ahead atau anticipated input. Teknik ini dilakukan dengan harapan bahwa blok tersebut akan segera diperlukan. Untuk banyak tipe komputasi, asumsi ini berlaku. Hanya akhir barisan pemrosesan maka blok yang dibaca tidak diperlukan. Pendekatan ini umumnya meningkatkan kecepatan dibanding tanpa buffering.
b. Double buffering
Peningkatan atas single buffering dapat dibuat dengan mempunyai dua buffer sistem untuk operasi. Proses dapat transfer ke (atau dari) satu buffer sementara sistem operasi mengosongkan (atau mengisi) buffer lain. Double buffering menjamin proses tidak akan menunggu operasi I/O. Peningkatan atas single buffering diperoleh, namun harus dibayar dengan kompleksitas yang meningkat.
Daftar Pustaka
- http://kokokudo.blogspot.com/2010/11/manajemen-perangkat-inputoutput.html
- http://bkomps.blogspot.com/2010/12/manajemen-inputoutput-io.html
- http://ilmu27.blogspot.com/2012/09/makalah-input-output-pada-komputer.html
Jika Anda Tertarik untuk mengcopy Makalah ini, maka secara ikhlas saya mengijinkannya, tapi saya berharap sobat menaruh link saya ya..saya yakin Sobat orang yang baik. selain Makalah Makalah Input dan Output Komputer, anda dapat membaca Makalah lainnya di Aneka Ragam Makalah. dan Jika Anda Ingin Berbagi Makalah Anda ke blog saya silahkan anda klik disini.Salam saya Ibrahim Lubis. email :ibrahimstwo0@gmail.com |