Saturday, August 1, 2015

Pengetahuan Mengenai Driver Computer

Pengertian Driver 

Driver Komputer adalah sebuah perangkat atau sebuah sistem yang di sedikan untuk sebuah perangkat keras yang tertanam atau pun terpasang di luar dan di dalam komputer. Driver juga bisa di sebut sebagai perangkat menyederhanakan pemrograman dengan bertindak sebagai penerjemah antara perangkat keras dan aplikasi atau sistem operasi yang menggunakannya. [1] Programmer dapat menulis kode aplikasi-tingkat yang lebih tinggi secara independen dari apa pun hardware tertentu pengguna akhir menggunakan.

Sebagai contoh, aplikasi tingkat tinggi untuk berinteraksi dengan port serial mungkin hanya memiliki dua fungsi untuk "mengirim data" dan "menerima data". Pada tingkat yang lebih rendah, driver perangkat melaksanakan fungsi-fungsi ini akan berkomunikasi dengan port serial tertentu kontroler diinstal pada komputer pengguna. Perintah yang diperlukan untuk mengendalikan 16550 UART jauh berbeda dari perintah yang diperlukan untuk mengendalikan FTDI port serial converter, tetapi masing-masing driver perangkat keras khusus abstrak rincian ini ke dalam yang sama (atau serupa) antarmuka software.

Pengembangan

Menulis driver perangkat memerlukan pemahaman mendalam tentang bagaimana perangkat keras dan perangkat lunak bekerja untuk fungsi platform yang diberikan. Karena driver memerlukan akses tingkat rendah ke fungsi hardware untuk beroperasi, driver biasanya beroperasi dalam lingkungan yang sangat istimewa dan dapat menyebabkan masalah operasional sistem jika terjadi kesalahan. Sebaliknya, sebagian besar user-level perangkat lunak pada sistem operasi modern dapat dihentikan tanpa sangat mempengaruhi seluruh sistem. Bahkan driver mengeksekusi dalam mode pengguna dapat sistem crash jika perangkat keliru diprogram. Faktor-faktor ini membuat lebih sulit dan berbahaya untuk mendiagnosis masalah. [3]

Tugas menulis driver sehingga biasanya jatuh ke insinyur perangkat lunak atau insinyur komputer yang bekerja untuk perusahaan hardware-pembangunan. Hal ini karena mereka memiliki informasi yang lebih baik daripada kebanyakan orang luar tentang desain hardware mereka. Selain itu, secara tradisional dianggap dalam kepentingan produsen perangkat keras untuk menjamin bahwa klien mereka dapat menggunakan perangkat keras mereka secara optimal. Biasanya, driver perangkat logis (LDD) ditulis oleh vendor sistem operasi, sedangkan driver perangkat fisik (PDD) diimplementasikan oleh vendor perangkat. Tapi dalam beberapa tahun terakhir non-vendor telah menulis banyak driver perangkat, terutama untuk digunakan dengan sistem operasi bebas dan open source. Dalam kasus tersebut, adalah penting bahwa produsen hardware memberikan informasi tentang bagaimana perangkat berkomunikasi. Meskipun informasi ini malah dapat dipelajari oleh reverse engineering, ini jauh lebih sulit dengan hardware daripada dengan software.

Microsoft telah berusaha untuk mengurangi ketidakstabilan sistem karena buruk driver perangkat yang ditulis dengan menciptakan kerangka kerja baru untuk pengembangan driver, yang disebut Windows driver Foundation (WDF). Ini termasuk Pengguna-Mode driver Framework (UMDF) yang mendorong pengembangan jenis tertentu driver-terutama mereka yang menerapkan protokol berbasis pesan untuk berkomunikasi dengan perangkat-sebagai driver user-mode mereka. Jika driver seperti kerusakan, mereka tidak menyebabkan ketidakstabilan sistem. Kernel-Mode driver Framework (KMDF) Model terus memungkinkan pengembangan kernel-mode driver perangkat, tetapi upaya untuk menyediakan implementasi standar fungsi yang diketahui menyebabkan masalah, termasuk pembatalan operasi I / O, manajemen daya, dan plug and bermain dukungan perangkat.

Apple memiliki kerangka open source untuk mengembangkan driver pada Mac OS X disebut I / O Kit.

Dalam lingkungan Linux, programmer dapat membangun driver perangkat sebagai bagian dari kernel, secara terpisah sebagai modul loadable, atau sebagai pengguna-mode driver (untuk jenis tertentu dari perangkat mana antarmuka kernel ada, seperti untuk perangkat USB). Makedev termasuk daftar perangkat di Linux: ttyS (terminal), lp (port paralel), hd (disk), lingkaran, suara (ini termasuk mixer, sequencer, dsp, dan audio) ... [4]

Microsoft Windows sys file dan modul Linux .ko berisi driver perangkat loadable. Keuntungan dari driver perangkat loadable adalah bahwa mereka dapat dimuat hanya bila diperlukan dan kemudian dibongkar, sehingga menghemat memori kernel.

Mode kernel vs modus pengguna

Driver perangkat, terutama pada yang modern platform Microsoft Windows, dapat berjalan dalam mode kernel (Ring 0 pada x86 CPU) atau dalam mode pengguna (Ring 3 di x86 CPU). [5] Manfaat utama dari menjalankan sopir dalam mode pengguna [6] Di transisi tangan, pengguna / kernel-mode lain biasanya memberlakukan meningkatkan stabilitas, karena ditulis dengan buruk modus pengguna driver perangkat tidak dapat crash sistem dengan Timpa memori kernel. kinerja overhead yang cukup, sehingga melarang user-mode driver untuk latency rendah dan persyaratan throughput tinggi.

