MANAJEMEN DEVICE
Pengantar 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.
Organisasi Sistem I/O 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.
Next.. 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.
Organisasi fisik dari sistem komputer
Next 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.
Perangkat Keras I/O Peranti I/O Peranti keras I/O atau device pada sistem komputer amatlah beragam. Masing-masing peranti I/O memiliki karakteristik yang kha
Next.. 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.
Device Controller 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.
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. 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.
Pengalamatan Peranti 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.
Contoh pengalamatan peranti I/O
Metode Transfer Data 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.
next
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.
Perangkat Lunak I/O 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.
next 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.
Manajemen Device 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
next 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.
SEKIAN