Apakah driver bagian dari sistem operasi?

14

Saya mengalami kesulitan dalam memahami apa yang termasuk dalam OS dan apa yang tidak. Apakah driver perangkat seperti driver printer atau driver grafis bagian dari OS? Berpikir tentang definisi OS saya percaya bahwa driver adalah bagian dari OS.

semut Api
sumber
6
Iya dan tidak. Mereka adalah bagian dari OS di mana mereka beroperasi pada tingkat rendah dan memiliki akses ke antarmuka internal. Dan banyak yang sangat penting untuk pengoperasian OS. Tetapi mereka umumnya terpisah "plug-diganti", dan sering dibangun oleh perusahaan yang berbeda dari OS. Tergantung pada definisi Anda tentang "OS", dan tidak ada satu pun perusahaan.
Daniel R Hicks
Silakan tentukan "termasuk". Dijamin ada di DVD Windows untuk instalasi di drive baru? Atau secara konseptual bagian dari OS?
serbuk kayu

Jawaban:

12

Ya, driver adalah bagian dari OS. Mereka menjalankan dengan tingkat hak istimewa yang sama dengan kernel OS, dan untuk menulis driver Anda harus tahu banyak tentang OS internal. Peran driver adalah menyediakan abstraksi perangkat keras sehingga aplikasi dapat menggunakannya melalui OS API (antarmuka pemrograman aplikasi) alih-alih harus mengetahui detail spesifiknya. Dalam banyak kasus juga memungkinkan untuk berbagi perangkat keras yang sama di antara banyak aplikasi secara bersamaan.

Sesuatu yang menyesatkan pengguna ke driver berpikir mungkin bukan bagian dari OS adalah bahwa banyak vendor menyediakan driver untuk perangkat keras yang mereka buat secara terpisah dari OS. Memang, banyak driver disajikan sebagai modul yang dapat dimuat yang dapat dimuat dan kemudian mengambil bagian dalam OS secara dinamis. Setelah mereka tidak digunakan lagi mereka dapat "terputus" dari OS dan terus berjalan secara normal.

Dapat dimuat atau tidak, driver selalu spesifik untuk perangkat yang harusnya disediakan untuk sistem, jadi walaupun terkadang merupakan bagian "opsional" dari OS, mereka mengambil bagian di dalamnya saat beroperasi.

Claudio
sumber
1
Saya tidak setuju (tetapi akan menunda pemungutan suara), hanya karena cara Anda menyatakannya, driver TIDAK selalu disertakan atau digunakan. Sistem operasi adalah kernel. Titik. Windows Explorer bukan bagian dari sistem operasi, meskipun ia datang dengannya. Kernel adalah bagian pemrosesan yang sebenarnya, jadi saya akan mempertimbangkan OS. Barang-barang lain yang dimasukkan bukan bagian dari OS
Kanada Luke
Selain itu, Anda dapat menjalankan driver di level pengguna, jadi Anda tidak harus menjalankannya di level kernel, walaupun kebanyakan adalah driver.
Matt
Aku bisa mengerti maksudmu Luke. Ada banyak perangkat opsional yang tidak diperlukan untuk sistem untuk beroperasi, jadi saya bisa setuju driver mereka bukan bagian dari OS dalam pengertian ini . Seperti yang dikatakan @Matt, beberapa driver bahkan dapat menjadi driver mode pengguna (banyak driver printer), tetapi poin saya adalah mayoritas driver, khususnya driver struktural (video, pengontrol disk, dll) adalah driver mode kernel, dan karena itu adalah atau menjadi bagian nyata dari kernel yang berjalan saat dimuat. Karena kernel tidak dapat melakukan sesuatu yang berguna sendirian, saya pikir cukup adil untuk mengatakan driver adalah (atau menjadi) bagian dari sistem operasi.
Claudio
1
Ini benar-benar pertanyaan ya / tidak. Meskipun secara teknis driver tidak disertakan dengan OS, Anda memerlukannya untuk komunikasi dengan perangkat yang berbeda. Misalnya, video. Anda akan membuat permintaan ke kernel, kemudian kernel akan meneruskan permintaan ke driver display dan kemudian informasi kembali sehingga Anda benar-benar dapat melihat sesuatu.
Matt
3
@ Lukas - Rupanya Anda mengakui bahwa kernel adalah bagian dari OS, jika bukan seluruh OS. Pernahkah Anda melihat kode sumber untuk OS atau kernel? Kecuali Anda bekerja untuk MS atau menandatangani NDA kami tidak akan pernah melihat kode kernel Windows. Tetapi kernel Linux adalah open source, dan semua driver (non-proprietary) Linux adalah bagian dari kode sumber kernel. Kode sumber kernel Linux tidak dipisahkan menjadi bagian kernel dan bagian driver; source tree berisi modul inti dan driver secara bersamaan. Saya berharap MS menangani kode sumber mereka untuk Windows dengan cara yang sama.
serbuk kayu
5

