MAKALAH SISTEM OPERASI
“MANAJEMEN INPUT/OUTPUT”
OLEH:
1. Gusti Ngurah Made Made Agus Wibawantara Wibawantara (0915051030) (0915051030) 2. I Made Endra Wiartika Putra
(0915051034)
3. I Gede Merta
(0915051059) (0915051059)
JURUSAN PENDIDIKAN TEKNIK INFORMATIKA FAKULTAS TEKNIK DAN KEJURUAN UNVERSITAS PENDIDIKAN GANESHA SINGARAJA 2010
KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat Ida Sang Hyang Widhi Wasa, Tuhan Yang Maha Esa, karena atas berkat Asung Kertha Wara Nugraha beliaulah penulis bisa menyelesaikan tugas mata kuliah Sistem Operasi yang berupa makalah
berjudul
“
”
M anajemen anajemen Per Per angkat I nput/Outpu t
ini tepat pada
waktunya. Dalam menulis makalah ini penulis tidak sendirian. Ada banyak pihak yang senantiasa mendukung penulis dalam menyelesaikan makalah ini. Untuk itu penulis mengucapkan terimaksih kepada semua pihak yang telah membantu dan mendukung terselesaikannya makalah ini. Penulis menyadari sepenuhnya bahwa makalah ini masih jauh dari sempurna. Oleh karena itu kritik dan saran yang sifatnya membangun dari berbagai pihak, akan saya terima dengan senang hati. Namun, di balik ketidaksempurnaan itu masih tersimpan satu harapan, dari penulis, semoga makalah ini bermanfaat bagi pembaca.
Singaraja,
Oktober 2010
Penulis
i
DAFTAR ISI
HALAMAN JUDUL KATA PENGANTAR .................................................. ............................................... i DAFTAR ISI ............................................... ................................................................ ii BAB I PENDAHULUAN
1.1 LATAR BELAKANG ..................................................................................... 1 1.2 RUMUSAN MASALAH ................................................................................. 1 1.3 TUJUAN .......................................................................................................... 1 1.4 MANFAAT ................................................ ...................................................... 2 BAB II PEMBAHASAN
2.1 PERANGKAT INPUT OUTPUT .................................................................... 3 2.1.1 KlasifikasiPerangkat I/O ............................................... ................... 3 2.1.2 TeknikPemrogramanPerangkat I/O ................................................. 4 2.1.3 OrganisasiLogikadariFungsi I/O ..................................................... 6 2.1.4 EvolusiPerangkat I/O ....................................................................... 9 2.1.5 PrinsipMenejemenPerangkat I/O ................................................... 10 2.1.6 HirarkiManajemenPerangkat I/O .................................................. 11 2.2 APLIKASI ANTAR MUKA, KERNEL DAN OPERASI PERANGKAT KERAS............................................. .............................................................. 13 2.2.1 AplikasiAntarMuka I/O ................................................ ................. 13 2.2.2 Kernel ............................................................................................ 15 2.2.3 OperasiPerangkatKeras ................................................................. 20 2.3 INPUT OUTPUT STREAMS DAN KINERJA INPUT OUTPUT ............... 21 2.3.1 I/O Stream...................................................................................... 21 2.3.2 Kinerja I/O .................................................. ................................... 22 BAB III PENUTUP
3.1 SIMPULAN ................................................................................................... 24 DAFTAR PUSTAKA ............................................................................................... 25
ii
BAB I PENDAHULUAN
1.1 Latar Belakang
Topik rancangan Sistem Operasi mencakup bidang yang sangat luas seperti Scheduling, Proses Deskripsi dan Kontrol, Manajemen Memori, Manajemen File, Konkurensi, Networking, Security, dan juga Manajemen Input/Output. Kita akan mudah kehilangan detail serta konteks pembahasan suatu masalah khususnya yang berkaitan dengan Sistem Operasi jika kita tidak mempelajarinya secara terstruktur, terlebih lagi dari berbagai bidang tersebut masing-masing masih memiliki komponen-komponen yang sangat kompleks. Salah satu aspek yang tercakup dalam Sistem Operasi adalah Input/Output. Input/Output ini dapat dikatakan sebagai aspek yang paling memusingkan dalam desain Sistem Operasi. Hal ini karena terdapat variasi yang sangat luas dari device dan aplikasi device yang akan sulit untuk mengembangakan solusi yang umum dan konsisten. Dengan demikian solusi yang dapat kita kembangkan kemungkinan akan lebih mengkhusus dan tidak konsisten. 1.2 Rumusan Masalah
Berdasarkan uraian latar belakang di atas, berikut ini adapun rumusan masalah yang saya ajukan yaitu: 1. Apa yang dimaksud dengan perangkat I/O? 2. Apa yang dimaksud dengan Aplikasi Antarmuka I/O, Kernel, dan Operasi Perangkat Keras? 3. Apa yang dimaksud dengan I/O Streams dan bagaimana kinerja I/O itu sendiri? 1.3 Tujuan
Adapun tujuan yang ingin dicapai penulis sebagai hasil dari penulisan makalah ini yaitu sebagai berikut: 1. Dapat mengetahui apa yang sebenarnya dimaksud dengan perangkat I/O
1
2. Dapat mengetahui tentang Aplikasi Antarmuka I/O, Kernel, dan Operasi Perangkat Keras. 3. Dapat mengetahui tentang I/O Streams dan kinerja I/O itu sendiri. 1.4 Manfaat
Dalam penyusunan makalah ini penulis sangat mengharapkan agar makalah ini dapat bermanfaat bagi kita semua. Manfaat yang diharapkan penulis yaitu sebagai berikut: 1. Dengan adanya makalah ini kita akan dapat mengetahui apa yang sebenarnya dimaksud dengan Manajemen Input/Output. 2. Dengan terbitnya makalah ini diharapkan dapat membantu kita khususnya yang sedang duduk di bangku kuliah Jurusan Teknik Informatika, Ilmu Komputer, dan sebagainya dalam mempelajari salah satu aspek penting yang dimiliki Sistem Operasi Komputer yaitu Manajemen Input/Output.
2
BAB II PEMBAHASAN
2.1 Perangkat Input Output 2.1.1
Klasifikasi Perangkat I/O
Perangkat I/O dapat dikelompokkan berdasarkan: a. Sifat aliran datanya, yang terbagi atas: a.1 Perangkat berorientasi blok. Yaitu menyimpan, menerima, dan mengirim informasi sebagai blok-blok berukuran tetap yang berukuran 128 sampai 1024 byte dan memiliki alamat tersendiri, sehingga memungkinkan membaca atau menulis blok-blok secara independen, yaitu dapat membaca atau menulis sembarang blok tanpa harus melewati blok-blok lain. Contoh: disk,tape,CD ROM, optical disk. a.2 Perangkat berorientasi aliran karakter. Yaitu perangkat yang menerima, dan mengirimkan aliran karakter tanpa membentuk suatu struktur blok. Contoh: terminal, line printer, pita kertas, kartu-kartu berlubang, interface jaringan, mouse. b. Sasaran komunikasi, yang terbagi atas:. b.1 Perangkat yang terbaca oleh manusia. Perangkat yang digunakan untuk berkomunikasi dengan manusia. Contoh: VDT (video display terminal): monitor, keyboard, mouse. b.2 Perangkat yang terbaca oleh mesin. Perangkat yang digunakan untuk berkomunikasi dengan perangkat elektronik. Contoh: Disk dan tape, sensor, controller. b.3 Perangkat komunikasi. Perangkat yang digunakan untuk komunikasi dengan perangkat jarak jauh.Contoh: Modem. Faktor-faktor yang membedakan antar perangkat: · Kecepatan transmisi data (data rate).
3
· Jenis aplikasi yang digunakan. · Tingkat kerumitan dalam pengendalian. · Besarnya unit yang ditransfer. · Representasi atau perwujudan data. · Kondisi-kondisi kesalahan. 2.1.2
Teknik Pemograman Perangkat I/O
Terdapat 3 teknik, yaitu : a. I/O terprogram atau polling system. Ketika perangkat I/O menangani permintaan, perangkat men-set bit status diregister status perangkat. Perangkat tidak memberitahu ke pemroses saat tugastelah selesai dilakukan sehingga pemroses harus selalu memeriksa registertersebut secara periodik dan melakukan tindakan berdasar status yang dibaca. Software
pengendali
perangkat
(driver)
dipemroses
harus
mentransfer datake/dari pengendali. Driver mengekseksui perintah yang berkomunikasi denganpengendali (adapter) di perangkat dan menunggui sampai operasi yang dilakukanperangkat selesai. Driver berisi kumpulan instruksi: a.1 Control. Berfungsi mengaktifkan perangkat eksternal dan memberitahu yang
perludilakukan.
Contoh
:
unit
tape
magnetik
diinstruksikan untuk kembali ke posisiawal, bergerak ke record berikut, dan sebagainya. a.2 Status. Berfungsi memeriksa status perangkat keras berkaitan dengan perangkatI/O. a.3 Transfer Berfungsi membaca/menulis untuk transfer data antara register pemroses danperangkat eksternal. Masalah utama I/O terprogram adalah pemroses diboroskan untuk menunggudan menjagai operasi I/O. Diperlukan teknik lain untuk meningkatkan efisiensipemroses.
4
b. I/O dikendalikan interupsi. Teknik I/O dituntun interupsi mempunyai mekanisme kerja sebagai berikut ·
Pemroses memberi instruksi ke perangkat I/O kemudian melanjutkanmelakukan pekerjaan lainnya.
·
Perangkat I/O akan menginterupsi meminta layanan saat perangkat telah siapbertukar data dengan pemroses.
·
Saat
menerima
interupsi
perangkat
keras
(yang
memberitahukan bahwaperangkat siap melakukan transfer), pemroses segera mengeksekusi transferdata. Keunggulan: ·
Pemroses
tidak
disibukkan
menunggui
dan
menjaga
perangkat I/O untukmemeriksa status perangkat. Kelemahan: ·
Rate transfer I/O dibatasi kecepatan menguji dan melayani operasiperangkat.
·
Pemroses terikat ketat dalam mengelola transfer
I/O.
Sejumlah intruksiharus dieksekusi untuk tiap transfer I/O. c. Dengan DMA (direct memory access). DMA berfungsi membebaskan pemroses menunggui transfer data yang dilakukanperangkat I/O. Saat pemroses ingin membaca atau menulis data, pemrosesmemerintahkan DMA controller dengan mengirim informasi berikut : ·
Perintah penulisan/pembacaan.
·
Alamat perangkat I/O.
·
Awal lokasi memori yang ditulis/dibaca.
·
Jumlah word (byte) yang ditulis/dibaca.
Setelah mengirim informasi-informasi itu ke DMA controller, pemroses dapatmelanjutkan kerja lain. Pemroses mendelegasikan operasi I/O ke DMA. DMAmentransfer seluruh data yang diminta ke/dari memori secara langsung tanpamelewati pemroses. Ketika
5
transfer data selesai, DMA mengirim sinyal interupsike pemroses. Sehingga pemroses hanya dilibatkan pada awal dan akhir transferdata. Operasi transfer antara perangkat dan memori utama dilakukansepenuhnya oleh DMA lepas dari pemroses dan hanya melakukan interupsi bilaoperasi telah selesai. Keunggulan : ·
Penghematan waktu pemroses.
·
Peningkatan kinerja I/O.
Berikut gambar dari teknik pemrograman I/O:
2.1.3
Organisasi Logika dari Fungsi I/O
Filsafat dari hirarki adalah fungsi sistem operasi seharusnya terpisah dari kompleksitas mereka, skala karakteristik waktu mereka dan tingkat abstraksi mereka. Berikut ini pendekatan yang mengarah ke sebuah organisasi dari sistem operasi ke dalam suatu deretan lapisan atau layers. Masing
–
berhubungan dengan
masing lapisang melakukan subsystem yang fungsi
yang dibutuhkan
sistem
operasi.
Bergantung pada lapisan berikut yang lebih rendah untuk melakukan
6
fungsi yang lebih primitive dan untuk merahasiakan rincian dari fungsi ini. Secara umum lapisan yang lebih rendah berhubungan dengan skala waktu yang jauh lebih pendek. Beberapa bagian dari sistem operasi harus berintraksi langsung hardware dari komputer, bahkan dapat memiliki skala waktu setingkat sepermilyar detik. Contoh kasus yang paling sederhana, bahwa device peripheral berkomunikasi dengan bentuk yang sederhana seperti alur dari bytes dalam detik.
Logika I/O : modul logika I/O berhubungan dengan device sebagai sumber logika dan tidak berhubungan dengan rincian control
device
yang
sebenarnya.
Modul
logika
I/O
7
diperhatikan dengan mengtur fungsi dari I/O secara umum untuk kepentikan proses user, memungkinkan mereka untuk berhubungan dengan device dalam istilah dari identifikasi device dan perintah sederhana seperti buka, tutup, baca, tulis.
Device I/O : permintaan operasi dan data (karakter yang dibuffer record, dll) dikonversi de dalam urutan yang bersesuaian dari interupsi I/O, channel, perintah, dan urutan dari pengontrol. Teknik buffering mungkin digunakan untuk meningkatkan utilisasi.
Penjadwalan dan control : antrean yang sebenarnya dan penjadwalan dari operasi I/O terjadi dalam lapisan ini sebagaimana halnya dengan control dari operasi. Oleh karena itu interrupt ditangani dalam lapisan ini dan status dari I/O dikumpulkan dan dilaporkan. Ini merupakan lapisan dari software yang sebenarnya berinteraksi dengan modul I/O dan device hardware.
Untuk sebuah device, komunikasi struktur I/O terlihat lebih sama sebagaimana yang dijelaskan. Prinsip perbedaan adalah bahwa modul I/O logika digantikan oleh sebuah arsitektur komunikasi yang dapat dengan dirinya sendiri mengandung sebuah lapisan. Sebuah contoh dari ICP / IP yang dibahas dalam lapisan A. Gambar c menunjukkan struktur yang representatif untuk pengelolaan dari I/O dalam sebuah device penyimpanan sekundari yang
mendukung
sebuah
sistem
file.
Tiga
lapisan
yang
sebelumnya tidak dibahas adalah:
Manajemen direktori : dalam lapisan ini, nama file simbolik dikonversikan ke identifier yang mereferensikan file langsung atau tidak langsung melalui sebuah file atau table index. Lapisan ini juga berhubungan dengan operasi dari user yang berpengaruh ke direktori file, seperti tambah , hapus, pengorganisasian.
8
Sistem file : lapisan yang berhubungan dengan struktur logika file dan dengan operasi yang dapat dinyatakan oleh user, seperti buka, tutup, baca, tulis. Hak akses juga dikelola dalam lapisan ini.
Organisasi fisik : sebagaimana dengan alamat memori yang harus dikonversikan dalam alamat memori fisik menggunakan segmentasi dan struktur paging, referensi logika untuk file dan record yang harus dikonversikan ke alamat penyimpanan sekundari, menggunakan fitur fisik dan struktur sector device penyimpanan sekundari.
2.1.4
Evolusi Fungsi Perangkat I/O
Sistem
komputer
mengalami
peningkatan
kompleksitas
dan
kecanggihan komponen komponennya, yang sangat tampak pada fungsi-fungsi I/O sebagaiberikut : a. Pemroses mengendalikan perangkat I/O secara langsung. Masih digunakan sampai saat ini untuk perangkat sederhana yang dikendalikanmikroprosessor
sehingga
menjadi
perangkat
berintelijen (inteligent device). b. Pemroses dilengkapi pengendali I/O (I/O controller). Pemroses menggunakan I/O terpogram tanpa interupsi, sehingga tak
perlumemperhatikan
rincian-rincian
spesifik
antarmuka
perangkat. c. Perangkat dilengkapi fasilitas interupsi. Pemroses tidak perlu menghabiskan waktu menunggu selesainya operasi I/O,sehingga meningkatkan efisiensi pemroses. d. I/O controller mengendalikan memori secara langsung lewat DMA. Pengendali dapat memindahkan blok data ke/dari memori tanpa melibatkanpemroses kecuali diawal dan akhir transfer.
9
e. Pengendali I/O menjadi pemroses terpisah. Pemroses pusat mengendalikan.memerintahkan pemroses khusus I/O untukmengeksekusi program I/O di memori utama. Pemroses I/O mengambil danmengeksekusi intruksi-intruksi ini tanpa intervensi
pemroses
pusat.Dimungkinkan
pemroses
pusat
menspesifikasikan barisan aktivitas I/O dan hanyadiinterupsi ketika seluruh barisan intruksi diselesaikan. f. Pengendali I/O mempunyai memori lokal sendiri. Perangkat I/O dapat dikendalikan dengan keterlibatan pemroses pusat yangminimum.Arsitektur ini untuk pengendalian komunikasi dengan terminal-terminalinteraktif. Pemroses I/O mengambil alih kebanyakan tugas yang melibatkanpengendalian terminal. Evolusi bertujuan meminimalkan keterlibatan pemroses pusat, sehinggapemroses tidak disibukkan dengan tugas I/O dan dapat meningkatkan kinerjasistem.
2.1.5
Prinsip manajemen perangkat I/O
Terdapat dua sasaran perancangan I/O, yaitu : a. Efisiensi. Aspek penting karena operasi I/O sering menimbulkan bottleneck. b. Generalitas (device independence). Manajemen perangkat I/O selain berkaitan dengan simplisitas dan bebaskesalahan, juga menangani perangkat secara seragam baik dari cara prosesmemandang maupun cara sistem operasi mengelola perangkat dan
operasi
I/O.Software diorganisasikan
berlapis.
Lapisan bawah berurusan menyembunyikankerumitan perangkat keras untuk lapisan-lapisan lebih atas. Lapisan lebih atasberurusan memberi antar muka yang bagus, bersih, nyaman dan seragam kepemakai.
Masalah-masalah manajemen I/O adalah :
10
a. Penamaan yang seragam (uniform naming). Nama berkas atau perangkat adalah string atau integer, tidak bergantung padaperangkat sama sekali. b. Penanganan kesalahan (error handling). Umumnya penanganan kesalahan ditangani sedekat mungkin dengan perangkatkeras. c. Transfer sinkron vs asinkron. Kebanyakan I/O adalah asinkron. Pemroses mulai transfer dan mengabaikanuntuk melakukan kerja lain sampai interupsi tiba. Program pemakai sangat lebihmudah ditulis jika operasi I/O berorientasi blok. Setelah perintah read, programkemudian ditunda secara otomatis sampai data tersedia di buffer. d. Sharable vs dedicated. Beberapa perangkat dapat dipakai bersama seperti disk, tapi ada juga perangkatyang hanya satu pemakai yang dibolehkan memakai pada satu saat.Contoh : printer.
2.1.6
Hirarki Manajemen Perangkat I/O
Hirarki manajemen perangkat I/O : a. Interrupt handler. Interupsi
harus
disembunyikan
agar
tidak
terlihat
rutin
berikutnya.Device driver di blocked saat perintah I/O diberikan dan menunggu interupsi.Ketika interupsi terjadi, prosedur penanganan interupsi bekerja agar device driverkeluar dari state blocked. b. Device drivers. Semua kode bergantung perangkat ditempatkan di device driver. Tiap devicedriver menangani satu tipe (kelas) perangkat dan bertugas menerima permintaanabstrak perangkat lunak device independent diatasnya dan melakukan layananpermintaan. Mekanisme kerja device driver : · Menerjemahkan perintah abstrak menjadi perintah konkret.
11
· Setelah ditentukan perintah yang harus diberikan ke pengendali, device drivermulai menulis ke register-register pengendali perangkat. · Setelah operasi selesai dilakukan perangkat, device driver memeriksa statuskesalahan yang terjadi. · Jika berjalan baik, device driver melewatkan data ke perangkat lunak deviceindependent. · Kemudian device driver melaporkan status operasinya ke pemanggil.
c. Perangkat lunak device independent. Bertujuan membentuk fungsi-fungsi I/O yang berlaku untuk semua perangkat danmemberi antarmuka seragam ke perangkat lunak tingkat pemakai. Fungsi-fungsi lain yang dilakukan : · Sebagai interface seragam untuk seluruh device driver. · Penamaan perangkat. · Proteksi perangkat. · Memberi ukuran blok perangkat agar bersifat device independent. · Melakukan buffering. 12
· Alokasi penyimpanan pada block devices. · Alokasi dan pelepasan dedicated devices. · Pelaporan kesalahan. d. Perangkat lunak level pemakai. Kebanyakan perangkat lunak I/O terdapat di sistem operasi. Satu bagian kecilberisi pustaka-pustaka yang dikaitkan pada program pemakai dan berjalan diluarkernel. System calls I/O umumnya dibuat sebagai prosedur prosedur pustaka.Kumpulan prosedur pustaka I/O merupakan bagian sistem I/O. Tidak semuaperangkat lunak I/O level pemakai berupa prosedur-prosedur pustaka. Kategoripenting adalah sistem spooling. Spooling adalah cara khusus berurusan denganperangkat I/O yang harus didedikasikan pada sistem multiprogramming. 2.2
Aplikasi Antarmuka I/O, Kernel dan Operasi Perangkat Keras
2.2.1 Aplikasi Antarmuka I/O Ketika suatu aplikasi ingin membuka data yang ada dalam disk, aplikasi tersebut tidak perlu mengetahui jenis disk apa yang akan diaksesnya. Untuk mempermudah suatu pengaksesan, sistem operasi melakukan standarisasi pengaksesan prangkat I/O. Pendekatan inilah yang disebut aplikasi antarmuka I/O atau Application I/O interface. Seperti layaknya permasalahan dari software-engineering yang rumit lainnya, aplikasi antarmuka I/O melibatkan abstraksi, enkapsulasi, dan software layering seperti yang ditunjukkan dalam struktur kernel pada gambar di bawah. Tujuan dari adanya lapisan device layer ini adalah untuk menyembunyikan perbedaan
–
perbedaan yang ada pada
pengendali perangkat dari subsistem I/O yang terdapat pada kernel.
13
Peralatan blok dapat diharapkan dapat memenuhi kebutuhan akses pada berbagai macam disk drive dan juga peralatan blok lainnya, memenuhi perintah baca, tulis dan juga perintah pencarian data pada peralatan yang memiliki sifat random-access. Karena adanya perbedaan dalam kinerja dan pengalamatan fari jaringan I/O, maka biasanya sistem operasi memiliki antarmuk aI/O yang berbeda dari baca, tulis dan pencarian pada disk. Salah satu yang banyak digunakan pada sistem operasi adalah socket interface. Socket berfungsi untuk menghubungkan computer ke jaringan. System call pada socket interface dapat memudahkan suatu aplikasi untuk membuat local socket, dan menghubungkannya ke remote socket. Dengan menghubungkan komputer ke sockt, maka komunikasi antar komputer dapat dilakukan. Adanya clock dan timer pada perangkat keras komputer, setidaknya memiliki tiga fungsi yaitu member informasi saat ini, member informasi lamanya waktu sebuah proses, sebagai trigger untuk suatu operasi pada suatu waktu. Selain itu clock dan timer juga memiliki fungsi lain yaitu agar Sistem operasi mampu menangani time request lebih banyakdari jumlah hardware timer.
14
Ketika suatu aplikasi menggunakan sebuah blocking system call, eksekusi aplikasi itu akan dihentikan sementara lalu dipindahkan ke wait queue. Setelah system call tersebut selesai, aplikasi tersbut dikembalikan ke run queue, sehingga pengeksekusiannya akan dilanjutkan. Physical action dari peralatan I/O biasanya bersifat asynchronous. 2.2.2 Kernel Kernel menyediakan banyak layanan yang berhubungan dengan I/O. pada bagian ini, akan dideskripsikan beberapa layanan yang disediakan oleh subsistem kernel I/O. layanan yang ada pada subsistem kernel yaitu penjadwalan I/O, buffering, caching, spooling, reservasi perangkat (device reservation) dan error handling. a)
Penjadwalan I/O Menjadwal
sekumpulkan
permintaan
I/O
sama
dengan
menentukan urutan yang sesuai untuk mengeksekusi permintaan tersebut. Penjadwalan dapat meningkatkan performa sistem secara keseluruhan, dapat membagi perangkat secara adil di antara proses – proses, dan dapat mengurangi waktu tunggu rata
– rata
untuk menyelesaikan operasi I/O. b)
Buffer Buffering adalah area memori yang menyimpan data ketika mereka sedang dipindahkan antara dua perangkat atau antara perangkat dan aplikasi. Terdapat tiga alas an melkukan buffering yaitu:
Mengatasi perbedaan kecepatan antara produsen dengan konsumen dari sebuah steam data.
Untuk
menyesuaikan
preangkat
–
perangkat
yang
mempunyai perbedaan dalam ukuran transfer data.
Untuk mendukung copy semantics untuk perangkat I/O.
Terdapat beragam cara buffering, antar lain :
15
Single buffering. Merupakan teknik paling sederhana. Ketika proses memberi perintah untukperangkat I/O, sistem operasi menyediakan buffer memori utama sistem untukoperasi.Untuk perangkat berorientasi blok.Transfer masukan dibuat ke buffer sistem. Ketika transfer selesai, prosesmemindahkan blok ke ruang pemakai dan segera meminta blok lain.Teknik ini disebut reading
ahead
atau
anticipated
input.
Teknik
ini
dilakukandengan harapan blok akan segera diperlukan. Untuk banyak tipe komputasi,asumsi ini berlaku. Hanya di akhir pemrosesan maka blok yang dibaca tidakdiperlukan. Keunggulan : Pendekatan
ini
umumnya
meningkatkan
kecepatan
dibanding tanpa buffering.Proses pemakai dapat memproses blok data sementara blok berikutnya sedangdibaca. Sistem operasi dapat menswap keluar proses karena operasi masukanberada di memori sistem bukan memori proses pemakai. Kelemahan :
Merumitkan sistem operasi karena harus mencatat pemberian buffer-buffersistem ke proses pemakai.
Logika swapping juga dipengaruhi. Jika operasi I/O melibatkan disk untukswapping, maka membuat antrian penulisan ke disk yang sama yangdigunakan untuk swap out proses. Untuk menswap proses dan melepasmemori utama tidak dapat dimulai sampai operasi I/O selesai, dimana waktuswapping ke disk tidak bagus untuk dilaksanakan.
Buffering keluaran serupa buffering masukan. Ketika data transmisi, data lebihdulu dikopi dari ruang pemakai ke buffer
sistem.
Proses
pengirim
menjadi
bebasuntuk
16
melanjutkan eksekusi berikutnya atau di swap ke disk jika perlu.
Untuk perangkat berorientasi aliran karakter. Single buffering dapat diterapkan dengan dua mode, yaitu : Mode line at a time. Cocok untuk terminal mode gulung (scroll terminal atau dumb terminal).Masukan pemakai adalah satu baris per waktu dengan enter menandai akhirbaris. Keluaran terminal juga serupa, yaitu satu baris per waktu.Contoh
mode
ini
adalah
printer.Buffer
digunakan untuk menyimpan satu baris tunggal. Proses pemakaiditunda
selama
masukan,
menunggu
kedatangan satu baris seluruhnya.Untuk keluaran, proses pemakai menempatkan satu baris keluaran padabuffer dan melanjutkan pemrosesan. Proses tidak perlu suspend kecuali bilabaris kedua dikirim sebelum buffer dikosongkan. Mode byte at a time. Operasi ini cocok untuk terminal mode form, dimana tiap ketikan adalahpenting dan untuk peripheral lain seperti sensor dan pengendali.
17
Double buffering. Peningkatan dapat dibuat dengan dua buffer sistem.Proses dapat ditransferke/dari satu buffer sementara sistem operasi mengosongkan (atau mengisi)buffer lain. Teknik ini disebut double buffering atau buffer swapping.Double buffering menjamin proses tidak menunggu operasi I/O. Peningkatan iniharus dibayar dengan peningkatan kompleksitas. Untuk berorientasi alirankarakter, double buffering mempunyai 2 mode alternatif, yaitu: Mode line at a time. Proses pemakai tidak perlu ditunda untuk I/O kecuali proses secepatnyamengosongkan buffer ganda. Mode byte at a time. Buffer ganda tidak memberi keunggulan berarti atas buffer tunggal.Double buffering mengikuti model producer-consumer.
Circular buffering. Seharusnya melembutkan aliran data antara perangkat I/O dan proses. Jikakinerja proses tertentu menjadi fokus kita, maka kita ingin agar operasi I/Omengikuti proses. Double buffering tidak mencukupi jika proses melakukanoperasi I/O yang berturutan dengan cepat. Masalah sering dapat dihindari dengan menggunakan lebih dari dua buffer.Ketika lebih dari dua buffer yang digunakan, kumpulan buffer itu sendiri
18
diacusebagai circulat buffer. Tiap buffer individu adalah satu unit di circular buffer.
c) Cache Cache adalah daerah memori yang cepat yang berisikan data copian. Caching dan buffering adalah dua fungsi yang berbeda, tetapi terkadang sebuah daeah memori dapat digunakan untuk kedua layanan ini. d) Spooling Spooling adalah sebuah buffer yang menyimpan keluaran untuk sbuah perangkat yang tidak dapat menerima interleaved data
SPOOLER
PROGRAM
PROGRAM
PROGRAM
PRINTER
PRINTER
DRIVER
DRIVER
streams. Salah satu perangkat spool yang paling umum adalah printer. Subsistem I/O mengawasi:
19
Manajemen nama untuk berkas dan prangkat.
Control akses untuk berkas dan prangkat.
Control operasi.
Alokasi tempat sistem berkasi.
Alokasi perangkat.
Buffering, caching dan spooling.
Penjadwalan I/O.
Mengawasi status perangkat, error handling, dan kesalahan recovery.
Konfigurasi dan utilisasi driver dvice.
2.2.3 Operasi Perangkat Keras Transformasi operasi I/O menjadi operasi hardware yaitu: 1) Sebuah proses mengeluarkan sebuah blocking read system call ke sebuah
berkas
descriptor
dari
berkas
yang
telah
dibuka
sebelumnya. 2) Kode system call di kernel mengeccek parameter kebenaran. Dalam kasus input, jika telah siap pada buffer cache data akan dikembalikan ke proses dan permintaan I/O diselesaikan. Jika data tidak berada dalam buffer cache maka sebuah physical I/O akan bekerja, sehingga proses akan dikeluarkan dari rub queue dan di letakkan pada wait queue, dan permintaan I/O pun dijadwalkan. Pada akhirnya subsistem I/O mengirimkan permintaan ke device driver. Bergantung pada sistem operasi, permintaan dikirimkan melalui call subrutin atau melalui pesan in-kernel. 3) Device driver mngalokasikan ruang buffer pada kernel untuk menerima data, dan menjadwalkan I/O. pada akhirnya, driver mengirimkan perintah ke pengendali perangkat dengan menulis ke register device control. 4) Pengendali perangkat mengoperasikan prangkat keras, perangkat untuk melakukan transfer data.
20
5) Driver dapat menerima status dan data, atau dapat menyiapkan DMA ke memori kernel. Kita mengasumsikan bahwa transfer diatur oleh sebuah DMA controller yang menggunakan interupsi ketika transfer selesai. 6) Interrupt handler yang sesuai menerima interupsi melalui table vektor interupsi, menyiapkan sejumlah data yang dibutuhkan, menandai device driver dan kmbali dari interupsi. 7) Device driver menerima tanda, menganalisa permintaan I/o mana yang telah diselesaikan, menganalisa status permintaan, dan menandai
subsistem
I/O
kernel
yang
permintannya
telah
terselesaikan. 8) Kernel mentransfer data atau mengembalikan kode ke ruang alamat dari proses permintaan dan memindahkan pross dari antrian tunggu ke antrian siap. 9) Proses tidak diblok ketika dipindahkan ke antrian siap. Ketika penjadwalan mengembalikan proses ke CPU, proses meneruskan eksekusi pada penyelesaian dari system call. 2.3
Input/Output Streams dan Kinerja Input/Output
2.3.1
I/O Stream I/O stream adalah suatu mekanisme pengiriman data secara bertahap dan terus – menerus melalui suatu aliran data dari proses ke peranti begitu pula sebaliknya. I/O stream terdiri dari:
Stream head yang berhubungan langsung dengan proses.
Driver ends yang mengatur piranti – piranti.
Stream modules yang berada di antara streams head dan driver ends, yang bertugas menyampaikan data ke driver ends melalui write queue maupun menyampaikan data proses melalui read queue dengan cara message passing.
21
Gambar I/O stream 2.3.2
Kinerja I/O I/O adalah faktor penting dalam kinerja sistem. I/O sering meminta CPU untuk mengeksekusi device driver code dan menjadwal proses secara efisien sewaktu memblock dan unblock. Hasil context switch men-stress ke CPU dan hardware cachenya. I/O juga memberitahukan ketidakefisienanmekanisme penanganan interupsi dalam kernel, dan I/O men-load down memory bus saat data copy antara pengendali dan memori fisik dan juga saat copy antara kernel buffer dan application data space. Beberapa prinsip untuk menambah efisiensi I/O: 1. Mengurangi context switch. 2. Mengurangi jumlah pengkopian data dalam memory sewaktu pengiriman antara peranti dan aplikasi. 3. Mengurangi jumlah interupsi dengan mnggunakan transfer besar – besaran, smart controller dan polling.
22
4. Menambah konkurensi dengan menggunakan pengendali atau channel DMA. 5. Memindahkan processing primitives ke perangkat keras, supaya operasi pada device controller konkruen dengan CPU dan operasi bus. 6. Keseimbangan antara CPU, memory subsystem, bus dan kinerja I/O, karena sebuah overload pada salah satu area akan menyebabkan keterlamabtan pdada yang lain.
23
BAB III PENUTUP 3.1
Simpulan
Pada manajemen Input/Output, perangkat I/O dapat diklarifikasikan berdasarkan sifat aliran data dan sasaran komunikasinya. Selain itu pada perangkat I/O juga terdapat teknik pemrograman I/O, organisasi logika dari perangkat I/O, Evolusi fungsi perangkat I/O, prinsip manajemen perangkat I/O, hirarki manajemen perangkat I/O. Pada manajemen I/O juga dibahas mengenai aplikasi antarmuka I/O, kerneldan operasi perangkat keras Input/Output. Aplikasi antarmuka I/O adlah upaya sistem operasi untuk mempermudah pengaksesan dengan cara melakukan standarisasi pengaksesan perangkat I/O, kernel menyediakan banyak layanan untuk I/O yaitu diantaranya layanan penjadwalan I/O, buffering, caching, spooling, reservasi perangkat (device reservation) dan error handling. I/OStreams adalah suatu mekanisme pengiriman data secara bertahap dan terus – menerus melalui suatu aliran data dari proses ke peranti begitu pula sebaliknya. Untuk meningkatkankinerja Input/Output dapat dilakukan dengan beberapa cara yaitu engurangi context switch, mengurangi jumlah pengkopian data dalam memory sewaktu pengiriman antara peranti dan aplikasi, mengurangi jumlah interupsi dengan mnggunakan transfer besar
–
besaran, smart controller dan polling, menambah konkurensi dengan menggunakan pengendali atau channel DMA, memindahkan processing primitives ke perangkat keras, supaya operasi pada device controller konkruen dengan CPU dan operasi bus, keseimbangan antara CPU, memory subsystem, bus dan kinerja I/O, karena sebuah overload pada salah satu area akan menyebabkan keterlamabtan pdada yang lain.
24
DAFTAR PUSTAKA
Staling, William.2004.”Operating System: Internal dan Design Principles, Fourth Edition”.Prentice-Hall International
Abraham Silberschatz, Peter Galvin, Greg Gagne.2005. ”Operating System Concept, Seven Edition”. United Stated of America: John Wiley &
Sons, Inc __________. ”SistemI/O”.
Tersedia
pada
situs
http://kambing.ui.ac/bebas/vO6/Kuliah/SistemOperasi/BUKU/bahan bab7.pdf.Diakses pada tanggal 29 September 2010 pada pukul 22.27.14 Antara Kesiman, Windu.2009. ”BUKU AJAR SISTEM OPERASI : Berbasis Nilai – Nilai Lokal Genius Sistem Subak”. Singaraja: Jurusan
Pendidikan Teknik Informatika-Undiksha
25