Ruang kernel dapat diakses oleh modul pengguna hanya melalui penggunaan sistem panggilan. Program pengguna akhir seperti UNIX shell atau aplikasi berbasis GUI lainnya adalah bagian dari ruang pengguna. Aplikasi ini berinteraksi dengan hardware melalui fungsi kernel didukung.

Aplikasi

Karena keragaman hardware dan sistem operasi modern, driver beroperasi di banyak lingkungan yang berbeda [7] Drivers mungkin berinteraksi dengan.:

    printer
    video adapter
    Kartu jaringan
    Kartu suara
    Bus lokal dari berbagai macam-khususnya, bus menguasai pada sistem modern
    Bandwidth rendah I / O bus dari berbagai macam (untuk menunjuk perangkat seperti mouse, keyboard, USB, dll)
    Perangkat penyimpanan komputer seperti hard disk, CD-ROM, dan disk bus floppy (ATA, SATA, SCSI)
    Menerapkan dukungan untuk sistem file yang berbeda
    Gambar scanner
    Kamera digital

Tingkat umum abstraksi untuk driver perangkat meliputi:

    Untuk hardware:
        Mencampuri secara langsung
        Menulis atau membaca dari register kontrol perangkat
        Menggunakan beberapa antarmuka tingkat yang lebih tinggi (misalnya Video BIOS)
        Menggunakan driver perangkat-tingkat yang lebih rendah lagi (misalnya driver sistem file menggunakan driver disk)
        Simulasi bekerja dengan perangkat keras, sambil melakukan sesuatu yang sama sekali berbeda [rujukan?]
    Untuk perangkat lunak:
        Memungkinkan sistem operasi akses langsung ke sumber daya perangkat keras
        Menerapkan hanya primitif
        Menerapkan sebuah antarmuka untuk perangkat lunak non-driver (misalnya, TWAIN)
        Menerapkan bahasa, kadang-kadang cukup tinggi tingkat (misalnya, PostScript)

Jadi memilih dan menginstal driver perangkat yang benar untuk hardware tertentu sering komponen kunci dari sistem komputer configuration.http://www.drivers.com/update/drivers-news/what-are-device-drivers-and-why-do-we-need-them/
Virtual device driver

Virtual device driver merupakan varian tertentu dari driver perangkat. Mereka digunakan untuk meniru perangkat keras, terutama di lingkungan virtualisasi, misalnya saat program DOS dijalankan pada komputer Microsoft Windows atau ketika sistem operasi tamu dijalankan pada, misalnya, host Xen. Alih-alih memungkinkan sistem operasi tamu untuk dialog dengan perangkat keras, driver perangkat virtual mengambil peran yang berlawanan dan meniru sepotong hardware, sehingga sistem operasi tamu dan driver yang berjalan di dalam mesin virtual dapat memiliki ilusi mengakses perangkat keras yang nyata. Upaya oleh sistem operasi tamu untuk mengakses perangkat keras yang diarahkan ke driver perangkat virtual dalam sistem operasi host sebagai misalnya, fungsi panggilan. Driver perangkat virtual juga dapat mengirim peristiwa prosesor tingkat simulasi seperti menyela ke dalam mesin virtual.

Perangkat virtual juga dapat beroperasi dalam lingkungan non-virtual. Misalnya adaptor jaringan virtual digunakan dengan jaringan pribadi virtual, sementara perangkat disk virtual digunakan dengan iSCSI. Sebuah contoh yang baik untuk driver perangkat virtual dapat Daemon Tools.

Ada beberapa varian dari driver perangkat virtual, seperti VxDs, VLM, vdds.


API

    Windows Display Driver Model (WDDM) - grafis arsitektur display driver untuk Windows Vista, Windows 7 dan Windows 8.
    Jendela driver Foundation (WDF)
    Jendela Driver Model (WDM)
    Jaringan Driver Interface Specification (NDIS) - jaringan standar driver kartu API
    Lanjut Linux Sound Architecture (ALSA) - pada 2009 standar Linux antarmuka suara-driver
    Scanner Access Sekarang Mudah (SANE) - antarmuka publik-domain untuk raster-gambar scanner-hardware
    I / O Kit - kerangka open source dari Apple untuk mengembangkan driver perangkat Mac OS X
    Diinstal File System (IFS) - API filesystem untuk IBM OS / 2 dan Microsoft Windows NT
    Data Terbuka-Link Interface (ODI) - API kartu jaringan mirip dengan NDIS
    Uniform Driver Interface (UDI) - proyek driver interface cross-platform
    Dynax driver Framework (DxD) - C ++ open source kerangka kerja sopir lintas-platform untuk KMDF dan IOKit

Identifier

Sebuah perangkat pada bus PCI atau USB diidentifikasi oleh dua ID yang terdiri dari 4 angka heksadesimal setiap. Vendor ID mengidentifikasi vendor perangkat. ID perangkat mengidentifikasi perangkat dari produsen yang / penjual.

Sebuah perangkat PCI memiliki sering pasangan ID untuk chip utama perangkat, dan juga ID pasangan subsistem yang mengidentifikasi vendor, yang mungkin berbeda dari produsen chip yang.

Informasi dari : wikipedia.com / https://en.wikipedia.org/wiki/Device_driver