Anda di halaman 1dari 40

Manajemen Perangkat I/O

Edi Sugiarto, S.Kom

1
Pendahuluan
Pengelolaan perangkat masukan/keluaran
merupakan aspek perancangan sistem operasi
yang terluas.
Hal ini disebabkan sangat beragamnya
perangkat dan begitu banyaknya aplikasi dari
perangkat tersebut.
Manajemen perangkat I/O memiliki beragam
fungsi, diantaranya :
◦ Mengirim perintah ke perangkat I/O agar
menyediakan layanan.
◦ Menangani interupsi perangkat I/O
◦ Menangani kesalah perangkat I/O
◦ Menyediakan interface ke pemakai

2
Organisasi I/O
Secara fisik organisasi sitem I/O pada komputer
dapat dibedakan :
◦ Peranti I/O (device)
 Piranti yang terkoneksi komputer
◦ Device Controller (adapter)
 Merupakan sirkuit digital yang berfungsi mengontrol kerja
komponen mekanik ataupun elektris.
◦ Bus I/O
 Terdiri atas bus data, alamat dan kendali yang berfungsi
menghubungkan device controller dengan elemen internal
komputer.

3
4
Klasifikasi Perangkat I/O
Perangkat I/O dapat di kelompokkan
dengan beragam kriteria antaralain :
◦ Berdasarkan sifat aliran datanya
 Perangkat berorientasi blok
 Perangkat berorientasi aliran karakter
◦ Berdasarkan sasaran komunikasi
 Perangkat yang terbaca oleh manusia
 Perangkat yang terbaca oleh mesin
 Untuk komunikasi
5
Perangkat Berorientasi Blok
Perangkat berorientasi blok menyimpan
informasi dan menukar informasi sebagai
blok berukuran tetap.
Ciri perangkat ini adalah memungkinkan
membaca atau menulis blok-blok secara
independen yakni : dapat membaca atau
menulis sembarang blok tanpa melewati
blok lain.
Contoh : disk, tape, CD-ROM, dsb.

6
Perangkat Berorientasi Aliran
Karakter
Merupakan perangkat yang mengantarkan
atau menerima aliran karakter tanpa
peduli membentuk struktur blok
Contoh : terminal, line printer, interface
jaringan, dsb.

7
Perangkat I/O Berdasarkan Sasaran
Komunikasi
Perangkat yang terbaca oleh manusia
◦ Perangkat yang cocok untuk komunikasi
dengan manusia
◦ Contoh : VDT (Video Display Terminal)
terdiri dari monitor, keyboard, mouse, dsb.
Perangkat yang terbaca oleh mesin
◦ Perangkat yang cocok untuk komunikasi
dengan perangkat elektronik
◦ Contoh : disk dan tape, sensor, controller.

8
Perangkat untuk Komunikasi
◦ Perangkat yang cocok untuk komunikasi
dengan perangkat jarak jauh.
◦ Contoh : Modem

9
Teknik Pemrograman Perangkat I/O
Terdapat tiga teknik pemrograman
perangkat I/O berdasarkan mekanisme
hubungan pemroses dengan pengendali
perangkat I/O yaitu :
◦ Masukan/Keluaran terpogram (programmed
I/O) atau Polling System.
◦ Masukan/Keluaran dikendalikan Interupsi
(Interupt driven I/O)
◦ Dengan DMA (Direct Memory Access).

10
Masukan/Keluaran terpogram
Ketika perangkat masukan/keluaran
menangani permintaan, perangkat men-set
bit status di register status perangkat.
Perangkat tidak dapat memberitahu ke
pemroses saat tugas telah selesai
dilakukan.
Perangkat harus selalu memeriksa register
status perangkat secara periodik dan
melakukan tindakan berdasarkan status
yang dibaca.
11
Perangkat lunak pengendali perangkat (driver)
harus mentransfer data ke/dari pengendali.
Driver mengeksekusi perintah yang
berkomunikasi dengan penendali (adapter) di
perangkat dan menunggui hingga operasi yang
dilakukan perangkat selesai.
Driver harus berisi kumpulan interuksi di tiga
kategori yaitu ;
◦ Pengendali
◦ Pengujian
◦ pembacaan

12
Pengendalian
◦ Instruksi pengendalian untuk mengaktifkan
perangkat eksternal dan memberitahu yang
perlu dilakukan
◦ Contoh : tape magnetik diinstruksikan untuk
kembali ke posisi awal, ke record selanjutnya,
dsb
Pengujian
◦ Instruksi pengujian untuk memeriksa kondisi
status berkaitan dengan perangkat I/O
13
Pembacaan / Penulisan
◦ Instruksi membaca/menulis untuk transfer data
antara register pemroses dan perangkat
eksternal.

Kelemahan
◦ Cara ini tidak efisien karena banyak
pemborosan waktu pemroses untuk menunggu
waktu kejadian perangkat keras.

14
15
Masukan/Keluaran dituntun
Interupsi
Masalah utama masukan/keluaran terprogram
adalah pemroses diboroskan untuk menunggu
dan menjagai seluruh operasi
masukan/keluaran.
Teknik masukan/keluaran dituntun interupsi
mempunyai mekanisme kerja sbb :
◦ Pemroses memberikan intruksi ke I/O device dan
melanjutkan kerja lain.
◦ I/O device akan melakukan interupsi meminta
layanan berikutnya saat perangkat telah siap
bertukar data dengan proses
16
◦ Saat menerima interupsi perangkat keras,
pemroses segera mengeksekusi transfer data.
Keunggulan
◦ Pemroses tidak disibukan menunggui dan
menjagai seluruh operasi perangkat
masukan/keluaran untuk memeriksa status
perangkat.
◦ Kinerjanya lebih baik daripada
masukan/keluaran terprogram.

17
18
DMA (Direct Memory Access)
Perangkat masukan/keluaran dikendalikan
interupsi lebih efisien dibanding perangkat
masukan/keluaran terprogram
Namun perangkat masukan/keluaran
dikendalikan interupsi masih memerlukan
intervensi aktif pemroses untuk transfer
data antara memori dan buffer perangkat
I/O
Pemroses masih disibukkan oleh operasi
transfer data

19
Kelemahan pemrograman
masukan/keluaran dikendalikan interupsi
memiliki dua kelemahan :
◦ Rate transfer masukan/keluaran dibatasi
kecepatan menguji dan melayani operasi
perangkat
◦ Pemroses terikat erat dalam mengelola
transfer masukan/keluaran. Sejumlah intruksi
harus dieksekusi untk tiap transfer
masukan/keluaran.
20
 DMA berfungsi
membebaskan
pemroses menunggui
transfer data yang
dilakukan perangkat
I/O.
 DMA ialah sebuah
prosesor khusus yang
berguna untuk
menghindari
pembebanan CPU
utama oleh program
I/O

21
Skema I/O dengan DMA

22
Evolusi Fungsi Perangkat I/O
Sistem komputer telah mengalami evolusi
peningkatan kompleksitas. Evolusi sangat
tampak pada fungsi-fungsi masukan/keluaran
sbb [STA-95]:
◦ Pemroses mengendalikan perangkat I/O secara
langsung
◦ Perangkat dilengkapi I/O Controller
◦ Perangkat dilengkapi fasilitas Interupsi
◦ I/O controller mengendalikan memori secara
langsung melalui DMA.

23
◦ I/O Controller menjadi proses terpisah
◦ I/O Controller memiliki memori lokal

24
Prinsip Manajemen Perangkat I/O
Terdapatdua sasaran perancangan
manajemen perangkat I/O yaitu :
◦ Efisiensi
 Menghindari bootleneck
◦ Generalitas
 Memisahkan keragaman perangkat berdasarkan
sudut pandang tertentu.

25
Masalah pada perancangan
manajemen I/O :
Masalah pada perancangan manajemen
I/O antaralain :
◦ Penamaan yang seragam (Uniform Naming)
◦ Penanganan kesalahan (Error Handler)
◦ Transfer sinkron vs asinkron
◦ Sharable vs dedicated

26
Penamaan yang seragam (Uniform
Naming).
◦ Nama file atau perangkat adalah sebuah string
atau integer, sehingga tidak tergantung pada
perangkat sama sekali
Penanganan Kesalahan (Error
Handling)
◦ Tujuan yang ingin dicapai adalah bagaimana
menangani kesalahan, teruma kesalahan baca
yang ditemui pada operasi I/O

27
Transfer Sinkron vs Asinkron
◦ Kebanyakan I/O adalah asinkron. Pemroses
mulai transfer dan mengabaikan untuk
memulai tugas lain sampai interupsi tiba.
Sharable vs Dedicated
◦ Beberapa perangkat dapat dipakai bersama
namun beberapa hanya dapat dipakai satu
pengguna dalam satu waktu.
◦ Contoh Sharable : disk, dedicated : printer.

28
Hirarki Manajemen Perangkat I/O
Manajemen perangkat I/O tersusun dalam
hirarki sbb :
◦ Interupt Handler
◦ Device Driver
◦ Perangkat Lunak Device Independent
◦ Perangkat Lunak level pemakai

29
Interrupt Handler
◦ Interrupt harus disembunyikan agar tidak
terlihat oleh rutin pada lapisan berikutnya
◦ Device driver di blok saat perintah
masukan/keluaran diberikan dan menunggu
interupsi
◦ Ketika interupsi terjadi, prosedur penanganan
interupsi bekerja agar device driver keluar dari
state blocked.

30
Device Driver
◦ Semua kode bergantung perangkat
ditempatkan di device driver
◦ Masing-masing device driver menangani satu
tipe atau kelas perangkat.
◦ Device driver bertugas menerima permintaan
abstrak perangkat lunak device independent di
atasnya dan melakukan layanan sesuai
permintaan itu.

31
◦ Mekanisme kerja device driver
 Menterjemahkan perintah
 Menulis ke register pengendali perangkat
 Memeriksa status kesalahan yang terjadi, setelah
operasi selesai dilakukan
 Jika berjalan baik device driver melewatkan data ke
perangkat lunak device independent
 Device driver melaporkan statusnya ke pemanggil.

32
Perangkat Lunak 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 yang dilakukan antaralain :
 Interface seragam untuk seluruh device driver
 Penamaan perangkat
 Proteksi perangkat

33
 Memberi ukuran blok perangkat agar bersifat device
independent
 Melakukan buffering
 Alokasi penyimpanan pada blok-device
 Alokasi dan pelepasan dedicated-device
 Pelaporan kesalahan

34
Perangkat Lunak Level pemakai
◦ Kebanyakan perangkat lunak I/O terdapat di
sistem operasi
◦ Satu bagian kecil berisi pustaka yang
ditautkan di program pemakai dan berjalan di
luar kernel
◦ System call masukan/keluaran umumnya
dibuat sebagai prosedur pustaka.
◦ Tidak semua perangkat lunak I/O level
pemakai berupa prosedur pustaka.
◦ Contoh : spooler
35
Buffering Masukan/Keluaran
Buffering adalah menampung sementara data
operasi I/O, baik operasi baca ataupun tulis di
memori utama.
Buffering meningkatkan efisiensi sistem operasi
dan kinerja proses
Terdapat beragam cara buffering antaralain :
◦ Single buffering
◦ Double buffering
◦ Circular buffering

36
Single Buffering
◦ Ketika proses memberi perintah untuk
masukan/keluaran, sistem operasi
menyediakan buffer memori utama milik
sistem operasi untuk operasi.
◦ Keunggulan
 Meningkatkan kecepatan dibanding tanpa buffering.
 Proses pemakai dapat mengelola blok, sementara
blok berikutnya sedang dibaca

37
◦ Kelemahan
 Teknik ini merumitkan sistem operasi karena harus
mencatat pemberian buffer-buffer sistem ke masing-
masing proses pemakai.

38
Double Buffering
◦ Peningkatan dapat dibuat dengan
menyediakan dua buffer sistem.
◦ Proses dapat melakukan transfer ke/dari satu
buffer sementara sistem operasi
mengosongkan buffer lain
◦ Teknik ini disebut double buffer atau buffer
swapping
◦ Double buffering menjamin proses tidak
menungu operasi masukan/keluaran.

39
Circular Buffering
◦ Double buffering tidak mencukupi jika proses
melakukan operasi masukan/keluaran
berurutan secara cepat
◦ Masalah ini dapat diindari dengan
menggunakan lebih dari dua buffer
◦ Ketika lebih dari dua buffer digunakan,
kumpulan buffer tsb disebut Circular buffer.

40

Anda mungkin juga menyukai