Apakah perangkat plug and play membutuhkan driver?
Informasi umum tentang dukungan untuk perangkat plug & play
Setelah BIOS mengidentifikasi hard-drive, kartu video, dan keyboard siap untuk mulai boot (memuat sistem operasi ke dalam memori dari hard-disk). Jika Anda telah memberi tahu BIOS bahwa Anda memiliki sistem operasi PNP (OS PNP), itu harus mulai mem -boot PC seperti di atas dan biarkan sistem operasi menyelesaikan konfigurasi PNP. Kalau tidak, PNP-BIOS akan (sebelum booting) kemungkinan mencoba melakukan sisa konfigurasi perangkat PNP (tetapi tidak menginformasikan driver perangkat tentang apa yang dilakukannya). Tetapi pengemudi masih dapat mengetahui hal ini dengan memanfaatkan fungsi yang tersedia di kernel Linux.
Apakah perangkat plug and play membutuhkan driver?
Jika Anda tidak memahami bagian ini, baca bagian perangkat keras bagian berikutnya dan komunikasi dengan mereka
Sederhanakan, plug-and-play memberi tahu perangkat lunak (driver perangkat) di mana untuk menemukan berbagai perangkat keras (perangkat) seperti modem, kartu jaringan, kartu suara, dll. Tugas plug-and-play adalah untuk mencocokkan perangkat fisik dengan perangkat lunak (driver perangkat) yang mengoperasikannya dan untuk membangun saluran komunikasi antara setiap perangkat fisik dan drivernya. Untuk mencapai hal ini, PNP mengalokasikan dan menetapkan “sumber daya bus” berikut dalam perangkat keras: alamat I/O, daerah memori, IRQ, saluran DMA (LPC dan ISA Bus saja) saja). 4 hal ini kadang -kadang disebut “sumber daya pesanan pertama” atau hanya “sumber daya”. PNP memelihara catatan tentang apa yang dilakukan dan memungkinkan driver perangkat untuk mendapatkan informasi ini. Jika Anda tidak mengerti apa 4 sumber daya bus ini, baca subbagian berikut dari Howto: I/O Address, IRQ, Saluran DMA, Wilayah Memori ini. Sebuah artikel di Linux Gazette tentang 3 sumber daya bus ini adalah pengantar IRQ, DMAS dan alamat pangkalan. Setelah sumber daya bus ini ditetapkan (dan jika driver yang benar diinstal), driver yang sebenarnya dan “file” untuk itu di direktori /dev siap digunakan.
Penugasan sumber daya bus PNP ini kadang-kadang disebut “mengkonfigurasi” tetapi hanya jenis konfigurasi tingkat rendah. Direktori /etc memiliki banyak file konfigurasi tetapi kebanyakan semuanya bukan untuk konfigurasi PNP. Jadi sebagian besar konfigurasi perangkat perangkat keras tidak ada hubungannya dengan PNP atau sumber daya bus. Untuk, contoh inisialisasi modem dengan “string init” atau mengatur kecepatannya bukan PNP. Jadi saat berbicara tentang PNP, “mengonfigurasi” hanya berarti jenis konfigurasi tertentu. Sementara dokumentasi lain (seperti untuk MS Windows) cukup menyebut sumber daya bus “sumber daya”, saya kadang-kadang menggunakan istilah “sumber daya bus” alih-alih hanya “sumber daya” untuk membedakannya dari banyak jenis sumber daya lainnya.
PNP adalah proses yang dilakukan oleh berbagai perangkat lunak dan perangkat keras. Jika hanya ada satu program yang menangani PNP di Linux, itu akan sederhana. Tetapi dengan Linux, setiap driver perangkat melakukan PNP sendiri, menggunakan perangkat lunak yang disediakan oleh kernel. Perangkat keras BIOS dari PC melakukan PNP saat PC pertama kali didukung. Dan ada lebih banyak lagi dari ini.
Komputer terdiri dari CPU/prosesor untuk melakukan komputasi dan memori RAM untuk menyimpan program dan data (untuk akses cepat). Selain itu, ada sejumlah perangkat seperti berbagai jenis drive disk, kartu video, keyboard, perangkat jaringan, kartu modem, perangkat suara, bus USB, port serial dan paralel, dll. Di masa lalu, sebagian besar perangkat ada di kartu yang dimasukkan ke dalam slot di PC. Saat ini, banyak perangkat yang sebelumnya kartu sekarang ada di papan karena mereka terkandung dalam chip di motherboard. Ada juga catu daya untuk menyediakan energi listrik, berbagai bus di motherboard untuk menghubungkan perangkat ke CPU, dan casing untuk memasukkan semua ini ke dalam.
Kartu yang dihubungkan ke motherboard mungkin berisi lebih dari satu perangkat. Chip memori juga kadang-kadang dianggap sebagai perangkat tetapi tidak plug-and-play dalam arti yang digunakan dalam howto ini.
Agar sistem komputer berfungsi dengan benar, setiap perangkat harus berada di bawah kendali “driver perangkat”. Ini adalah perangkat lunak yang merupakan bagian dari sistem operasi (mungkin dimuat sebagai modul) dan berjalan pada CPU. Driver perangkat dikaitkan dengan “file khusus” di direktori /dev meskipun mereka bukan file. Mereka memiliki nama seperti HDA3 (partisi ketiga pada hard drive a), ttys1 (port serial kedua), eth0 (kartu ethernet pertama), dll.
Perangkat ETH0 adalah untuk kartu Ethernet (kartu NIC). Sebelumnya /dev /eth0 tapi sekarang hanya perangkat virtual di kernel. Apa yang dirujuk ETH0 tergantung pada jenis kartu Ethernet yang Anda miliki. Jika driver adalah modul, penugasan ini kemungkinan dalam tabel kernel internal tetapi mungkin ditemukan di /etc /modul.conf (disebut “alias”). Misalnya, jika Anda memiliki kartu Ethernet yang menggunakan chip “tulip” Anda bisa memasukkan “alias eth0 tulip” ke dalam /etc /modules.conf saat komputer Anda meminta eth0 ia menemukan driver tulip. Namun, kernel modern biasanya dapat menemukan modul driver yang tepat sehingga Anda jarang perlu menentukannya sendiri.
Untuk mengontrol perangkat, CPU (di bawah kendali driver perangkat) mengirimkan perintah dan data ke, dan membaca status dan data dari berbagai perangkat. Untuk melakukan ini, setiap driver perangkat harus mengetahui alamat perangkat yang dikontrolnya. Mengetahui alamat seperti itu setara dengan menyiapkan saluran komunikasi, meskipun “saluran” fisik sebenarnya adalah bus data di dalam PC yang dibagikan dengan banyak perangkat lain.
Saluran komunikasi ini sebenarnya sedikit lebih kompleks dari yang dijelaskan di atas. “Alamat” sebenarnya adalah berbagai alamat, jadi kadang -kadang kata “rentang” digunakan sebagai pengganti “alamat”. Bahkan mungkin ada lebih dari satu rentang (tanpa tumpang tindih) untuk satu perangkat. Juga, ada bagian terbalik dari saluran (dikenal sebagai interupsi) yang memungkinkan perangkat untuk mengirim permintaan “bantuan” yang mendesak ke driver perangkat mereka.
Bus PCI memiliki 3 ruang alamat: I/O, memori utama (memori IO), dan konfigurasi.
Informasi umum tentang dukungan untuk perangkat plug & play
Setelah BIOS mengidentifikasi hard-drive, kartu video, dan keyboard siap untuk mulai boot (memuat sistem operasi ke dalam memori dari hard-disk). Jika Anda telah memberi tahu BIOS bahwa Anda memiliki sistem operasi PNP (OS PNP), itu harus mulai mem -boot PC seperti di atas dan biarkan sistem operasi menyelesaikan konfigurasi PNP. Kalau tidak, PNP-BIOS akan (sebelum booting) kemungkinan mencoba melakukan sisa konfigurasi perangkat PNP (tetapi tidak menginformasikan driver perangkat tentang apa yang dilakukannya). Tetapi pengemudi masih dapat mengetahui hal ini dengan memanfaatkan fungsi yang tersedia di kernel Linux.
Apakah perangkat plug and play membutuhkan driver?
Jika Anda tidak memahami bagian ini, baca bagian perangkat keras bagian berikutnya dan komunikasi dengan mereka
Sederhanakan, plug-and-play memberi tahu perangkat lunak (driver perangkat) di mana untuk menemukan berbagai perangkat keras (perangkat) seperti modem, kartu jaringan, kartu suara, dll. Tugas plug-and-play adalah untuk mencocokkan perangkat fisik dengan perangkat lunak (driver perangkat) yang mengoperasikannya dan untuk membangun saluran komunikasi antara setiap perangkat fisik dan drivernya. Untuk mencapai hal ini, PNP mengalokasikan dan menetapkan “sumber daya bus” berikut dalam perangkat keras: alamat I/O, daerah memori, IRQ, saluran DMA (LPC dan ISA Bus saja) saja). 4 hal ini kadang -kadang disebut “sumber daya pesanan pertama” atau hanya “sumber daya”. PNP memelihara catatan tentang apa yang dilakukan dan memungkinkan driver perangkat untuk mendapatkan informasi ini. Jika Anda tidak mengerti apa 4 sumber daya bus ini, baca subbagian berikut dari Howto: I/O Address, IRQ, Saluran DMA, Wilayah Memori ini. Sebuah artikel di Linux Gazette tentang 3 sumber daya bus ini adalah pengantar IRQ, DMAS dan alamat pangkalan. Setelah sumber daya bus ini ditetapkan (dan jika driver yang benar diinstal), driver yang sebenarnya dan “file” untuk itu di direktori /dev siap digunakan.
Penugasan sumber daya bus PNP ini kadang-kadang disebut “mengkonfigurasi” tetapi hanya jenis konfigurasi tingkat rendah. Direktori /etc memiliki banyak file konfigurasi tetapi kebanyakan semuanya bukan untuk konfigurasi PNP. Jadi sebagian besar konfigurasi perangkat perangkat keras tidak ada hubungannya dengan PNP atau sumber daya bus. Untuk, contoh inisialisasi modem dengan “string init” atau pengaturannya bukan PNP. Jadi saat berbicara tentang PNP, “mengonfigurasi” hanya berarti jenis konfigurasi tertentu. Sementara dokumentasi lain (seperti untuk MS Windows) cukup menyebut sumber daya bus “sumber daya”, saya kadang-kadang menggunakan istilah “sumber daya bus” alih-alih hanya “sumber daya” untuk membedakannya dari banyak jenis sumber daya lainnya.
PNP adalah proses yang dilakukan oleh berbagai perangkat lunak dan perangkat keras. Jika hanya ada satu program yang menangani PNP di Linux, itu akan sederhana. Tetapi dengan Linux, setiap driver perangkat, itu PNP sendiri, menggunakan perangkat lunak yang disediakan oleh kernel. Perangkat keras BIOS dari PC melakukan PNP saat PC pertama kali didukung. Dan ada lebih banyak lagi dari ini.
Komputer terdiri dari CPU/prosesor untuk melakukan komputasi dan memori RAM untuk menyimpan program dan data (untuk akses cepat). Selain itu, ada sejumlah perangkat seperti berbagai jenis drive disk, kartu video, keyboard, perangkat jaringan, kartu modem, perangkat suara, bus USB, port serial dan paralel, dll. Di masa lalu, sebagian besar perangkat ada di kartu yang dimasukkan ke dalam slot di PC. Saat ini, banyak perangkat yang sebelumnya kartu, sekarang ada di papan karena mereka terkandung dalam chip di motherboard. Ada juga catu daya untuk menyediakan energi listrik, berbagai bus di motherboard untuk menghubungkan perangkat ke CPU, dan casing untuk memasukkan semua ini ke dalam.
Kartu yang dihubungkan ke motherboard mungkin berisi lebih dari satu perangkat. Chip memori juga kadang-kadang dianggap sebagai perangkat tetapi tidak plug-and-play dalam arti yang digunakan dalam howto ini.
Agar sistem komputer berfungsi dengan benar, setiap perangkat harus berada di bawah kendali “driver perangkat”. Ini adalah perangkat lunak yang merupakan bagian dari sistem operasi (mungkin dimuat sebagai modul) dan berjalan pada CPU. Driver perangkat dikaitkan dengan “file khusus” di direktori /dev meskipun mereka bukan file. Mereka memiliki nama seperti HDA3 (partisi ketiga pada hard drive a), ttys1 (port serial kedua), eth0 (kartu ethernet pertama), dll.
Perangkat ETH0 adalah untuk kartu Ethernet (kartu NIC). Sebelumnya /dev /eth0 tapi sekarang hanya perangkat virtual di kernel. Apa yang dirujuk ETH0 tergantung pada jenis kartu Ethernet yang Anda miliki. Jika driver adalah modul, penugasan ini kemungkinan dalam tabel kernel internal tetapi mungkin ditemukan di /etc /modul.conf (disebut “alias”). Misalnya, jika Anda memiliki kartu Ethernet yang menggunakan chip “tulip” Anda bisa memasukkan “alias eth0 tulip” ke dalam /etc /modules.conf saat komputer Anda meminta eth0 ia menemukan driver tulip. Namun, kernel modern biasanya dapat menemukan modul driver yang tepat sehingga Anda jarang perlu menentukannya sendiri.
Untuk mengontrol perangkat, CPU (di bawah kendali driver perangkat) mengirimkan perintah dan data ke, dan membaca status dan data dari berbagai perangkat. Untuk melakukan ini, setiap driver perangkat harus mengetahui alamat perangkat yang dikontrolnya. Mengetahui alamat seperti itu setara dengan menyiapkan saluran komunikasi, meskipun “saluran” fisik sebenarnya adalah bus data di dalam PC yang dibagikan dengan banyak perangkat lain.
Saluran komunikasi ini sebenarnya sedikit lebih kompleks dari yang dijelaskan di atas. “Alamat” sebenarnya adalah berbagai alamat sehingga kadang -kadang kata “rentang” digunakan sebagai pengganti “alamat”. Bahkan mungkin ada lebih dari satu rentang (tanpa tumpang tindih) untuk satu perangkat. Juga, ada bagian terbalik dari saluran (dikenal sebagai interupsi) yang memungkinkan perangkat untuk mengirim permintaan “bantuan” yang mendesak ke driver perangkat mereka.
Bus PCI memiliki 3 ruang alamat: I/O, memori utama (memori IO), dan konfigurasi. Bus Isa lama tidak memiliki ruang alamat “konfigurasi” asli. Hanya ruang memori I/0 dan IO yang digunakan untuk perangkat IO. Alamat konfigurasi diperbaiki dan tidak dapat diubah sehingga tidak perlu dialokasikan. Untuk detail lebih lanjut, lihat ruang alamat konfigurasi PCI
Ketika CPU ingin mengakses perangkat, itu menempatkan alamat perangkat pada bus utama komputer (untuk PCI: Alamat/Bus Data). Semua jenis alamat (seperti I/O dan memori utama) berbagi bus yang sama di dalam PC. Tetapi ada atau tidak adanya tegangan pada kabel khusus tertentu di bus PC memberi tahu “ruang” yang ada di: I/O, memori utama, (lihat rentang memori), atau konfigurasi (hanya PCI). Ini sedikit terlalu disederhanakan karena memberi tahu perangkat PCI bahwa ini adalah ruang konfigurasi yang sebenarnya lebih kompleks daripada yang dijelaskan di atas. Lihat ruang alamat konfigurasi PCI untuk detailnya. Lihat detail alamat untuk detail lebih lanjut tentang alamat secara umum.
Alamat perangkat disimpan di register di perangkat fisik. Mereka dapat diubah dengan perangkat lunak dan mereka dapat dinonaktifkan sehingga perangkat tidak memiliki alamat sama sekali. Kecuali bahwa alamat konfigurasi PCI tidak dapat diubah atau dinonaktifkan.
Perangkat awalnya terletak di ruang alamat I/O tetapi hari ini mereka dapat menggunakan ruang dalam memori utama. Alamat I/0 terkadang hanya disebut “I/O”, “IO”, “I/O” atau “IO”. Istilah “port I/O” atau “rentang I/O” juga digunakan. Jangan membingungkan port IO ini dengan “memori IO” yang terletak di memori utama. Ada dua langkah utama untuk mengalokasikan alamat I/O (atau sumber daya bus lainnya seperti interupsi di bus ISA):
- Atur alamat I/O, dll. di perangkat keras (di salah satu registernya)
- Biarkan driver perangkatnya tahu apa alamat I/O ini, dll. adalah
Seringkali, driver perangkat melakukan keduanya (semacam). Driver perangkat sebenarnya tidak perlu mengatur alamat I/O jika mengetahui bahwa alamat tersebut telah ditetapkan sebelumnya (mungkin oleh BIOS) dan bersedia menerima alamat itu. Setelah pengemudi telah mengetahui alamat apa yang sebelumnya telah ditetapkan atau mengatur alamatnya sendiri, maka jelas tahu apa alamatnya sehingga tidak perlu membiarkan pengemudi tahu alamatnya -sudah mengetahuinya.
Proses dua langkah di atas (1. Atur alamat di perangkat keras. 2. Biarkan pengemudi mengetahuinya.) adalah sesuatu seperti dua bagian masalah untuk menemukan nomor rumah seseorang di jalan. Seseorang harus memasang nomor di bagian depan rumah sehingga dapat ditemukan dan kemudian orang yang mungkin ingin pergi ke alamat ini harus diperoleh (dan menuliskan) nomor rumah ini sehingga mereka dapat menemukan rumah itu. Untuk komputer, perangkat keras perangkat pertama -tama harus mendapatkan alamatnya dimasukkan ke dalam register khusus di perangkat kerasnya (pasang nomor rumah) dan kemudian driver perangkat harus mendapatkan alamat ini (tulis nomor rumah di buku alamatnya). Keduanya harus dilakukan, baik secara otomatis dengan perangkat lunak atau dengan memasukkan data secara manual ke dalam file konfigurasi. Masalah dapat terjadi ketika hanya satu dari mereka yang dilakukan dengan benar.
Untuk konfigurasi PNP manual beberapa orang membuat kesalahan dengan melakukan hanya satu dari dua langkah ini dan kemudian bertanya -tanya mengapa komputer tidak dapat menemukan perangkat. Misalnya, mereka dapat menggunakan “setSerial” untuk menetapkan alamat ke port serial tanpa menyadari bahwa ini hanya memberi tahu pengemudi sebuah alamat. Itu tidak mengatur alamat di perangkat keras port serial itu sendiri. Jika Anda salah memberi tahu pengemudi maka Anda dalam masalah. Cara lain untuk memberi tahu driver adalah dengan memberikan alamat sebagai opsi untuk modul kernel (driver perangkat). Jika apa yang Anda katakan itu salah, mungkin ada masalah. Driver pintar dapat mendeteksi bagaimana perangkat keras sebenarnya diatur dan menolak informasi yang salah yang disediakan oleh opsi (atau setidaknya mengeluarkan pesan kesalahan).
Persyaratan yang jelas adalah bahwa sebelum driver perangkat dapat menggunakan alamat yang harus diatur terlebih dahulu di perangkat fisik (seperti kartu). Karena driver perangkat sering memulai segera setelah Anda memulai komputer, mereka kadang -kadang mencoba mengakses kartu (untuk melihat apakah itu ada di sana, dll.) Sebelum alamat telah diatur dalam kartu oleh program konfigurasi PNP. Kemudian Anda melihat pesan kesalahan bahwa mereka tidak dapat menemukan kartu meskipun ada di sana (tetapi belum memiliki alamat).
Apa yang dikatakan dalam beberapa paragraf terakhir mengenai alamat I/O berlaku dengan kekuatan yang sama untuk sebagian besar sumber daya bus lainnya: rentang memori, IRQ-OVERVIVE dan saluran DMA. Apa ini akan dijelaskan di 3 bagian berikutnya. Pengecualiannya adalah bahwa interupsi pada bus PCI tidak ditetapkan oleh register kartu tetapi malah dialihkan (dipetakan) ke IRQ dengan chip di motherboard. Maka IRQ A PCI Card diarahkan ke ditulis ke dalam register kartu untuk tujuan informasi saja.
Untuk melihat alamat IO apa yang digunakan di PC Anda, lihat file /proc /ioports.
Banyak perangkat yang ditetapkan ruang alamat dalam memori utama. Terkadang disebut “memori bersama” atau “io yang dipetakan” atau “memori io”. Memori ini secara fisik terletak di dalam perangkat fisik tetapi komputer mengaksesnya seperti akan mengakses memori pada chip memori. Saat membahas sumber daya bus, sering kali hanya disebut “memori”, “mem”, atau “iomem”. Selain menggunakan “memori” seperti itu, perangkat seperti itu mungkin juga menggunakan ruang alamat IO konvensional. Untuk melihat apa yang digunakan di komputer Anda, lihat /proc /iomem. “File” ini termasuk memori yang digunakan oleh chip memori RAM biasa sehingga menunjukkan alokasi memori secara umum dan bukan hanya alokasi IOMEM. Jika Anda melihat nomor aneh alih -alih nama, kemungkinan jumlah perangkat PCI yang dapat Anda verifikasi dengan mengetik “LSPCI”.
Saat Anda memasukkan kartu yang menggunakan IOMEM, Anda berlaku juga memasukkan modul memori untuk memori utama. Alamat tinggi dipilih untuk itu oleh PNP sehingga tidak bertentangan dengan modul memori utama (chip). Memori ini bisa berupa ROM (hanya membaca memori) atau memori bersama. Memori bersama dibagi antara perangkat dan CPU (menjalankan driver perangkat) sama seperti ruang alamat IO dibagi antara perangkat dan CPU. Memori bersama ini berfungsi sebagai sarana data “transfer” antara perangkat dan memori utama. Ini input-output (IO) tetapi tidak dilakukan di ruang IO. Baik kartu dan driver perangkat perlu mengetahui rentang memori.
Rom (baca hanya memori) pada kartu adalah jenis iomem yang berbeda. Kemungkinan program (mungkin driver perangkat) yang akan digunakan dengan perangkat. Bisa jadi kode inisialisasi sehingga driver perangkat masih diperlukan. Mudah -mudahan, ini akan bekerja dengan Linux dan bukan hanya MS Windows. Mungkin perlu dibayangi yang berarti disalin ke chip memori utama Anda untuk berjalan lebih cepat. Setelah dibayangi itu tidak lagi “baca saja”.
Setelah membaca ini, Anda mungkin ingin membaca interupsi -detail untuk lebih banyak detail. Berikut ini sengaja disederhanakan: Selain alamatnya, ada juga angka interupsi untuk ditangani (seperti IRQ 5). Ini disebut nomor IRQ (permintaan interuprika) atau hanya “IRQ” singkatnya. Kami sudah menyebutkan di atas bahwa driver perangkat harus mengetahui alamat kartu agar dapat berkomunikasi dengannya.
Tapi bagaimana dengan komunikasi di arah yang berlawanan? Misalkan perangkat perlu memberi tahu driver perangkatnya sesuatu segera. Misalnya, perangkat mungkin menerima banyak byte yang ditakdirkan untuk memori utama dan buffernya yang digunakan untuk menyimpan byte ini hampir penuh. Dengan demikian perangkat perlu memberi tahu drivernya untuk mengambil byte ini sekaligus sebelum buffer meluap dari aliran byte yang masuk. Contoh lain adalah memberi sinyal driver bahwa perangkat telah selesai mengirimkan banyak byte dan sekarang menunggu beberapa byte lagi dari driver sehingga dapat mengirimnya juga.
Bagaimana perangkat dengan cepat menandakan drivernya? Itu mungkin tidak dapat menggunakan bus data utama karena kemungkinan sudah digunakan. Sebaliknya ia menempatkan tegangan pada kawat interupsi khusus (juga disebut garis atau jejak) yang sering disediakan untuk perangkat itu saja. Sinyal tegangan ini disebut Permintaan Interupsi (IRQ) atau hanya “interupsi” singkatnya. Ada yang setara dengan 16 (atau 24, dll.) Kabel seperti itu di PC dan masing -masing kawat mengarah (secara tidak langsung) ke driver perangkat tertentu. Setiap kawat memiliki nomor IRQ (permintaan interuprika) yang unik. Perangkat harus menempatkan interupsi pada kabel yang benar dan driver perangkat harus mendengarkan interupsi pada kabel yang benar. Kawat mana perangkat mengirimkan “permintaan bantuan” tersebut ditentukan oleh nomor IRQ yang disimpan di perangkat. Nomor IRQ yang sama ini harus diketahui oleh driver perangkat sehingga driver perangkat tahu jalur IRQ mana yang harus didengarkan.
Setelah driver perangkat mendapatkan interupsi dari perangkat, harus mencari tahu mengapa interupsi dikeluarkan dan mengambil tindakan yang tepat untuk melayani interupsi. Di bus ISA, setiap perangkat biasanya membutuhkan nomor IRQ uniknya sendiri. Untuk bus PCI dan kasus khusus lainnya, berbagi IRQ diizinkan (dua atau lebih perangkat PCI mungkin memiliki nomor IRQ yang sama). Juga, untuk PCI, setiap perangkat PCI memiliki kabel “PCI Interrupt” yang tetap. Tetapi chip routing yang dapat diprogram memetakan kabel PCI ke interupsi tipe ISA. Lihat Interrupts – -details untuk detail tentang cara kerja semua hal di atas.
- membaca sepotong byte dari ruang memori I/O perangkat dan memasukkan byte ini ke dalam CPU itu sendiri
- Menulis byte ini dari CPU ke memori utama
Dengan DMA ini adalah proses satu langkah untuk mengirim byte langsung dari perangkat ke memori. Perangkat harus memiliki kemampuan DMA yang dibangun ke dalam perangkat kerasnya dan karenanya tidak semua perangkat dapat melakukan DMA. Saat DMA sedang berlangsung, CPU tidak bisa berbuat terlalu banyak karena bus utama digunakan oleh transfer DMA.
Bus Isa lama dapat melakukan DMA memperlambat sementara bus PCI melakukan “DMA” dengan penguasaan bus. Bus LPC memiliki DMA lama dan DMA baru (Mastering Bus). Di bus PCI, apa yang lebih tepatnya harus disebut “penguasaan bus” yang sering disebut “ultra dma”, “BM-DNA”, “Udma”, atau hanya “DMA”, penguasaan bus memungkinkan perangkat untuk sementara menjadi tuan bus dan mentransfer byte seperti master bus adalah CPU untuk sementara menjadi tuan bus dan untuk mentransfer byte hampir seperti master bus adalah CPU The CPU untuk sementara menjadi tuan bus dan untuk mentransfer hampir seperti master bus adalah CPU The CPU untuk sementara menjadi tuan bus dan untuk mentransfer hampir seperti master bus adalah CPU The CPU untuk sementara menjadi tuan bus dan untuk mentransfer hampir seperti master bus adalah CPU The CPU untuk sementara menjadi tuan bus dan untuk mentransfer hampir seperti master bus adalah CPU The CPU untuk sementara menjadi tuan bus dan untuk mentransfer hampir seperti master bus adalah CPU The CPU untuk sementara menjadi tuan bus dan untuk mentransfer hampir seperti master bus adalah CPU The CPU untuk sementara menjadi tuan bus dan untuk mentransfer hampir seperti master bus adalah cpu. Itu tidak menggunakan nomor saluran apa pun karena organisasi bus PCI sedemikian rupa sehingga perangkat keras PCI tahu perangkat mana yang saat ini menjadi master bus dan perangkat mana yang meminta untuk menjadi master bus. Dengan demikian tidak ada alokasi sumber daya saluran DMA untuk bus PCI dan tidak ada sumber daya saluran DMA untuk bus ini. Bus LPC (jumlah pin rendah) seharusnya dikonfigurasi oleh BIOS sehingga pengguna seharusnya tidak perlu menyangkut diri mereka sendiri dengan saluran DMA -nya.
Ini hanya untuk bus LPC dan bus Isa lama. Ketika perangkat ingin melakukan DMA, itu mengeluarkan permintaan DMA menggunakan kabel permintaan DMA khusus seperti permintaan interupsi. DMA sebenarnya bisa ditangani dengan menggunakan interupsi tetapi ini akan memperkenalkan beberapa penundaan sehingga lebih cepat melakukannya dengan memiliki jenis interupsi khusus yang dikenal sebagai permintaan DMA. Seperti interupsi, permintaan DMA diberi nomor untuk mengidentifikasi perangkat mana yang membuat permintaan. Nomor ini disebut DMA-Channel. Karena transfer DMA semuanya menggunakan bus utama (dan hanya satu yang dapat berjalan pada satu waktu) mereka semua benar -benar menggunakan saluran yang sama untuk aliran data tetapi nomor “saluran DMA” berfungsi untuk mengidentifikasi siapa yang menggunakan “saluran”. Register perangkat keras ada di motherboard yang menyimpan status saat ini dari setiap “saluran”. Dengan demikian untuk mengeluarkan permintaan DMA, perangkat harus mengetahui nomor saluran DMA-nya yang harus disimpan dalam daftar khusus pada perangkat fisik.
Dengan demikian driver perangkat harus “terpasang” dalam beberapa cara untuk perangkat keras yang mereka kendalikan. Ini dilakukan dengan mengalokasikan sumber daya bus (I/O, Memory, IRQ’s, DMA) untuk kedua perangkat fisik dan membiarkan driver perangkat untuk mengetahuinya. Misalnya, port serial hanya menggunakan 2 sumber daya: IRQ dan alamat I/O. Kedua nilai ini harus dipasok ke driver perangkat dan perangkat fisik. Driver (dan perangkatnya) juga diberi nama di Direktori /Dev (seperti TTYS1). Alamat dan nomor IRQ disimpan oleh perangkat fisik dalam register konfigurasi pada kartunya (atau dalam chip di motherboard). Perangkat keras lama (pada pertengahan 1990 -an) menggunakan sakelar (atau jumper) untuk secara fisik mengatur IRQ dan alamat dalam perangkat keras. Pengaturan ini tetap diperbaiki sampai seseorang menghapus penutup komputer dan memindahkan jumper.
Tetapi untuk kasus PNP (tidak ada jumper), data register konfigurasi biasanya hilang ketika PC ditenagai (dimatikan) sehingga data sumber daya bus harus disuplai ke setiap perangkat lagi setiap kali PC dihidupkan.
Komputer yang ideal
Arsitektur PC hanya menyediakan sejumlah sumber daya: IRQ, saluran DMA, alamat I/O, dan daerah memori IRQ. Jika hanya ada perangkat nomor terbatas dan semuanya menggunakan nilai sumber daya bus standar (seperti alamat I/O yang unik dan nomor IRQ) tidak akan ada masalah pengemudi perangkat yang menempelkan perangkat ke perangkat. Setiap perangkat akan memiliki sumber daya tetap yang tidak akan bertentangan dengan perangkat lain di komputer Anda. Tidak ada dua perangkat yang memiliki alamat yang sama, tidak akan ada konflik IRQ di bus ISA, dll. Setiap pengemudi akan diprogram dengan alamat unik, IRQ, dll. Hard-coded ke dalam program. Hidup akan sederhana.
Cara lain untuk mencegah konflik alamat adalah dengan memiliki nomor slot masing -masing kartu termasuk sebagai bagian dari alamat. Dengan demikian tidak ada konflik alamat antara dua kartu yang berbeda (karena mereka berada di slot yang berbeda). Desain kartu tidak akan memungkinkan konflik alamat antara berbagai fungsi kartu. Ternyata ruang alamat konfigurasi (digunakan untuk penyelidikan dan penugasan sumber daya) sebenarnya melakukan ini. Tapi itu tidak dilakukan untuk alamat I/O atau daerah memori. Berbagi IRQ seperti di bus PCI juga menghindari konflik tetapi dapat menyebabkan masalah lain.
Komputer Nyata
Tapi arsitektur PC memiliki masalah konflik. Peningkatan jumlah perangkat (termasuk beberapa perangkat dari jenis yang sama) cenderung meningkatkan potensi konflik. Pada saat yang sama, pengenalan bus PCI, di mana dua atau lebih perangkat dapat berbagi interupsi yang sama dan pengenalan lebih banyak interupsi, cenderung mengurangi konflik. Hasil keseluruhan, karena pergi ke PCI, telah menjadi pengurangan konflik karena sumber daya yang paling langka adalah IRQ. Namun, bahkan di bus PCI lebih efisien untuk menghindari berbagi IRQ. Dalam beberapa kasus di mana interupsi terjadi secara berurutan dan harus ditindaklanjuti dengan pembagian cepat (seperti audio) dapat menyebabkan degradasi dalam kinerja. Jadi tidak baik untuk menetapkan semua perangkat PCI IRQ yang sama, penugasan harus diseimbangkan. Namun beberapa orang menemukan bahwa semua perangkat PCI mereka berada di IRQ yang sama.
Jadi perangkat perlu memiliki fleksibilitas sehingga dapat diatur ke alamat apa pun, IRQ, dll. diperlukan untuk menghindari konflik dan mencapai keseimbangan. Tetapi beberapa IRQ dan alamat cukup standar seperti yang untuk jam dan keyboard. Ini tidak membutuhkan fleksibilitas seperti itu.
Selain masalah alokasi sumber daya bus yang saling bertentangan, ada masalah membuat kesalahan dalam memberi tahu pengemudi perangkat apa sumber daya bus itu. Ini lebih mungkin terjadi untuk kasus konfigurasi manual kuno di mana jenis pengguna dalam sumber daya yang digunakan ke dalam file konfigurasi yang disimpan di harddrive. Ini sering bekerja dengan baik ketika sumber daya ditetapkan oleh jumper pada kartu (asalkan pengguna tahu bagaimana mereka ditetapkan dan tidak membuat kesalahan dalam mengetik data ini ke file konfigurasi). Tetapi dengan sumber daya yang ditetapkan oleh perangkat lunak PNP, mereka mungkin tidak selalu diatur sama dan ini mungkin berarti masalah untuk konfigurasi manual apa pun di mana pengguna mengetik dalam nilai-nilai sumber bus yang ditetapkan oleh PNP.
Alokasi sumber daya bus, jika dilakukan dengan benar, menetapkan saluran komunikasi yang tidak bertentangan antara perangkat keras fisik dan driver perangkat mereka. Misalnya, jika rentang alamat I/O tertentu (sumber daya) dialokasikan untuk driver perangkat dan sepotong perangkat keras, maka ini telah membentuk saluran komunikasi satu arah di antara mereka. Driver dapat mengirim perintah dan info lainnya ke perangkat. Ini sebenarnya lebih dari komunikasi satu arah karena pengemudi mungkin mendapatkan informasi dari perangkat dengan membaca registernya. Tetapi perangkat tidak dapat memulai komunikasi apa pun dengan cara ini. Untuk memulai komunikasi, perangkat membutuhkan IRQ sehingga dapat mengirim interupsi ke drivernya. Ini menciptakan saluran komunikasi dua arah di mana pengemudi dan perangkat fisik dapat memulai komunikasi.
Istilah plug-and-play (PNP) memiliki berbagai makna. Dalam arti luas itu hanya konfigurasi otomatis di mana seseorang hanya menyumbat perangkat dan mengkonfigurasi dirinya sendiri. Dalam arti yang digunakan dalam howto ini, PNP berarti konfigurasi sumber daya bus PNP (mengaturnya di perangkat fisik) dan membiarkan pengemudi perangkat mengetahuinya tentang hal itu. Untuk kasus Linux, seringkali hanya pengemudi yang menentukan bagaimana BIOS telah menetapkan sumber daya bus dan jika perlu, pengemudi yang memberikan perintah untuk mengubah (mengatur ulang) sumber daya bus. “PNP” sering kali hanya berarti PNP di bus ISA sehingga pesan dari ISAPNP: “Tidak ada perangkat plug and play yang ditemukan” hanya berarti tidak ada perangkat PNP ISA ditemukan. Spesifikasi PCI standar (yang ditemukan sebelum menciptakan istilah “PNP”) memberikan setara dengan PNP untuk bus PCI.
PNP mencocokkan perangkat dengan driver perangkat mereka dan menentukan saluran komunikasi mereka (dengan mengalokasikan sumber daya bus). Ini secara elektronik berkomunikasi dengan register konfigurasi yang terletak di dalam perangkat fisik menggunakan protokol standar. Di bus ISA sebelum plug-and-play, sumber daya bus sebelumnya diatur di perangkat perangkat keras oleh jumper atau sakelar. Kadang-kadang sumber daya bus dapat diatur ke dalam perangkat keras secara elektronik oleh pengemudi (biasanya ditulis hanya untuk MS OS tetapi dalam kasus yang jarang didukung oleh driver Linux). Ini adalah sesuatu seperti PNP tetapi tidak ada protokol standar yang digunakan sehingga tidak benar -benar PNP. Beberapa kartu memiliki pengaturan jumper yang dapat ditimpa oleh perangkat lunak semacam itu. Untuk Linux sebelum PNP, sebagian besar driver perangkat lunak diberi sumber daya bus dengan file konfigurasi (atau sejenisnya) atau dengan menyelidiki perangkat di alamat yang diharapkan untuk tinggal. Tetapi metode ini masih digunakan saat ini untuk memungkinkan Linux menggunakan perangkat keras non-PNP lama. Dan terkadang metode lama ini masih digunakan saat ini pada perangkat keras PNP (setelah mengatakan BIOS telah menetapkan sumber daya untuk perangkat keras dengan metode PNP).
Bus PCI seperti PNP sejak awal, tetapi biasanya tidak disebut PNP atau “plug and play” dengan hasil bahwa PNP sering berarti PNP di bus ISA. Tetapi PNP dalam dokumen ini biasanya berarti PNP pada bus ISA atau PCI.
Begini cara PNP harus bekerja secara teori. Program konfigurasi PNP hipotetis menemukan semua perangkat PNP dan menanyakan masing-masing sumber daya bus yang dibutuhkan. Kemudian memeriksa sumber daya bus apa (IRQ, dll.) Itu harus memberikan. Tentu saja, jika memiliki sumber daya bus cadangan yang digunakan oleh perangkat non-PNP (warisan) (jika diketahui tentang mereka) itu tidak memberikan ini. Maka ia menggunakan beberapa kriteria (tidak ditentukan oleh spesifikasi PNP) untuk memberikan sumber daya bus sehingga tidak ada konflik dan sehingga semua perangkat mendapatkan apa yang mereka butuhkan (jika memungkinkan). Kemudian secara tidak langsung memberi tahu setiap perangkat fisik apa sumber daya bus yang ditugaskan untuk itu dan perangkat mengatur diri mereka sendiri untuk hanya menggunakan sumber daya bus yang ditugaskan. Kemudian driver perangkat entah bagaimana mengetahui sumber daya bus apa yang digunakan perangkat mereka dan dengan demikian dapat berkomunikasi secara efektif dengan perangkat yang mereka kendalikan.
Misalnya, misalkan kartu membutuhkan satu interupsi (nomor IRQ) dan 1 MB memori bersama. Program PNP membaca permintaan ini dari register konfigurasi pada kartu. Kemudian menetapkan kartu IRQ5 dan 1 MB ruang alamat memori, mulai dari alamat 0xe9000000. Program PNP juga membaca informasi mengidentifikasi dari kartu yang memberi tahu jenis perangkat apa itu, nomor ID -nya, dll. Maka secara langsung atau tidak langsung memberi tahu driver perangkat yang sesuai apa yang telah dilakukan. Jika driver itu sendiri yang melakukan PNP, maka tidak perlu menemukan driver untuk perangkat (karena driver sudah berjalan). Kalau tidak, driver perangkat yang sesuai perlu ditemukan dan cepat atau lambat diceritakan bagaimana perangkatnya dikonfigurasi.
Tidak selalu sesederhana ini karena kartu (atau tabel perutean untuk PCI) dapat menentukan bahwa ia hanya dapat menggunakan nomor IRQ tertentu atau bahwa memori 1 Mb harus terletak dalam kisaran alamat tertentu tertentu. Detailnya berbeda untuk bus PCI dan ISA dengan lebih kompleksitas di bus ISA.
Salah satu cara yang biasa digunakan untuk mengalokasikan sumber daya adalah memulai dengan satu perangkat dan mengalokasikannya dengan sumber daya bus. Kemudian lakukan hal yang sama untuk perangkat berikutnya, dll. Maka jika akhirnya semua perangkat mendapatkan sumber daya yang dialokasikan tanpa konflik, maka semuanya baik -baik saja. Tetapi jika mengalokasikan sumber daya yang dibutuhkan akan menciptakan konflik, maka perlu untuk kembali dan mencoba membuat beberapa perubahan dalam alokasi sebelumnya untuk mendapatkan sumber daya bus yang dibutuhkan. Ini disebut penyeimbangan kembali. Linux tidak melakukan penyeimbangan kembali tetapi MS Windows dalam beberapa kasus. Untuk Linux, semua ini dilakukan oleh BIOS dan/atau Kernel dan/atau driver perangkat. Di Linux, driver perangkat tidak mendapatkan alokasi sumber daya akhir sampai pengemudi dimulai, jadi salah satu cara untuk menghindari konflik bukan hanya untuk memulai perangkat apa pun yang dapat menyebabkan konflik. Namun, BIOS sering mengalokasikan sumber daya ke perangkat fisik sebelum Linux bahkan di-boot dan kernel memeriksa perangkat PCI untuk alamat konflik saat boot-time.
Ada beberapa jalan pintas yang dapat digunakan perangkat lunak PNP. Salah satunya adalah melacak bagaimana ia menetapkan sumber daya bus pada konfigurasi terakhir (saat komputer terakhir digunakan) dan menggunakan kembali ini. Bioss melakukan ini seperti halnya ms windows dan ini tetapi linux standar tidak. Tetapi dengan cara itu karena sering menggunakan apa yang telah dilakukan BIOS. Windows menyimpan info ini di “registry” pada hard disk dan PNP/PCI BIOS menyimpannya dalam memori non-volatile di PC Anda (dikenal sebagai ESCD; lihat database ESCD BIOS). Beberapa mengatakan bahwa tidak memiliki registri (seperti Linux) lebih baik karena dengan Windows, registri mungkin rusak dan sulit diedit. Tapi PNP di Linux juga memiliki masalah.
Sedangkan MS Windows (kecuali untuk Windows 3.X dan NT4) adalah PNP, Linux pada awalnya bukan PNP OS tetapi secara bertahap menjadi PNP OS. PNP awalnya bekerja untuk Linux karena PNP BIOS akan mengkonfigurasi sumber daya bus dan driver perangkat akan mengetahuinya (menggunakan program yang disediakan oleh Kernel Linux) apa yang telah dilakukan BIOS. Saat ini, sebagian besar pengemudi dapat mengeluarkan perintah untuk melakukan konfigurasi bus-bus sendiri dan tidak perlu selalu mengandalkan BIOS. Sayangnya seorang pengemudi bisa mengambil sumber daya bus yang akan dibutuhkan perangkat lain nanti. Beberapa driver perangkat dapat menyimpan konfigurasi terakhir yang mereka gunakan dalam file konfigurasi dan menggunakannya saat komputer berikutnya dinyalakan.
Jika perangkat keras perangkat mengingat konfigurasi sebelumnya, maka tidak akan ada perangkat keras untuk konfigurasi PNP pada waktu boot berikutnya. Tapi perangkat keras tampaknya melupakan konfigurasinya saat daya dimatikan. Beberapa perangkat berisi konfigurasi default (tetapi tidak harus yang terakhir digunakan). Dengan demikian perangkat PNP perlu dikonfigurasi ulang setiap kali PC dihidupkan. Juga, jika perangkat baru telah ditambahkan, maka itu juga perlu dikonfigurasi juga. Mengalokasikan sumber daya bus ke perangkat baru ini mungkin melibatkan mengambil beberapa sumber bus dari perangkat yang ada dan menugaskan perangkat alternatif bus yang ada yang dapat digunakan sebagai gantinya. Saat ini, Linux tidak dapat mengalokasikan dengan kecanggihan ini (dan MS Windows XP mungkin juga tidak dapat melakukannya).
Ketika PC pertama kali dihidupkan, chip BIOS menjalankan programnya untuk memulai komputer (langkah pertama adalah memeriksa perangkat keras motherboard). Jika sistem operasi disimpan pada hard-drive (seperti biasanya) maka BIOS harus tahu tentang hard-drive. Jika hard-drive adalah PNP maka BIOS dapat menggunakan metode PNP untuk menemukannya. Juga, untuk mengizinkan pengguna dapat secara manual mengonfigurasi CMO BIOS dan menanggapi pesan kesalahan saat komputer dimulai, layar (kartu video) dan keyboard juga diperlukan. Dengan demikian BIOS harus selalu perangkat konfigurasi PNP yang diperlukan untuk memuat sistem operasi dari hard-drive.
Setelah BIOS mengidentifikasi hard-drive, kartu video, dan keyboard siap untuk mulai boot (memuat sistem operasi ke dalam memori dari hard-disk). Jika Anda telah memberi tahu BIOS bahwa Anda memiliki sistem operasi PNP (OS PNP), itu harus mulai mem -boot PC seperti di atas dan biarkan sistem operasi menyelesaikan konfigurasi PNP. Kalau tidak, PNP-BIOS akan (sebelum booting) kemungkinan mencoba melakukan sisa konfigurasi perangkat PNP (tetapi tidak menginformasikan driver perangkat tentang apa yang dilakukannya). Tetapi pengemudi masih dapat mengetahui hal ini dengan memanfaatkan fungsi yang tersedia di kernel Linux.
Untuk melihat apa yang ada di PCI Bus Type LSPCI atau LSPCI -VV . Atau ketik scanpci -v untuk informasi yang sama dalam format kode numerik di mana perangkat ditampilkan oleh nomor (seperti: “Perangkat 0x122d” alih -alih dengan nama, dll. Dalam kasus yang jarang terjadi, SCANPCI akan menemukan perangkat yang tidak dapat ditemukan LSPCI.
Pesan boot-time pada perangkat tampilan tampilan Anda yang telah ditemukan di berbagai bus (gunakan shift-pageup untuk mencadangkannya). Lihat pesan boot-time
Isa adalah bus lama dari PC yang kompatibel dengan IBM lama sementara PCI adalah bus yang lebih baru dan lebih cepat dari Intel. Bus PCI dirancang untuk apa yang sekarang disebut PNP. Ini membuatnya mudah (dibandingkan dengan bus ISA) untuk mengetahui bagaimana sumber daya bus PNP telah ditugaskan ke perangkat keras.
Untuk bus ISA ada masalah nyata dengan menerapkan PNP karena tidak ada yang memikirkan PNP ketika bus ISA dirancang dan hampir tidak ada alamat I/O yang tersedia untuk digunakan PNP untuk mengirim info konfigurasi ke perangkat fisik. Akibatnya, cara PNP disemir ke bus ISA sangat rumit. Seluruh buku telah ditulis tentang hal itu. Lihat Buku PNP. Antara lain, itu mensyaratkan bahwa setiap perangkat PNP diberi “pegangan” sementara oleh program PNP sehingga seseorang dapat mengatasinya untuk konfigurasi PNP. Menetapkan “pegangan” ini adalah panggilan “isolasi”. Lihat isolasi Isa untuk detail kompleks.
Karena bus Isa menjadi punah, PNP akan sedikit lebih mudah. Maka tidak hanya akan lebih mudah untuk mengetahui bagaimana BIOS telah mengkonfigurasi perangkat keras, tetapi akan ada lebih sedikit konflik karena PCI dapat berbagi interupsi. Masih ada kebutuhan untuk mencocokkan driver perangkat dengan perangkat dan juga kebutuhan untuk mengkonfigurasi perangkat yang ditambahkan saat PC naik dan berjalan. Masalah serius dari beberapa perangkat yang tidak didukung oleh Linux akan tetap ada.
Linux memiliki masalah serius di masa lalu dalam berurusan dengan PNP tetapi sebagian besar masalah itu sekarang telah diselesaikan (pada pertengahan 2004). Linux telah beralih dari sistem non-PNP awalnya, ke sistem yang dapat berupa PNP jika opsi tertentu dipilih saat menyusun kernel. BIOS dapat menetapkan IRQ tetapi Linux juga dapat menetapkan beberapa dari mereka atau bahkan menetapkan kembali apa yang dilakukan BIOS. Bagian konfigurasi ACPI (konfigurasi lanjutan dan antarmuka daya) dirancang untuk memudahkan sistem operasi untuk melakukan konfigurasi mereka sendiri. Linux dapat menggunakan ACPI jika dipilih saat kernel dikompilasi.
Di Linux, itu tradisional untuk setiap driver perangkat untuk melakukan konfigurasi level rendah sendiri. Ini sulit sampai Linux memasok perangkat lunak dalam kernel yang bisa digunakan pengemudi untuk membuatnya lebih mudah. Today (2005) telah mencapai titik di mana driver hanya memanggil fungsi kernel: PCI_ENABLE_DEVICE () dan perangkat dikonfigurasi dengan diaktifkan dan memiliki IRQ (jika diperlukan) dan alamat yang ditugaskan ke perangkat tersebut. Penugasan ini bisa berupa apa yang sebelumnya ditugaskan oleh BIOS atau apa yang sebelumnya dirugikan oleh kernel ketika perangkat PCI atau ISAPNP terdeteksi oleh kernel. Bahkan ada opsi ACPI untuk Linux untuk menetapkan semua perangkat IRQ saat boot-time.
Jadi hari ini, dalam arti tertentu, driver masih melakukan konfigurasi tetapi mereka dapat melakukannya dengan hanya menyuruh Linux untuk melakukannya (dan Linux mungkin tidak perlu melakukan banyak hal karena kadang -kadang dapat menggunakan apa yang telah ditetapkan oleh BIOS atau Linux). Jadi itu benar-benar bagian non-perangkat dari kernel Linux yang melakukan sebagian besar konfigurasi. Dengan demikian, mungkin benar untuk menyebut Linux sistem operasi PNP, setidaknya untuk arsitektur komputer yang umum.
Kemudian ketika driver perangkat menemukan perangkatnya, ia meminta untuk melihat alamat dan IRQ apa yang telah ditetapkan (oleh BIOS dan/atau Linux) dan biasanya hanya menerimanya. Tetapi jika pengemudi ingin melakukannya, ia dapat mencoba mengubah alamat, menggunakan fungsi yang disediakan oleh kernel. Tetapi kernel tidak akan menerima alamat yang bertentangan dengan perangkat lain atau yang tidak dapat didukung perangkat keras. Saat PC dimulai, Anda dapat mencatat pesan di layar yang menunjukkan bahwa beberapa driver perangkat Linux telah menemukan perangkat perangkat keras mereka dan apa rentang IRQ dan alamat.
Dengan demikian, kernel memberikan fungsi driver (kode program) yang dapat digunakan driver untuk mengetahui apakah perangkat mereka ada, bagaimana itu telah dikonfigurasi, dan berfungsi untuk memodifikasi konfigurasi jika diperlukan. Kernel 2.2 bisa melakukan ini hanya untuk bus PCI tetapi kernel 2.4 Memiliki fitur ini untuk bus ISA dan PCI (asalkan opsi PNP dan PCI yang sesuai telah dipilih saat menyusun kernel). Kernel 2.6 keluar dengan pemanfaatan ACPI yang lebih baik. Ini sama sekali tidak menjamin bahwa semua pengemudi akan sepenuhnya dan benar menggunakan fitur -fitur ini. Dan perangkat warisan yang tidak diketahui oleh BIOS, mungkin tidak dikonfigurasi sampai Anda (atau beberapa utilitas konfigurasi) menempatkan alamatnya, IRQ, dll. ke dalam file konfigurasi.
Selain itu, kernel membantu menghindari konflik sumber daya dengan tidak mengizinkan dua perangkat yang diketahui akan menggunakan sumber daya bus yang sama secara bersamaan. Awalnya ini hanya untuk IRQ, dan DMAS tetapi sekarang untuk sumber daya alamat juga.
Jika Anda memiliki bus ISA lama, program ISAPNP harus dijalankan di BootTime untuk menemukan dan mengonfigurasi perangkat PNP di bus ISA. Lihat pesan dengan “DMESG”.
Untuk melihat bantuan apa kernel yang dapat diberikan kepada driver perangkat, lihat direktori /usr /. /. /Dokumentasi di mana salah satu . berisi kata “kernel-doc” atau sejenisnya. PERINGATAN: Dokumentasi di sini cenderung ketinggalan zaman sehingga untuk mendapatkan info terbaru yang Anda perlukan untuk membaca pesan di milis yang dikirim oleh pengembang kernel dan mungkin kode komputer yang mereka tulis termasuk komentar. Di direktori dokumentasi kernel ini lihat PCI.txt (“Cara Menulis Driver Linux PCI”) dan file:/usr/include/linux/pci.H. Kecuali jika Anda seorang guru pengemudi dan mengetahui pemrograman C, file -file ini ditulis dengan sangat lembut sehingga mereka tidak benar -benar memungkinkan Anda untuk menulis driver. Tapi itu akan memberi Anda gambaran tentang fungsi tipe PNP apa yang tersedia untuk digunakan driver.
Untuk kernel 2.4 Lihat ISAPNP.txt. Untuk kernel 2.6, isapnp.txt digantikan oleh pnp.txt yang sama sekali berbeda dari isapnp.txt dan juga berurusan dengan bus PCI. Lihat juga buku O’Reilly: Driver Perangkat Linux, edisi ke -3., 2005. Teks lengkapnya ada di internet.
Tetapi ada sejumlah hal yang dapat ditangani oleh sistem operasi PNP yang nyata:
- Mengalokasikan sumber daya bus ketika mereka kekurangan pasokan dengan realokasi sumber daya jika perlu
- Berurusan dengan memilih driver ketika ada lebih dari satu driver untuk perangkat fisik
Karena masing-masing pengemudi untuk dirinya sendiri, seorang pengemudi dapat mengambil sumber daya bus yang dibutuhkan oleh perangkat lain (tetapi belum dialokasikan untuk mereka oleh kernel). Dengan demikian kernel Linux PNP yang lebih canggih akan lebih baik, di mana kernel melakukan alokasi setelah semua permintaan masuk. Alternatif lain adalah mencoba untuk realokasi sumber daya yang sudah ditetapkan jika suatu perangkat tidak bisa mendapatkan sumber daya yang diminta.
Masalah “kekurangan sumber daya bus” menjadi kurang menjadi masalah karena dua alasan: salah satu alasannya adalah bahwa bus PCI mengganti bus ISA. Di bawah PCI tidak ada kekurangan IRQ karena IRQ dapat dibagikan (meskipun berbagi sedikit kurang efisien). Juga, PCI tidak menggunakan sumber daya DMA (meskipun itu setara dengan DMA tanpa membutuhkan sumber daya seperti itu).
Alasan kedua adalah bahwa lebih banyak ruang alamat tersedia untuk perangkat I/0. Sementara ruang alamat I/O konvensional bus ISA dibatasi hingga 64kb, bus PCI memiliki 4GB. Karena lebih banyak perangkat fisik menggunakan alamat memori utama daripada ruang alamat IO, masih ada lebih banyak ruang yang tersedia, bahkan di bus ISA. Pada PC 32-bit ada 4GB ruang alamat memori utama dan banyak sumber daya bus ini tersedia untuk perangkat IO (kecuali jika Anda memiliki memori utama 4GB yang diinstal).
Informasi umum tentang dukungan untuk perangkat plug & play
Perangkat plug & play dapat digunakan segera, tanpa perlu instalasi. Ini terdeteksi dan dikonfigurasi secara otomatis segera setelah terhubung ke komputer. Driver perangkat yang sesuai diinstal secara otomatis. Pengguna tidak diharuskan membuat input apa pun.
Instalasi otomatis oleh sistem operasi hanya berfungsi, namun, dalam kondisi tertentu, e.G. (Lihat lebih lanjut tentang ini di Windows Help):
- Driver perangkat memiliki baik “Dikembangkan untuk Windows” logo atau tanda tangan digital.
- Driver perangkat sudah ada di komputer.
Jika kondisi ini tidak terpenuhi, sistem operasi meluncurkan wizard perangkat keras. Jika pengguna tidak memiliki hak administrator lokal, ia tidak dapat menyelesaikan instalasi dengan wizard ini.
Dalam situasi ini, DSM ’S Dukungan untuk perangkat Plug & Play memungkinkan perangkat untuk diinstal tanpa pengguna memiliki hak administrator lokal.
- Wan Miniport Driver
- Adaptor Jaringan Virtual
Apakah artikel ini bermanfaat?
Paksa perangkat plug-n-play untuk menggunakan driver tertentu
Peralatan: Mikrofon Presonus Revelator Hasil: Saya ingin menggunakan mikrofon saya lebih jauh melalui ekstensi USB-to-RJ45. Pada dasarnya mengirim USB ke atas kabel Ethernet. Masalah: Saat mikrofon dicolokkan langsung ke laptop itu berfungsi dengan baik. Tetapi ketika saya mencolokkannya di atas extender saya tidak dapat merekam apa pun dan komputer tidak mendaftarkan perangkat sama sekali. Mikrofon menerima daya dan komputer membuat noise “koneksi”, tetapi tidak ada yang lebih dari itu. Pengaturan perangkat: Saya memeriksa manajer perangkat di kedua skenario. Ketika dicolokkan secara langsung, saya melihat “mikrofon (penyerapan)” di “input dan output audio”. Saat terhubung melalui RJ45, saya hanya melihat “penyerang” di bawah “perangkat yang tidak diketahui” serta segitiga peringatan kuning yang menunjukkan bahwa tidak ada pengemudi yang dimuat. Info pengemudi: Saya menggunakan program USBDeview untuk mengumpulkan beberapa informasi mendalam pada perangkat saat dicolokkan menggunakan koneksi yang berbeda. Di bawah ini adalah perbandingan berdampingan.
Dicolokkan secara langsung | Terhubung melalui RJ45 | |
---|---|---|
Nama perangkat | Penyerang | Penyerang |
Keterangan | Perangkat komposit USB | Penyerang |
Tipe perangkat | Tidak dikenal | Spesifik vendor |
Terhubung | Ya | Ya |
Aman untuk mencabut | Ya | TIDAK |
Dengan disabilitas | TIDAK | TIDAK |
HUB USB | TIDAK | TIDAK |
Nomor seri | JM1C20431589 | JM1C20431589 |
Vendorid | 194f | 194f |
ID Produk | 0D01 | 0D01 |
Revisi firmware | 1.02 | 1.02 |
Kelas USB | 0 | ff |
Subkelas USB | 0 | 0 |
Protokol USB | 0 | 0 |
Awalan orang tua | 6 & 1EA95F5F & 0 | 6 & 1EA95F5F & 0 |
Nama layanan | USBCCGP | |
Deskripsi layanan | @USB.inf,%generikparen.SVCDESC%; driver induk generik Microsoft USB | |
Nama file pengemudi | USBCCGP.sys | |
Perangkat MFG | (Pengontrol Host USB Standar) | |
Kekuatan | 200 Ma | 200 Ma |
Versi USB | 2 | 2 |
Deskripsi pengemudi | Perangkat komposit USB | |
Versi Driver | 10.0.19041.1949 | |
Infseksi pengemudi | Gabungan.Dev.Nt | |
Infpath pengemudi | USB.Inf | |
ID instance | USB \ VID_194F & PID_0D01 \ JM1C20431589 | USB \ VID_194F & PID_0D01 \ JM1C20431589 |
Kemampuan | “Dihapus, Unikid, KejajaraneMovalok” | “Dapat Dihapus, Unikid” |
Perbedaan utama adalah bahwa ketika dicolokkan secara langsung, mikrofon dikenali sebagai perangkat komposit (USBDeview juga menunjukkan beberapa perangkat USB lainnya yang dimuat pada saat yang sama). Saat dicolokkan di atas RJ45, tidak dikenali seperti itu dan tidak ada beban driver. Bisakah perangkat lain terhubung?: Saya telah mencoba konektor RJ45 dengan drive USB dan merek mikrofon yang berbeda (Audio-Technica AT2020). Dalam kedua kasus mereka bekerja dengan baik dan memuat driver yang sama. Mikrofon ini sangat menarik karena juga perangkat gabungan namun tidak memiliki masalah. Pertanyaan: Apakah mungkin untuk memaksa komputer saya menggunakan driver yang sama di kedua skenario? Saya telah melakukan beberapa googling tetapi yang dapat saya temukan hanyalah hal -hal yang terkait dengan pengunduhan driver dari situs web perusahaan (tidak ada yang bisa saya temukan). Saya sudah mencoba secara manual memilih file sys dan inf melalui manajer perangkat, tetapi ini sepertinya tidak berhasil. Mungkin saya melakukan langkah ini salah.
Apa itu driver perangkat? Definisi, Jenis, dan Aplikasi
Driver Perangkat adalah program tanpa UI yang mengelola perangkat keras yang terpasang pada komputer dan mendukung fungsinya.
Penulis teknis Chiradeep Basumallick
12 Oktober 2022
Driver perangkat didefinisikan sebagai program perangkat lunak tanpa antarmuka pengguna (UI) yang mengelola komponen perangkat keras atau periferal yang terpasang pada komputer dan memungkinkan mereka untuk berfungsi dengan komputer dengan lancar. Artikel ini menjelaskan pekerjaan driver perangkat, berbagai jenisnya, dan lima aplikasi penting.
Daftar isi
-
- Apa itu driver perangkat?
- 9 jenis driver perangkat
- Aplikasi driver perangkat
Apa itu driver perangkat?
Driver Perangkat adalah program perangkat lunak tanpa antarmuka pengguna (UI) yang mengelola komponen perangkat keras atau periferal yang terpasang pada komputer dan memungkinkannya berfungsi dengan komputer dengan lancar.
Driver Perangkat adalah perangkat lunak khusus yang mengoperasikan perangkat yang terhubung dengan komputer tertentu-menawarkan antarmuka perangkat lunak ke perangkat keras memungkinkan sistem operasi dan aplikasi komputer lainnya untuk mengakses fungsionalitas perangkat keras.
Perangkat keras ditautkan ke subsistem bus/komunikasi komputer di mana driver perangkat berinteraksi dengan perangkat. Mereka bergantung pada perangkat keras dan spesifik (OS)-Sistem Operasi. Mereka menawarkan pemrosesan interupsi yang penting untuk setiap antarmuka perangkat keras asinkron yang bergantung pada waktu.
Driver perangkat’S Tujuan utama adalah untuk memungkinkan komputer dan komponen perangkat keras jaringan untuk berinteraksi dan berinteraksi dengan perangkat tertentu. Mereka menangani permintaan yang dibuat oleh kernel tentang jenis perangkat tertentu. Driver perangkat menentukan pesan dan mekanisme yang melaluinya komputer’Sistem dan aplikasi operasi S dapat mengakses perangkat atau membuat permintaan untuk perangkat. Mereka juga menangani respons perangkat dan pesan untuk pengiriman ke komputer.
Bagaimana fungsi driver perangkat
Driver perangkat beroperasi di dalam lapisan kernel OS. Mereka bekerja di lingkungan yang sangat istimewa karena mereka membutuhkan akses tingkat rendah ke operasi perangkat keras untuk berfungsi. Mereka mengaktifkan komputer’S Sistem Operasi (OS) untuk berinteraksi dengan perangkat keras yang dikembangkan. Dan melalui bus komputer yang menautkan perangkat ke komputer, driver dan perangkat berkomunikasi.
Driver perangkat harus menerima saran dari sistem operasi untuk mengakses dan menjalankan instruksi perangkat. Setelah menyelesaikan pekerjaan, mereka mengirimkan perangkat perangkat keras’output atau pesan ke sistem operasi. Perangkat seperti modem, router, speaker, keyboard, dan printer memerlukan driver perangkat untuk beroperasi.
Memahami Pengembangan Driver Perangkat
Driver perangkat mengaktifkan perangkat periferal, seperti printer atau keyboard, untuk berinteraksi dengan komputer. Berikut ini menguraikan langkah -langkah yang dapat diambil pengembang atau pemrogram saat mengembangkan driver perangkat untuk sistem operasi seperti Windows, Linux, atau MacOS.
1. Tahu peralatannya
Saat merancang driver perangkat, pemrogram harus memiliki pemahaman yang mendalam tentang platform’perangkat keras. Mereka harus mengetahui antarmuka bus yang digunakan perangkat keras untuk berkomunikasi dengan host dan lokasi perangkat lunak driver perangkat. Mereka harus membaca lembar data perangkat untuk memahami istilah dan definisi yang relevan. Mereka juga harus mengetahui metode melalui mana transfer data terjadi.
Jika perangkat primer adalah sistem pada chip, pengembang harus tahu bagaimana driver berinteraksi dengan firmware dan protokol perintahnya. Selain itu, pengembang harus siap untuk dokumentasi gagal saat menangani jenis perangkat keras baru. Dengan demikian, mereka harus siap melakukan lebih banyak tes dari biasanya.
2. Tulis kode driver
Pada langkah ini, pengembang harus mendapatkan prototipe yang berfungsi dari perangkat keras pilihan mereka. Maka mereka harus mulai menulis driver mode kernel.
Jika perangkat dirancang secara tidak benar, driver yang berjalan dalam mode pengguna dapat menyebabkan kerusakan sistem. Demikian pula, jika ada yang salah ketika pengemudi beroperasi dalam pengaturan yang sangat istimewa, masalah operasional mungkin terjadi. Dengan demikian, pengembang harus memanfaatkan informasi dalam dokumentasi pengembangan driver yang tersedia untuk sistem operasi yang dipilih, baik itu Windows atau Linux.
Fungsi driver perangkat pertama yang dikembangkan adalah fungsi beban dan bongkar. Saat sistem operasi dimulai dan berhenti, fungsi -fungsi ini disebut. Salah satu tanggung jawab utama fungsi beban/bongkar adalah mendeteksi apakah perangkat keras dicolokkan ke dalam sistem atau tidak. Pengguna dapat mendeteksi perangkat keras dengan menggunakan ID perangkat yang ditentukan oleh bus tertentu. Jika perangkat keras dicolokkan, maka fungsi beban berhasil. Jika tidak, hubungi fungsi Upload.
3. Inisialisasi perangkat keras
Setelah perangkat dapat mendeteksi perangkat keras, langkah selanjutnya adalah menginisialisasi. Jenis inisialisasi yang diperlukan mungkin berbeda tergantung pada jenis perangkat keras. Inisialisasi dapat berkisar dari menulis hingga register perangkat hingga mengunduh mikrokode ke perangkat dan berkomunikasi dalam jangka panjang menggunakan protokol perintah berpemilik.
4. Kontrol perangkat keras
Mengontrol perangkat keras hanya mungkin jika pengembang dapat menginisialisasi dan berkomunikasi dengan perangkat keras. Proses kontrol tergantung pada perangkat. Pengembang harus mempertimbangkan apakah perangkat hanya akan menyampaikan data dari satu perangkat ke perangkat lainnya.
Misalnya, saat menyampaikan musik dari smartphone ke speaker. Mereka juga harus mempertimbangkan apakah perangkat akan terus mengirim data dan instruksi ke perangkat lain. Misalnya, memberi tahu printer untuk mencetak hitam dan putih di satu sisi kertas diikuti dengan cetakan dua sisi dalam warna.
Driver perangkat menyalakan pengaturan data seperti kecepatan bermain dan input maju cepat melalui komputer ke dalam perintah untuk perangkat. Berbeda dengan tiga langkah sebelumnya, yang satu ini mungkin membutuhkan lebih banyak waktu. Tiga langkah pertama mungkin merupakan operasi satu kali saat OS memuat. Namun, pengembang mungkin perlu melakukan langkah 4 beberapa kali setelah OS diatur dan berjalan. Pengguna terkadang mungkin menggabungkan langkah ke -3 dan ke -4 menjadi satu langkah.
5. Mulailah komunikasi data dengan perangkat keras
Beberapa perangkat berurusan dengan beberapa bentuk data, baik itu audio atau video. Setelah perangkat diinisialisasi, pengembang dapat mengirim aliran data yang stabil sesuai kebutuhan. Driver perangkat bertindak sebagai pipa antara aplikasi tingkat lebih tinggi dan perangkat keras atau firmware tingkat rendah untuk transfer data.
Seperti dicatat pada langkah pertama, pengembang harus mengetahui protokol yang dirancang untuk komunikasi data. Transfer data mungkin digerakkan atau disurvei. OS menyediakan fasilitas seperti pesan atau interupsi rutinitas layanan yang digunakan selama proses transfer data. Pengembang harus mulai dengan mentransfer satu paket data dan memastikan bahwa seluruh proses dari Langkah 1 hingga 3 berfungsi dengan baik.
6. Kontrol Komunikasi Data
Pada langkah ini, pengembang perlu mengontrol transfer data dan mengelola komunikasi dalam beberapa situasi. Saat masalah muncul, pengguna harus mencegah perangkat periferal mengirim pesan kesalahan yang sama. Dalam aliran audio, ketika ada buffer overflow atau masalah yang signifikan dengan kualitas suara, mereka harus mengirim perintah berhenti.
7. Uji pengemudi dan debug
Pengujian adalah aspek penting. Pengembang harus menguji perangkat untuk memastikannya dikenali dan diinisialisasi. Mereka juga harus menjalankan tes fungsional untuk memastikan driver perangkat bekerja seperti yang diharapkan. Mereka juga harus siap untuk membuat perubahan pada perangkat keras untuk memastikan pengoperasian yang lancar. Selain itu, pengembang harus menguji driver perangkat pada versi sistem operasi yang berbeda untuk memverifikasi bahwa mereka maju dan mundur. Setelah driver perangkat berfungsi, pengembang dapat mendaftarkannya.
9 jenis driver perangkat
Pengembang dapat membedakan jenis driver perangkat berikut:
1. Driver perangkat kernel
Driver perangkat kernel terdiri dari beberapa perangkat keras generik yang dimuat dengan sistem operasi (OS) sebagai bagian dari OS. Mereka termasuk motherboard, prosesor, dan bios. Mereka dipanggil dan dimuat ke dalam memori akses acak (RAM) saat diperlukan. Ketika beberapa dari mereka beroperasi pada saat yang sama, mesin dapat melambat. Dengan demikian, ada persyaratan minimum untuk setiap OS.
Driver perangkat kernel dilapisi. Driver tingkat yang lebih tinggi, seperti driver sistem file, menerima data dari aplikasi, memfilternya, dan meneruskannya ke driver tingkat rendah, mendukung fungsionalitas drive. Driver perangkat kernel diimplementasikan sebagai komponen diskrit dan modular yang memiliki serangkaian fungsionalitas yang diperlukan dengan baik.
2. Driver perangkat mode pengguna
Driver perangkat mode pengguna dijalankan dalam mode pengguna. Mereka merujuk pada driver perangkat yang mungkin dipicu pengguna selama sesi. Saat menggunakan sistem, pengguna mungkin memiliki perangkat eksternal sendiri yang mereka gunakan untuk digunakan, seperti perangkat plug-and-play eksternal. Perangkat ini juga membutuhkan driver untuk berfungsi. Di Windows Systems, driver perangkat mode pengguna menyediakan antarmuka antara aplikasi Win32 dan driver mode kernel atau sistem operasi lainnya. Pengguna dapat menulis driver ini ke disk untuk mengurangi ketegangan pada sumber daya komputer.
3. Driver karakter
Driver perangkat karakter menyediakan akses yang tidak terstruktur ke perangkat keras. Mereka mentransfer data ke dan dari perangkat tanpa menggunakan alamat perangkat tertentu. Mereka mengizinkan membaca atau menulis satu byte sekaligus sebagai aliran data berurutan. Driver karakter tidak menangani input/output (I/O) melalui cache buffer, jadi mereka lebih fleksibel dalam menangani I/O. Mereka dipasangkan dengan perangkat blok untuk menghindari cache buffer untuk menawarkan operasi I/O mentah langsung ke ruang alamat program pengguna.
Selain itu, mereka menyediakan antarmuka tambahan seperti perintah kontrol I/O, pemungutan suara perangkat, dan pemetaan memori. Contohnya adalah modem dan pengontrol bus.
4. Pemblokir pengemudi
Blokir driver perangkat menyediakan akses terstruktur ke perangkat keras. Mereka menggunakan buffer ukuran blok sistem file dari cache buffer yang disediakan oleh kernel untuk melakukan I/O. Cache buffer adalah kumpulan memori yang ditetapkan oleh kernel untuk menyimpan blok yang sering diakses melalui perangkat blok. Cache buffer mengurangi jumlah kueri I/O yang membutuhkan operasi I/O dari perangkat.
Selain itu, driver perangkat blok menyediakan I/O berorientasi blok yang dapat diakses dan menunjukkan daya tahan data. Mereka mengambil permintaan sistem file dan mengeluarkan prosedur I/O ke disk untuk mentransfer blok yang diminta. Contohnya adalah kunci memori USB dan drive disk.
5. Pengemudi Produsen Peralatan Asli (OEM)
Driver perangkat dapat dikategorikan sebagai generik atau terkait OEM. Driver generik merujuk ke driver perangkat dengan perangkat lunak operasi mereka dibundel ke dalam perangkat keras OEM. Seseorang dapat menggunakan driver generik dengan merek berbeda dari jenis perangkat tertentu. Misalnya, Linux bekerja dengan beberapa driver generik yang berfungsi tanpa perlu menginstal perangkat lunak lain secara manual.
OEM dapat membuat driver perangkat miliknya, yang perlu diinstal secara terpisah setelah menginstal OS. Driver OEM Mengaktifkan perangkat keras seperti keyboard untuk berkomunikasi dengan OS host. Misalnya, driver OEM memungkinkan fungsi seperti mengintegrasikan sistem kontrol pencahayaan dengan perangkat keras OEM di Google Assistant dan Alexa.
6. Driver perangkat virtual
Driver perangkat virtual sangat penting dalam mengendalikan mesin atau VM virtual . Mereka beroperasi di lingkungan virtualisasi dan non-virtualisasi. Di lingkungan virtualisasi, driver ini digunakan untuk meniru perangkat keras perangkat host. Mereka mengontrol atau mengelola perangkat keras sumber daya perangkat host untuk memastikan bahwa perangkat tamu dan host berjalan seperti yang diharapkan.
Misalnya, ketika sistem operasi tamu bekerja pada host, itu membuat panggilan fungsi ke driver perangkat virtual untuk mengakses perangkat keras. Selain itu, mereka meniru kejadian tingkat prosesor seperti interupsi dan mengirimkannya ke mesin virtual.
7. Bios
Sistem output input dasar (BIOS) adalah driver paling mendasar di komputer. Terletak di chip Read-only Memory (ROM), yang memastikan bahwa BIOS akan tersedia bahkan ketika hard disk diformat. Bertanggung jawab untuk mem -boot komputer dan menyediakannya dengan satu set instruksi selama proses ini. Ini juga melakukan tes mandiri (pos) yang diperlukan selama startup. BIOS juga menyediakan driver untuk perangkat keras dasar, seperti keyboard dan monitor, untuk memastikan bahwa mereka berinteraksi dengan sistem operasi untuk berfungsi seperti yang dimaksudkan.
8. Pengemudi motherboard
Driver motherboard adalah aplikasi sederhana yang dapat digunakan oleh Windows dan Linux. Mereka ada di dalam sistem operasi dan memungkinkan operasi komputer mendasar. Driver ini terdiri dari aplikasi yang memungkinkan keyboard dan mouse’perangkat USB dan port I/O untuk bekerja. Beberapa motherboard memiliki driver yang mendukung video dan audio.
Driver motherboard spesifik untuk model chipset, seperti B460 untuk komputer intel. Untuk mewujudkan motherboard’S Potensi penuh dan mengaktifkan komponen yang terhubung dengannya agar berfungsi dengan benar, pengguna mungkin perlu menginstal driver tambahan.
9. Driver open-source
Driver open-source merujuk pada pengemudi yang dirilis di bawah lisensi gratis dan open-source. Misalnya, driver grafik open-source mengontrol output ke tampilan jika tampilan adalah bagian dari perangkat keras grafis. Kode sumber untuk driver sumber terbuka tersedia untuk semua orang, membuat kolaborasi perangkat lunak lebih mudah. Mereka lebih dapat dipercaya karena orang dapat memeriksanya untuk kode jahat apa pun.
Driver open-source menawarkan lebih banyak privasi. Jika mereka melacak pengguna, orang dapat mendistribusikan kembali salinan perangkat lunak dengan pelacakan yang dihapus. Driver open-source bertahan lebih lama karena lebih banyak orang terus melakukan perbaikan, sehingga memastikan bahwa bahkan ketika perusahaan berhenti mendistribusikannya, salinan tetap ada.
Aplikasi driver perangkat
Blok bangunan penting dari komputasi pribadi dan perusahaan ini digunakan dengan cara berikut:
1. Driver perangkat untuk mengakses sistem penyimpanan
Sistem penyimpanan komputer memungkinkan pengguna untuk menyimpan data dan membuatnya tersedia sesuai permintaan. Mereka termasuk perangkat eksternal dan internal seperti USB flash drive, hard drive, dan penyimpanan yang dilampirkan jaringan. Driver dalam sistem penyimpanan memungkinkan mereka untuk berinteraksi dengan komputer. Ini memastikan bahwa komputer dapat mengakses sistem penyimpanan internal atau eksternal, meminta informasi mereka, dan memungkinkan transfer data.
Menghubungkan perangkat penyimpanan ke komputer tanpa driver menjadi sulit karena OS tidak mendeteksinya. Biasanya, hard disk dan CD-ROM dikenali oleh OS dan tidak mengharuskan pengemudi untuk dipasang secara manual. Pengguna harus menginstal driver dari produsen’S situs web jika tidak terdeteksi secara otomatis.
2. Driver perangkat untuk perangkat input dan output
Komputer’S OS berinteraksi dengan driver perangkat untuk memastikan fungsi perangkat kerasnya seperti yang diharapkan. Perangkat input termasuk tikus dan keyboard, sedangkan perangkat output termasuk perangkat tampilan seperti monitor. Keyboard, tikus, dan monitor dikategorikan sebagai perangkat plug-and-play.
Biasanya, driver untuk perangkat plug-and-play bersifat generik dan tidak memerlukan instalasi manual, seperti komputer’S os mengenalinya dan menginstalnya secara otomatis. Namun, jika perangkat eksternal bukan perangkat plug-and-play, pengguna mungkin perlu menginstal driver secara manual dari disk instalasi atau mengunduhnya. Ini akan memungkinkan OS untuk mengenali perangkat ini.
3. Driver perangkat untuk kamera digital
Driver kamera digital adalah program yang memungkinkan komunikasi antara itu dan perangkat lain, seperti komputer. Tanpa driver, OS tidak akan mendeteksi perangkat ini. Sebagian besar kamera digital hanya kompatibel dengan OS Windows, karena sistem Linux lag.
Driver kamera digital memungkinkan transfer foto dari kamera ke komputer. Mereka memungkinkan kamera digital untuk mencetak foto menggunakan standar pictbridge langsung ke printer komputer yang mampu pictbridge tanpa memerlukan komputer. Driver di port output video memungkinkan pengguna untuk menampilkan gambar di televisi dengan memilih satu video atau foto sekaligus.
4. Driver untuk sistem operasi seluler seperti Android
Ponsel memiliki driver untuk memungkinkan mereka berkomunikasi dengan komputer. Driver datang dibundel dengan firmware di sebagian besar ponsel, yang memungkinkan komputer memuatnya untuk mendukung perangkat keras karena OS tidak ditentukan. Namun, kadang -kadang pengguna mungkin perlu menginstal perangkat lunak PC OEM terlebih dahulu agar driver diinstal dan memungkinkan transfer data.
Driver memungkinkan integrasi perangkat perifer seperti pengontrol game atau keyboard berdasarkan sistem operasi seperti hal -hal Android dan Android. Driver memungkinkan akses dan kontrol perangkat keras. Selain itu, mereka memungkinkan perangkat pintar untuk bekerja dengan aplikasi khusus.
5. Driver perangkat untuk kinerja video yang unggul
Kartu grafis adalah komponen inti dari sistem komputer dan bertanggung jawab atas kinerja video yang unggul di komputer, game, atau tugas intensif grafik lainnya. Driver grafis memungkinkan kartu grafis berinteraksi dengan komputer’S sistem operasi dan dengan demikian penting untuk mendapatkan kinerja terbaik dari kartu grafis.
Memperbarui driver grafis dan driver Windows 11 (atau lebih lama) lainnya dapat memberi pengguna peningkatan kecepatan, memperbaiki masalah, dan kadang -kadang bahkan memberi pengguna fitur baru. Misalnya, memperbarui driver game dapat meningkatkan frame per detik, mengurangi lag.
Membawa pergi
Karena konsumen dan bisnis semakin menggunakan perangkat dan periferal, pengemudi perangkat sangat penting untuk infrastruktur TI . Teknologi driver modern dapat meningkatkan fungsi komputer dengan mengurangi konsumsi sumber daya dan kecepatan meningkatkan. Itulah mengapa perlu mengetahui bagaimana pengemudi beroperasi dan memiliki jadwal penambalan dan pembaruan driver reguler sehingga seluruh ekosistem perangkat bekerja dengan lancar.
Apakah Anda menemukan artikel ini bermanfaat saat belajar tentang driver perangkat? Beri tahu kami Facebook Membuka Jendela Baru , Twitter Membuka Jendela Baru , Dan LinkedIn Membuka Jendela Baru . Kami’D senang mendengar dari Anda!
Lebih banyak tentang DevOps
- Top 10 Azure DevOps Sertifikasi pada tahun 2022
- Apa itu siklus hidup DevOps? Definisi, komponen utama, dan praktik terbaik manajemen
- Top 10 Scrum Master Certifications di 2022
- Top 18 Azure DevOps Wawancara Pertanyaan pada tahun 2022
- 10 sertifikasi dan kursus DevOps teratas pada tahun 2022