Pages

A1D3KA2


Rabu, 10 April 2013

Manajemen Perangkat Input Dan Output


Sumber buku Dr.bambang Haryanto
Menejemen perangkat Masukan / Keluarkan
Pengelolaan petrangkat masukan / keluarkan merupakan aspek perancangan sistem operasi yang terluas di sebabkan sangat  beragamnya perangkat dan begitu banyaknya aplikasi dari perangkat – perangkat itu.
Manajemen perangkat masukan / keluarkan mempunyai beragam fungsi ,diantaranya:
1.mengirim perintah keperangkat masukan / keluarkan agar menyediakan layanan.
2.menangani interuksi perangkat masukan/keluarkan.
3.menangani kesalahan pada perangkat masukan / keluarkan.
4.menyediakan interface ke pemakai.

KLARIFIKASI PERANGKAT MASUKAN / KELUARKAN .
Perangkat masukan/keluarkan merupakan komponen yang paling bnyak jenisnya dan dapat di kelompokan dengan beragam kriteria.antara lain .
1.berdasarkan sifat aliran datanya
2.berdasarkan sasaran komunikasi.

Perangkat masukan/keluarkan berdasarkan sifat aliran data
Aliran data ini dapat terbagi 2 yaitu :
1.Perangkat berorentasi blok (block oriented devices)
Menyimpan informasi dan menukarkan (menerima / mengirim) informasi sebagai blok –blok berukaurn tetap . tiap blok mempunyai alamat tersendiri. ukuran blok dapan beragam bergantung perangkat dari 128byte sampai 1024 byte. Ciri utama prangkat ini adalah memungkinkan membaca atau menulis blok – blok secara independen , yaitu dapat membaca atau menulis sembarang blok tanpa harus melewati blok- blok lain.
Contohnya : disk, tape, CD ROM ,optical disk, dan sebagainya .
2.perangkt berorentasi aliran karakter .(character stream oriented devices ).
Adlah perangkat yg mengantarkan atau menerima aliran karakter  tanpa peduli membentuk aliran suatu aliran blok .
Contohnya : terminal ,line printer , interface jaringan  (perngkat lain yang tidak seperti disk dapat dipandang sebagai perangkat karakter)
Perangkat yang tidak termasuk katagori di atas yaitu : clock , memory mapped screen , sensor , mouse .dsb.

Perangkat masukan / keluarkan berdasarkan sasaran komunikasi .
Klarifikasi :
1.perankat yg terbaca oleh manusia (human readable devices)
Adalah perangkat yang cocok untuk komunikasi dengan manusia.
Contoh : VDT (vidio display terminal ) terdiri dari monitor , keyboard .
2.perangkat yg terbaca oleh mesin ( machine readable devices)
Adlah perangkat yang cocok untuk komunikasi dengan perangkat elektronik.
Contoh: disk tape , sensor controller dan aktuator.
3.untuk komunikasi . adalh perangkat yg cocok untuk komunikasi dengan perangkat jarak jauh.
Contoh : modem
Perbedaan besar antar kelas perangkat .
Terdapat perbedaan besar antar kelas perangkat . perbedaan perbedaan pokok antara lain .
*data rate
*aplikasi
*kompleksitas pengendalian
*unit yg di transfer
*representasi data
*kondisi – kondisi kesalahan.
Kebegaman perangkat masukan /keluarkan yg sangat besar membuat pendekatan yg seragam dan konsisten dalam pandangan sistem maupun proses pemakai sangat sulit diperoleh

Teknik pemrograman perangkat masukan / keluaran .
Terdapan 3 teknik pemrograman m/k berdasarkan mekanisme hbungan pemroses dengan pengendali perangkat m/k yaitu :
1.m/k terprogram (programmed i/o) atau poling sistem
2.m/k dikendalikan interuksi (interupt driven i/o)
3.dengan DMA (direct memory access)
Pengerian :
1.m/k terprogram
Ketika perangkat m/k menangani permintaan , perangkat men-set bit status di register status perangkat . perangkat tidak dapat memberi tahu keproses saat tugas telah selesai dilakukan.pemroses harus selalu memeriksa register status perangkat secara periodik dan melakukan tindakan bedasarkan status yg dibaca .
Perangkat lunak pengendali perangkat (driver) diproses harus mentransfer data ke atau dari pengendali . driver mengeksekusi perintah yg berkomunikasi dengan pengendali adapter di perangkat dan menunggui sampai operasi yg di lakukan perangkat selesai.