Istilah "OS" dapat berarti banyak hal.

Sementara di sebagian besar sistem operasi, kernel adalah bagian dari kode yang mengatur dan "menjalankan" segalanya, dan menengahi akses ke perangkat keras, biasanya tidak dapat melakukan sesuatu yang menarik dengan sendirinya - tugasnya adalah menyediakan kerangka kerja untuk menjalankan aplikasi " di atas "jika itu. Begitu banyak definisi orang tentang OS termasuk utilitas, shell, dan program yang membentuk lingkungan standar yang akrab.

Driver bergantung pada kernel, dan mungkin paling benar untuk mengatakan mereka "memperpanjang" itu, seperti plugin. Linux mendukung gagasan "modul kernel yang dapat dimuat" - dan semua driver perangkat dapat menjadi modul kernel yang dapat dimuat. Dimungkinkan juga untuk membangun kernel di mana satu atau lebih dari modul-modul ini "built-in" dan tidak terpisah dari kernel. Jadi Anda benar-benar dapat membangun kernel "tanpa modul" di Linux, dan tidak akan dapat mendukung perangkat keras apa pun selain modul yang Anda buat di dalamnya.

Saya kurang terbiasa dengan nyali Windows, tapi saya percaya kecuali untuk sedikit "miniport" driver semua driver adalah file eksternal yang dimuat saat boot. Jika Anda menggali sedikit untuk membuat layanan di Windows, tampaknya driver benar-benar hanya bentuk layanan khusus di bawah Windows. Beberapa program menginstal driver untuk mengakses perangkat keras pada level rendah, tetapi tidak harus menggerakkan perangkat, ini biasanya driver "Non-plug and play" di bawah Device Manager. Karenanya, tampaknya driver juga menjalankan fungsi yang sama secara konseptual dengan modul kernel yang dapat dimuat di Linux.

Saya akan dengan sederhana mengatakan mereka adalah bagian dari OS, karena mereka benar-benar tidak dapat digunakan tanpa OS, dan tidak berguna kecuali OS di-boot, tetapi garis yang ditarik agak sewenang-wenang dalam hal apa pun.

LawrenceC
sumber
1

Tidak ada driver yang bukan bagian dari OS. Anda dapat mengatakan bahwa driver membantu OS untuk berkomunikasi dengan perangkat atau perangkat keras. OS tidak mengandung semua driver secara default seperti di windows xp dan vista tetapi di windows 7 sebagian besar driver yang diperlukan disertakan, jadi Anda tidak bingung mereka bukan bagian dari OS.

Deb
sumber
Fakta yang Anda katakan drviers bukan bagian dari sistem operasi membuktikan Anda tidak tahu apa yang Anda lakukan. Windows XP mencakup banyak driver yang sama dengan Windows Vista dan Windows 7. Microsoft menghabiskan banyak upaya untuk memasukkan bahkan lebih banyak driver generik untuk perangkat untuk rilis tersebut.
Ramhound
Iya. tanpa driver kita tidak dapat menggunakan perangkat apa pun. Jadi kita dapat mengatakan bahwa driver membantu OS untuk berkomunikasi dengan perangkat dan tentang pertanyaan saya akan mengatakan bahwa beberapa adalah bagian dari OS dan ada yang tidak. Ada banyak driver yang tidak dilengkapi dengan OS.
Deb
Secara teknis, bahkan ketika driver tidak datang dengan OS itu adalah bagian dari OS ketika Anda menginstal dan menggunakannya. Buktinya adalah bahwa driver yang ditulis dengan buruk dapat mengunci seluruh sistem Anda karena itu bukan aplikasi biasa yang dapat dibunuh oleh OS, tetapi bagian dari dirinya sendiri.
Claudio