Anda di halaman 1dari 3

Riffa Rufaida / 13507007

DEVICE DRIVER
Device driver adalah istilah teknologi informasi dalam bahasa Inggris yang mengacu kepada
komponen perangkat lunak yang mengizinkan sebuah sistem komputer untuk berkomunikasi dengan
sebuah perangkat keras. Sebagian besar perangkat keras, tidak akan dapat berjalan atau sama sekali
tidak dapat berjalan tanpa driver yang cocok yang terinstal di dalam sistem operasi. Device driver,
umumnya akan dimuat ke dalam ruangan kernel (kernelspace) sistem operasi selama proses booting
dilakukan, atau secara sesuai permintaan (ketika ada intervensi pengguna atau memasukkan sebuah
perangkat plug-and-play). Beberapa sistem operasi juga menawarkan device driver yang berjalan di
dalam ruangan pengguna (userspace) sistem operasi. Beberapa driver telah dimasukkan ke dalam sistem
operasi secara default pada saat instalasi, tapi banyak perangkat keras, khususnya yang baru, tidak
dapat didukung oleh driver-driver bawaan sistem operasi. Adalah tugas pengguna yang harus menyuplai
dan memasukkan driver ke dalam sistem operasi. Driver juga pada umumnya menyediakan layanan
penanganan interupsi perangkat keras yang dibutuhkan oleh perangkat keras.

Device driver dapat diabstraksikan ke dua lapisan, yaitu lapisan logis dan fisik. Lapisan logis memroses
data untuk kelas perangkat seperti Ethernet port atau disk drive. Lapisan fisik berkomunikasi dengan
perangkat tertentu yang spesifik. Sebagai contoh, sebuah serial port dibutuhkan untuk menangani
protokol komunikasi standar seperti XON / XOFF yang umum untuk semua serial port hardware. Ini akan
dikelola oleh lapisan logis dari serial port. Namun, lapisan logis tetap membutuhkan untuk
berkomunikasi dengan chip serial port tertentu. Dalam cara komvensonal, permintaan OS pertama-tama
akan datang ke lapisan logis. Pada gilirannya, lapisan logis akan memanggil lapisan fisik untuk
melaksanakan permintaan OS dalam bahasa yang dimengerti oleh perangkat keras. Sebaliknya, ketika
sebuah perangkat keras perlu merespon OS, maka perangkat keras tersebut akan menggunakan lapisan
fisik untuk berbicara dengan lapisan logis.

Universal Serial Bus(USB) digunakan untuk menghubungkan sebuah host, seperti PC atau workstation,
untuk sejumlah perangkat peripheral. USB menggunakan struktur pohon, dengan host di root (sistem
master), hub sebagai node interior, dan device tersebut sebagai daun (slave). PC modern didukung
beberapa pohon seperti perangkat USB, USB 2.0 biasanya satu pohon (480 Mbit / detik masing-masing)
dengan beberapa USB 1.1 pohon (12 Mbit / detik masing-masing) yang digunakan ketika Anda
menghubungkan perangkat USB 1.1 langsung ke mesin " root hub ".
Riffa Rufaida / 13507007

Gambar 1 Struktur pohon USB

Terdapat beberapa tipe dari USB device yang masing-masing dapat digunakan untuk tujuan yang
berbeda. Sebuah device dapat memiliki sumber energi dari dirinya sendiri, dari bus, atau dari keduanya.
USB dapat menyediakan sumber energi hingga 500mA. Kecepatan maksimum komuniksi dapat berbeda-
beda pula pada USB device. Spesifikasi USB menentukan kecepatan device, apakah rendah atau penuh.
Device dengan kecepatan rendah (seperti keyboard, mouse, dll) berkomunikasi pada kecepatan
1.5Mbit/s dan memiliki kapabilitas yang terbatas. Device dengan kecepatan penuh (seperti sistem audio
dan video) dapat menggunakan hingga 90% dari 12Mbit/s, yaitu sekitar 10Mbit/s termasuk overhead
dari protokol.

Gambar 2 Layer USB API Core

Pada Linux terdapat subsistem yang disebut “USB Core” dengan API yang spesifik untuk mendukung
device USB dan mengontrol host. Tujuannya untuk mengabstraksikan semua perangkat keras atau
bagian device yang tergantung dengan mendefinisikan kumpulan struktur data, makro, dan fungsi.
Riffa Rufaida / 13507007

USB Core mengandung routine yang biasa untuk semua USB device driver dan host controller driver.
Fungsi-fungsi ini dapat digrupkan ke upper dan lower layer API. Seperti pada gambar 2, terdapat API
untuk USB device driver dan yang lainnya untuk host controller.

USB mendukung empat macam data transfer (kontrol, bulk, interrupt, dan isochronous). Dua tipe
transfer menggunakan bandwidth saat tersedia (kontrol dan bulk), dimana dua tipe lainnya dijadwalkan
untuk menjamin ketersediaan bandwidth. Model deskripsi device memasukkan satu atau lebih
konfigurasi per device, hanya satu dari semuanya yang aktif pada satu waktu. Device yang sanggup pada
operasi dengan kecepatan tinggi harus pula mendukung konfigurasi dengan kecepatan tinggi.
Konfigurasi memiliki satu atau lebih antarmuka, masing-masing mungkin memiliki pengaturan alternatif.
USB device driver sebenarnya terikat ke antarmuka, bukan device. Ini merupakan driver antarmuka.
Kebanyakan USB device sederhana, memiliki satu konfigurasi, satu antarmuka, dan satu pengaturan
alternatif. Antarmuka memiliki satu atau lebih “endpoint” yang masing-masing mendukung satu tipe dan
arah dari data transfer seperti “bulk out” atau “interrupt in”. Seluruh konfigurasi ini dapat memiliki
maksimal 16 endpoints pada tiap arahnya, dialokasi sesuai kebutuhan di antara seluruh antarmuka.
Transfer data pada USB dalam bentuk paket. Setiap endpoint memiliki batas ukuran maksimum paket.
Driver seringkali harus mengetahui konvensi yang ada, misalnya dengan menandai ujung transfer bulk
dengan paket berukuran nol.

Referensi :

[1]http://id.wikipedia.org/wiki/Device_driver

[2]http://en.wikipedia.org/wiki/Device_driver

[3]http://www.lrr.in.tum.de/Par/arch/usb/download/usbdoc/usbdoc-1.32.pdf

[4]http://tali.admingilde.org/linux-docbook/usb/index.html