Driver harus berisi kumpulan intruksi di tiga katagori yaitu :
1.pengendalian
Intruksi- intruksi untuk mengendalikan operasi perangkat keras.
Intruksi pengendalian untuk mengaktifkan perangkat eksternal dan memberitahu yg perlu di lakukan perangkat .
Contoh ; unit tape magnetik di instruksikan untuk kembLI KEPOSISI AWAL, berangkat ke rekor berikutnya dan sebagainya.
2.pengujian
Instruksi instruksi untuk memeriksa status perangkat keras
Intruksi ini untuk memeriksa kondisi status berkaitan dengan perangkat masukan / keluaran
3.pembacaan / penulisan
Intruksi – intruksi untuk membaca atau menulis dari atau ke perangkat keras .
Untuk transper data antara antara register proses dan perangkat eksternal.
Kelemahanya ; cara ini sangat tidak evisien karena banyak pemborosan waktu pemroses untuk menungguin kejadian perangakt keras dan atau mnungguin selesainya operasi yg dilakuikan perangkat masukan kluaran .

Masukan / keluaran dituntun interuksi
Masalah utama m/k terprogram adalah pemroses duboroskan untuk menunggu dan menjagai seluruh operasi m/k di perlukan teknik lain untuk meningkatkan efisiensi pemroses.
Teknik m/k dituntun interuksi mempunyai mekanisme kerja perangkat m/k sebagai berikut :
*pemroses memberi intruksi ke perangkat m/k kemudian pemroses melanjutkan melakukan kerja berguna yg lain.
*perangkat m/k akan melakukan interuksi meminta layanan berikutnya saat perintah telah siap bertukaran data dengan pemroses.
*saat menerima interupsi perangkat keras( yg memberi tahu siap melakukan transfer ), pemroses segera mengeksekusi transfer data .

Keunggulan :
Pemroses tidak di sibukan menunggui dan menjagai seluruh operasi perangkat m/k untuk memeriksa ststus perangkat . kinerjanya lebih baik di banding dengan teknik m/k terprogram.

DMA (direct memory access)
Perangkat m/k di kendalikan interupsi lebih efisien di banding m/k terprogram, tapi masih memerlukan intervensi aktif pemroses untuk transfer data antara memori dan buffer perangkat m/k . pemroses masih di sebutkan dengan operasi transfer data .
Pemrograman m/k di kendalikan interupsi mempunyai dua kelemahan yaitu:
1.rotata tranfer masukan / keluaran dibatasi kecepatan menguji dan melayani operasi perangkat /
2.pemroses terikat erat dalam pengelula transfer m/k . sejjumlah interuksi harus di eksekusi untuk tiap transfer m/k .

Ketika data berukuran besar di pindahkan maka di perlukan teknik lebih efisien agar tidak menyibukan pemroses untuk mengurangi oeparsi transfer masukan / keluaran sehingga pemroses dapat melakukan kerja berguna yg lain

DMA berguna membebaskan pemroses menunggui transfer data yg di lakukan perangkat m/k . saat pemroses ingin membaca atau menulis data pemroses memerintahkan DMA controller dengan mengirim informasi berikut .
-perintah penulisan /pembacaan
-alamat perangkat m/k
-awal lokasi memori yg ditulis / dibaca

DMA mentransfer seluruh data yg di minta ke / dari memori secara langsung tanpa melewati pemroses . ketika transfer data selesai DMA mengirim sinyal interupsi ke pemroses .pemroses  hanya di lebatkan pada awal dan akhir transfer data .

Operasi tranfer antara perangkat dan memori utama di lakikan sepenuhnya oleh DMA bebas dari pemroses dan hanya melakukan interupsi bila operasi telah selesai.

Keunggulan :
1.penghematan waktu pemroses
2.peningkatan kinerja m/k

