Kelompok Kitkat
- Handi Angga W. (14523242)
- Ahmad Haris Fahmi (14523262)
- M. Fadhilah Mulyana (14523270)
- Oddy S. E. Putra (14523286)
- Elang Cergas P. (14523290)
- Wildan Maulana (14523300)
a.
Pengertian
Sering disebut
device manager. Menyediakan device driver yang umum sehingga operasi I/O dapat
seragam (membuka, membaca, menulis, menutup).
b.
Fungsi
1.
Mengirim perintah
ke perangkat I/O agar menyediakan layanan.
2. Menangani
interupsi perangkat I/O.
3. Menangani
kesalahan perangkat I/O.
4. Menyediakan
interface ke pemakai.
c.
Teknik
I/O
1. 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.
2. I/O
Interrupt Driven
Teknik interrupt
– driven I/O
memungkinkan proses tidak
membuang – buang waktu. Prosesnya adalah
CPU mengeluarkan perintah
I/O pada modul
I/O, bersamaan perintah
I/O dijalankan modul I/O maka CPU akan melakukan eksekusi perintah
– perintah lainnya. Apabila modul I/O
telah selesai menjalankan instruksi yang diberikan padanya akan melakukan
interupsi pada CPU bahwa tugasnya telah selesai.
Dalam
teknik ini kendali perintah masih menjadi tanggung jawab CPU, baik pengambilan perintah dari
memori maupun pelaksanaan
isi perintah tersebut.
Terdapat selangkah kemajuan dari
teknik sebelumnya, yaitu CPU melakukan multitasking beberapa perintah sekaligus
sehingga tidak ada waktu tunggu bagi CPU.
3. I/O
DMA ( Direct Memory Access )
Teknik yang
dijelaskan sebelumnya yaitu I/O terprogram
dan Interrupt Driven I/O memiliki
kelemahan, yaitu proses
yang terjadi pada
modul I/O masih
melibatkan CPU secara langsung. Hal ini berimplikasi pada :
• Kelajuan transfer I/O yang
tergantung pada kecepatan operasi CPU.
• Kerja CPU terganggu karena adanya
interupsi secara langsung.
Bertolak dari kelemahan di atas,
apalagi untuk menangani transferdata bervolume besar
dikembangkan teknik yang lebih baik,
dikenal dengan Direct Memory Access (DMA).
Prinsip kerja
DMA adalah CPU
akan mendelegasikan kerja
I/O kepada DMA,
CPU hanya akan terlibat pada awal proses untuk memberikan instruksi
lengkap pada DMA dan akhir proses
saja. Dengan demikian
CPU dapat menjalankan
proses lainnya tanpa
banyak terganggu dengan
interupsi.
d.
Komponen
I/O
1.
Buffer I/O
Buffer adalah melembutkan
lonjakan-lonjakan kebutuhan pengaksesan I/O, sehingga meningkatkan efisiensi
dan kinerja sistem operasi.Terdapat beragam cara buffering, antar lain :
a. Single
Buffer
Merupakan teknik
paling sederhana. Ketika proses memberi perintah untuk perangkat I/O, sistem
operasi menyediakan buffer memori utama sistem untuk operasi.Untuk perangkat
berorientasi blok.Transfer masukan dibuat ke buffer sistem. Ketika transfer
selesai, proses memindahkan blok ke ruang pemakai dan segera meminta blok lain.
Teknik ini disebut reading ahead atau anticipated input. Teknik ini dilakukan
dengan harapan blok akan segera diperlukan. Untuk banyak tipe komputasi, asumsi
ini berlaku. Hanya di akhir pemrosesan maka blok yang dibaca tidak diperlukan.
b. Double
Buffer
Peningkatan dapat
dibuat dengan dua buffer sistem.Proses dapat ditransfer ke/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.
c. Circular
Buffer
Seharusnya
melembutkan aliran data antara perangkat I/O dan proses. Jika kinerja proses
tertentu menjadi fokus kita, maka kita ingin agar operasi I/O mengikuti proses.
Double buffering tidak mencukupi jika proses melakukan operasi 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 diacu sebagai circular buffer. Tiap buffer individu adalah
satu unit di circular buffer.
2. Spooling
Melakukan penjadwalan pemakaian I/O sistem supaya lebih
efisien (antrian dsb.). Menyediakan driver untuk dapat melakukan operasi rinci untuk
perangkat keras I/O tertentu. Manajemen perangkat masukan/keluaran merupakan
aspek perancangan sistem operasi terluas dan kompleks karena sangat beragamnya
perangkat dan aplikasinya.
e.
Perangkat I/O
1. Perangkat Keras
-
Piranti
I/O
Piranti I/O adalah piranti(perangkat) yang memiliki tugas meminta
input(masukan) dan menghasilkan data (output). Jenis – jenis piranti I/O :
·
piranti penyimpanan, contoh : disk, tape
·
piranti transmisi, contoh : network, modem
·
piranti antarmuka, contoh : screen, keyboard, mouse
-
Device Control
Merupakan device yang digunakan untuk
mengendalikan peralatan tambahan di suatu sistem komputer.
-
Bus I/O
Bus adalah lintasan komunikasi yang
menghubungkan dua atau lebuh perangkat komputer. Karakter bus adalah media
tranmisi yang dapat digunakan bersama. Sedangkan sebuah bus yang
menghubungkan komponen-komponen utama komputer (CPU ,memori,input/output)
disebut sistem bus. Sebuah bus sistem terdiri dari 50 hingga 100 saluran
terpisah.
2.
Perangkat Lunak
-
Interrupt Handler
Interupsi
adalah suatu permintaan khusus kepada mikroposesor untuk melakukan sesuatu. Program
yang melayani suatu interupsi dinamakan Interrupt Handler.
-
Device Driver
Device driver merupakan perangkat lunak
yang terintegrasi pada linux kernel untuk mengontrol perangkat keras. Jika
device driver telah terimplementasi dengan baik, perangkat yang bersangkutan
tidak dapat disalahgunakan oleh user. Hal ini merupakan fungsi protective dari device driver.
-
Subsistem I/O
Menyediakan
antarmuka ( interface ) atau fungsi I/O bagi SO atau aplikasi.
-
Pustaka I/O Aplikasi
Mengimplementasikan
pustaka pengaksesan I/O atau API (Application Programming Interface) bagi
aplikasi untuk melakukan operasi I/O