Manajemen Device Pada Sistem Operasi Linux
-
Upload
manaf-hasibuan -
Category
Documents
-
view
243 -
download
15
description
Transcript of Manajemen Device Pada Sistem Operasi Linux
MANAJEMEN DEVICE
Salah satu tugas sistem operasi adalah mengontrol operasi-
operasi peranti input/output (I/O) atau device pada sistem
komputer. Selama suatu aplikasi sedang dijalankan, umumnya
diperlukan operasi I/O seperti mendapatkan masukan pengguna
dari keyboard ataupun memunculkan hasil pemrosesan ke
monitor. Sistem operasi bertugas mengambil data masukan dari
keyboard ataupun peranti input lain untuk diproses lebih lanjut
oleh prosesor.
Pengantar
Sistem I/O pada sistem komputer dapat ditinjau dari segi
organisasi fisik atau perangkat keras maupun dari segi organisasi
perangkat lunaknya. Secara fisik, organisasi sistem I/O pada
sistem komputer dapat dibedakan atas:
Peranti I/O (Device)
Peranti-peranti I/O yang terkoneksi ke komputer memiliki
karakteristik khas sesuai dengan fungsi dan teknologi yang
digunakannya. Peranti I/O dapat berupa komponen elektris
maupun mekanik.
Organisasi Sistem I/O
Device controller (adapter).
Supaya peranti-peranti I/O dapat dikontrol dan berkomunikasi
dengan sistem komputer maka harus ada Device controller
yang berfungsi sebagai antarmuka antara peranti I/O dengan
sistem internal komputer.
Bus I/O.
Bus I/O terdiri atas bus data, alamat dan kontrol yang
berfungsi menghubungkan device controller dengan elemen
internal komputer seperti prosesor dan memori.
Next..
Organisasi fisik dari sistem komputer
Pada kebanyakan sistem operasi seperti keluarga sistem operasi
Windows ataupun Linux, sistem perangkat lunak I/O dirancang
dalam struktur berlapis dan umumnya terdiri atas lapisan:
Lapisan intterupt handler
Lapisan perangkat lunak ini menangani terjadinya interupsi
dan pengalihan eksekusi ke rutin penanganan interupsi,
interrupt handler, yang bersesuaian.
Next
Lapisan device driver
Lapisan device driver mengimplementasi secara khusus
rincian operasi dari masing-masing jenis pengendali peranti
I/O atau device controller.
Lapisan subsistem I/O atau Kernel I/O
Lapisan ini menyediakan antarmuka atau fungsi I/O yang
generik bagi komponen lain sistem operasi maupun aplikasi.
Lapisan Pustaka I/O aplikasi
Lapisan ini mengimplementasi pustaka pengaksesan I/O atau
API {Application Programming Interface) bagi aplikasi untuk
melakukan operasi I/O.
Next
Peranti I/O
Peranti keras I/O atau device pada sistem komputer amatlah
beragam. Masing-masing peranti I/O memiliki karakteristik yang
kha
Perangkat Keras I/O
Karakteristik yang dapat digunakan sebagai pembeda antara peranti I/O yang
satu sama yang lain antara lain:
Modus transfer data
Berdasarkan kategori i n i , peranti I/O dapat dibedakan sebagai peranti I/O
dengan modus tranfer per karakter ataupun per blok.
Metode akses
Berdasarkan kategori i n i , peranti I/O dapat dibedakan sebagai peranti I/O
dengan metode akses sekuensial dan metode akses acak.
Jadwal transfer
Berdasarkan kategori i n i , peranti I/O dapat dibedakan atas peranti I/O
sinkron dan peranti I/O asinkron.
Next..
Sharing
Berdasarkan kategori ini, peranti I/O dapat dibedakan atas
peranti I/O terdedikasi (dedicated) dan peranti I/O yang dapat
digunakan bersama (shared).
Kecepatan Akses
Berdasarkan kategori i n i , peranti I/O dapat dibedakan
berdasarkan spektrum atau jangkauan kecepatan akses peranti
I/O tersebut.
Modus Operasi I/O
Berdasarkan kategori i n i , peranti I/O dapat dibedakan
sebagai peranti I/O read-only, write-only, serta read-write.
Next..
Selain karakteristik di atas, peranti I/O dapat dibedakan berdasarkan
fungsionalitas sebagai berikut:
Peranti antar muka pengguna
Yaitu peranti yang menjembatani interaksi langsung antara pengguna,
umumnya manusia dengan sistem komputer, yang dapat dibedakan lebih
lanjut menjadi peranti input dan peranti output
Peranti transmisi
Yaitu peranti yang berfungsi untuk mentransmisikan data secara internal
maupun eksternal ke perangkat komputasi lainnya.
Peranti penyimpanan data
Yaitu peranti yang berfungsi untuk penyimpanan data.
next
Device controller merupakan bagian dari organisasi fisik sistem
I/O yang berfungsi sebagai pengendali digital terhadap peranti I/O
dan juga bertanggung jawab atas komunikasi data antara peranti
I/O dengan sistem internal komputer. Port controller merupakan
device controller khusus yang mengatur pengiriman data antara
bus I/O internal, misalnya PCI bus, dengan bus I/O eksternal,
seperti bus paralel, bus serial, dan bus USB.
Device Controller
Bus I/O terdiri atas bus data, alamat, dan kontrol yang berfungsi
menghubungkan device controller dengan elemen internal
komputer seperti prosesor dan memori. Komunikasi data lewat bus
khusus i n i masing-masing diatur oleh sebuah port controller.
Secara fisik bus ekspansi di atas umumnya berbentuk kabel,
sedangkan port controller berupa kepingan chipset pada main
board.
Bus I/O
Ada dua macam metoda untuk memberi alamat pada peranti I/O:
Direct-mapped I/O addressing
Pada skema pengalamatan ini, peranti I/O memiliki ruang
alamat yang terpisah dari alamat memori.
Memory-mapped I/O addressing
Pada skema pengalamatan ini, peranti I/O memiliki alamat yang
merupakan bagian dart ruang alamat memori secara global.
Pengalamatan Peranti I/O
Contoh pengalamatan peranti I/O
Salah satu hal yang cukup penting dalam menentukan kinerja
sistem I/O adalah mekanisme transfer data dari peranti I/O ke
bagian internal sistem komputer.
Metode Transfer Data
next
Programmed I/O atau Pooling
Gambar 6.5(a) mengambarkan model transfer data dengan programmed
I/O. Prosesor bertanggung jawab atas pemeriksaan atas selesainya operasi
transfer data yang dilakukan oleh device controller serta bertanggung
jawab atas pemindahan data dari atau ke memori utama.
Interrupt -Driven I/O
Gambar 6.5(b) memperlihatkan model transfer data dengan model
Interrupt-driven I/O. Prosesor hanya bertanggung jawab atas pemindahan
data ke atau dari memori utama.
DMA (Direct Memori Access)
Metode transfer i n i membebaskan prosesor sepenuhnya dari pengontrolan
transfer data I/O seperti ditunjukkan pada Gambar 6.5(c
Next
Ilustrasi langkah-langkah transfer data dari disk dengan teknik DMA dan
dijelaskan sebagai berikut:
Pertama, suatu proses yang sedang berjalan melakukah operasi I/O dengan
memanggil salah satu fungsi device driver untuk melakukan transfer data
dari disk ke buffer X di memori utama.
Device driver menginstruksikan disk controller untuk transfer data sebesar
C byte dari disk ke lokasi buffer X di memori utama.
next
Disk controller akan menginisialisasi transfer DMA. Langkah
ini meliputi DMA controller mengirimkan DMA request ke
prosesor. Selanjutnya prosesor akan mengisi DMA controller
dengan informasi transfer data, dan DMA akan mengirimkan
sinyal DMA acknowledge, sebagai ijin untuk memakai bus
sistem (prosesormemory bus).
Selanjutnya DMA controller akan mengatur pemindahan
setiap word data dari disk controllerke lokasi buffer X di
memori utama.
next
Jika sudah selesai, DMA mengeluarkan sinyal interrupt kepada
rosesor dan mengembalikan hak pemakaian bus sistem ke
prosesor.
next
Tujuan Perencanaan Perangkat Lunak
Device Independece
Tujuan ini dicapai dengan membangun lapisan bawah
perangkat lunak sistem I/O, yaitu interupt handler dan device
^riVer sedemikian rupa sehingga lapisan perangkat lunak I/O
di atasnya tidak membutuhkan pengetahuan tentang rincian
operasi peranti I/O yang sangat beragam.
Uniform Naming
Tujuan lain yan hendak dicapai adalah penamaan yang
seragam untuk berkas yang disimpan di berbagai jenis media
penyimpan yang berbeda.
Perangkat Lunak I/O
Error Handling
Tujuan lain yang ingin dicapai adalah bagaimana menangani
kesalahan, terutama kgsalahan baca, yang ditemui dalam
operasi I/O.
Transfer Sinkron vs Asinkron
Masalah transfer data asinkron atau sinkron merupakan
pertimbangan lainnya yang penting dalam perancangan
perangkat lunak sistem I/O.
Shareable vs Dedicated Device
Hal terakhir yang perlu dipertimbangkan dalam perancangan
perangkat lunak sistem I/O adalah apakah suatu peranti I/O
bersifat shareable atau dedicated.
next
Berikut akan dibahas berbagai komponen perangkat lunak sistem
I/O pada sistem komputer, yaitu: interrupt handler, device driver,
dan kernel I/O.
Lapisan Intterupt Handler, Lapisan ini bertujuan untuk
mencapai operasi I/O yang asinkron.
Lapisan device driver membantu perangkat lunak sistem I/O
untuk mencapai ketidaktergantungan dengan keberagaman
peranti I/O.
next
Lapisan Subsistem I/O atau Kernel I/O mengimplementasi
fungsi-fungsi manajemen sistem I/O yang bersifat umum dan
tidak tergantung pada spesifikasi dan arsitektur dari sistem
komputernya.
Lapisan Pustaka I/O aplikasi mengimplementasi pustaka
pengaksesan I/O atau API (Application Programming
Interface) bagi aplikasi untuk melakukan operasi I/O. Lapisan
ini memudahkan pemrogram aplikasi, karena Pengaksesan.
next
Scheduling
Salah satu fungsi manajemen device yang melakukan
penjadwalan penggunaan suatu peranti I/O.
Buffering
Yaitu menampung sementara data operasi I/O, baik operasi
baca ataupun tulis di memori utama. Beberapa keuntungan
dari mekanisme buffering adalah:
a. Mengatasi Perbedaan Kecepatan antar Peranti I/O.
b. Mengatasi Perbedaan Bandwith Transfer antar Peranti I/O
c. Mempertahankan Semantik Penyalinan Data
Manajemen Device
Caching. Secara umum, pengaksesan peranti I/O lebih lambat
dibanding pengaksesan memori utama. Pengaksesan yang
terlalu sering terhadap peranti I/O akan memperlambat
eksekusi proses secara keseluruhan.
Spooling. Kebanyakan pemakaian peranti I/O pada komputer
bersifat ekskusif, yaitu peranti I/O hanya dapat melayani satu
tugas pada suatu waktu.
Device Reservation. Karena kebanyakan pemlkaian peranti
I/O bersifat eksklusif maka kernel I/O juga harus memastikan
selama pengaksesan peranti I/O oleh suatu prosesf tidak ada
intervensi dari proses lainnya.
next