Evolusi fungsi perangkat m/k
Evolusi sangat tampak pada fungsi-fungsi m/k sebagai berikut :
1.pemroses mengendalikan perangkat m/k secara langsung
Teknik ini masih di lakukan untuk perangkat sederhana yg dikendalikan mikro sensor untuk menjadi perangkat berintelejen (intelegent device)
 2.perangkat dilengkapi pengendali m/k (i/o controller)
Pemroses masih mengunakan m/k terprogram tanpa interupsi .
3.perangkat di lengkapi fasilitas interupsi
Teknik ini meningkatkan efisiensi pemroses
4.i/o controller mengendalikan memori secara langsung lewat DMA
Pengendali dapat memindahkan blok data ke / dari memori tanpa melibatkan pemroses kecuali di awal dan di akhir transfer .
5.pengendali m/k menjadi pemroses terpisah
Pemroses m/k mengambil dan mengeksekusi intruksi interuksi ini tanpa intervensi pemroses utama (pusat) dimungkinkan pemroses pusat mensfesifikasikan barisan aktifitas m/k dan hanya di interuksi ketika seluruh barisan interuksi di selesaikan .
6.penegndali m/k mempunyai memori lokal
Perangkat m/k dapat dikendalikan dengan keterlibatan pemroses pusat yg minimum . dan untuk pengendalian komunikasi dengan terminal terminal interaktif.

Prinsip manajemen perangkat masukan / keluarkan .
Terdapat dua sasaran perancangan manajemen perangkat m/k yaitu:
1.efisiensi
Efisiensi merupakan aspek penting karena operasi aspek m/k sering merupakan operasi yg menimbulkan bottleneck.
2.generalisasi  (disebut juga device independence ).
Manajemen perangkat m/k selain berkaitan dengan simplisitas bebas kesalahan , jika menangani perangkat secara seragam baik dipandaang dari caraproses memandang maupun cara sistem operasi mengelola perangkat dan operasi m/k.

Perangkat lunak di organisasikan berlapis . lapisan bawah berurutan menyembunyikan kepelikan perangkat keras untuk lapisan lapisan lebih atas . lapisan lebih atas berurutan memberi antar muka yg bagus , bersih nyaman dan seragam ke pemakai .

Masalah maasalah yg pada perancanagan manajemen m/k adalah :
1.penamaan yg seragam (uniform naming )
Nama file atau perangkat adalah string atau integer , tidak bergantung pada perangkat sama sekali
2.penanganan kesalahan ( error handling )
Umumnya penanganan kesalahan di tangani sedekat mungkin dengan perangkat keras .
3.transfer sinkron vs asinkron
Kebanyakan i/o adalah i/o . pemroses memulai tranfer dan mengabaikan untuk melakukan kerja lain sampai interupsi tiba .setelah perintah read , program mulai di tunda secara otomatis sampai data tersebut di buffer .
4.sharable vs dedicated
Beberapa perangkat dapat dipakai bersama seperti disk. Tapi ada juga perangkat yg hanya satu pemakai yg di bolehkan memakai pada satu saat , perangkat itu di sebut dedicated.  Contohnya yaitu printer .




Hirarki manajemmen perangkat masukan / keluaran
1. Interrupt handler
2. Device driver
3. Perangkat lunak device – independen
4. Perangkat lunak level pemakai
125.1 interrupt handler
Interupsi harus disembunyikan agar tidak terlihat oleh rutin pada lapisan-lapisan berikutnya, Device driver di-block  saat perintah masukan/keluaran diberikan dan menunggu interupsi, ketika interiupsi terjadi,produser penangananinterupsi bekerja agar  device driver  keluar dari state Blocked.
12.5.2 device driver
Semua kode bergantung perangkat ditem patkan di device driver.masing-masing device  driver menangani satu tipe  atau kelas perangkat. Device driver bertugas menerima permintaan abstrak perangkat lunak device-independe nt diatasnya dan melakukan layanan sesui pemintaan itu .

Mekanisme kerja device driver
Menerjemahkan perintah abstrak menjadi perintah kongkret.
Begitu telah dapat di tentukan perintah yg harus diberikan ke pengendali .
Device  driver mulai menulis ke register register pengendali perangkat .
*setelah operasi selesai di lakukan perangkat, device driver memeriksa setatus kesalahan yang terjadi.
Jika berjalan baik, device driver melewatkan data ke perangkat lunak device-independent.
Device driver melaporkan setatus operasinya  ke pemanggil.
12.5.3 perangkat lunak  sistem operasi device independent
Fungsi utama perangkat lunak lapisan ini adalah membentuk fungsi-fungsi masukan/keluaran yang berlaku untuk semua perangkat  dan menyediakan  antarmuka yang seragam ke perangkat  lunak tingkat pemakai.
Fungsi-fungsi yang biasa dilakukan antara lain:
Interface seragam untuk seluruh device-driver
Penamaan perangkat
Proteksi perangkat
Memberi ukuran blok perangkat agar bersifat device-independent
Melakukan buffering
Alokasi penyimpanan pada block-devices
Alokasi dan pelepasan dedicated-devices
Pelaporan kesalahan
12.5.4 perangkat lunak level pemakai
Kebanyakan perangkat lunak masukan/keluaran terdapat disistem operasi. Saty bagian kecil berisi pustaka yang ditautkan di program pemakai dan berjalan di luar kernel. System  call masukan/keluaran umunya dibuat sebagai prosedur pustaka. Kumpulan prosedur pustaka masukan/keluaran merupakan bagian sistem masukan/keluaran.
Tidak semua perangkat lunak masukan/keluaran level pemakai berupa prosedur pustaka. Kategori penting adalah spooling. Spooling adalah cara khusus berurusan dengan perangkat masukan/keluaran dedicated (dedicated i/o devices) pada sistem  multiprogramming.
12.6 bufferring masukan/keluaran
Buffering adalah melembutkan lonjakan-lonjakan kebutuhan pengaksesan masukan/keluaran. Buffering meningkatkan efisien sistem operasi dan kinerja proses.
Single buferring
Double buferring
Circular buferring
Single buffering
Single buffering merupakan teknik paling sederhana. Ketika proses  memberi perintah  untuk perangkat masukan/keluaran,sistem operasi menyediakan buffer memori utama milik sistem operasi untuk operasi.
Untuk perangkat berorientasi blok
Transfer masukan dibuat oleh buffer sistem. Ketika transfer selesai, proses memindahkan blok ruang memori sistem  operasi ke ruang memori milik pemakai  dan segera meminta blok lain. Teknik ini disebut reading ahead atau anticipated input.
Teknik ini dilakukan denga harapan blok yang dibaca akan segera dilperlukan . untuik banyak tipe komputasi, asumsi ini berlaku, hanya di akhir pemrosesan maka blok yang dibaca tidak diperlukan.
Keunggulan
Pendekatan ini umunya meningkatkan kecepatan dibanding tanpa buffering. Proses  pemakai dapat mengolah blok data sementara blok berikutnya sedang dibaca. Sistem operasi dapat men-swap keluar proses suspendedblocked atau suspendedready karena operasi masukan berada di memori sistem bukan memori proses pemakai.
kelemahan
teknik ini merumitkan sistem operasi karena harus mencatat pemberian buffering-buffering sistem ke masing-masing proses pemakai.
Logika  swapping juga dipengaruhi. Jika operasi masukan/keluaran melibatkan   disk untuk swapping maka membuat  antrian penulisan  ke disk yang sama yang digunakan  untuk swap-out  proses. Usaha men-swap proses dan melepas memori utama tidak dapat dimulai sampai operasi masukan/keluar selesai dimana waktu swapping ke disk tidak bagus untuk dilaksanakan.
Buffering untuk keluaran serupa buffering untuk masukan. Ketikan data transmisi data lebih dulu dikopi dari ruang pemakai kebuffer sistem. Proses pengirim menjadi bebas untuk melanjutkan eksekusi berikutnya atau di-swap ke disk  jika perlu.
Untuk perangkat berorintasi aliran karakter

Single buffering dapat  diterpakan dengan dua mode, yaitu;
Mode line-at-a-time
Mode byte-at-a-time
Operasi line-at-a-time cocok untuk terminal dengan mode gulung (scroll terminal atau dumb terminal).  Masukan pemakai adalah satu baris perwaktu dengan carriage return menandai akhir baris. Keluaran terminal juga serupa yaitu satu baris   y

5 komentar: