Чи є драйвери частиною операційних систем?


15

У мене виникають труднощі в розумінні того, що входить в ОС, а що ні. Чи є драйвер пристрою, наприклад драйвер принтера або графічний драйвер, частиною ОС? Думаючи про визначення ОС, я вважаю, що драйвери є частиною ОС.


6
Так і ні. Вони є частиною ОС, оскільки вони працюють на низькому рівні та мають доступ до внутрішніх інтерфейсів. І багато хто критично ставиться до роботи ОС. Але вони, як правило, окремі деталі, що змінюються «підключенням», і часто побудовані іншою компанією від ОС. Залежить від вашого визначення поняття "ОС", і немає жодної твердої.
Даніель Р Хікс

Будь ласка, визначте "включено". Гарантовано, що ви знайдете DVD-диск Windows для встановлення на новий диск? Або концептуально частина ОС?
тирса

Відповіді:


13

Так, драйвери є частиною ОС. Вони працюють з тим же рівнем привілеїв, що і ядро ​​ОС, і щоб написати драйвер, ви повинні добре знати про внутрішні системи ОС. Роль драйверів полягає у наданні абстракції обладнання, щоб додатки могли використовувати його через API OS (інтерфейс програмування прикладних програм), а не знати конкретні деталі про нього. У багатьох випадках це також дозволяє одночасно використовувати один і той же апарат між багатьма програмами.

Щось, що вводить користувачів в оману драйверів, можливо, не є частиною ОС, це те, що багато виробників постачають драйвери для обладнання, яке вони виробляють окремо від ОС. Дійсно, багато драйверів представлені як завантажувані модулі, які можна завантажувати, а потім динамічно брати участь в ОС. Після того, як вони більше не використовуються, їх можна буде відключити від ОС, і вона продовжує працювати нормально.

Завантажувані або ні, драйвери завжди характерні для пристроїв, які вони повинні робити доступними для системи, тому, хоча вони іноді є "необов'язковими" частинами ОС, вони беруть участь у ній під час роботи.


1
Я не погоджуюсь (але буду відмовлятись від голосування), просто через те, як ви це заявили, драйвери НЕ завжди включаються та не використовуються. Операційна система - це ядро. Період. Провідник Windows не входить в операційну систему, хоча і поставляється з ним. Ядро є фактичною частиною обробки, тому я вважаю, що ОС. Інші елементи, які потрапляють, не входять в ОС
канадський Люк

Також ви можете запускати драйвери на рівні користувача, тому не потрібно запускати їх на рівні ядра, хоча більшість є.
Метт

Я бачу вашу точку Луки. Є багато додаткових пристроїв, які не потрібні системі для роботи, тому я можу погодитися, що їхні драйвери не є частиною ОС у цьому сенсі . Як сказав @Matt, деякі драйвери можуть бути навіть драйверами режиму користувача (багато драйверів принтерів є), але я вважаю, що більшість драйверів, спеціально структурні (відео, дискові контролери тощо), є драйверами режиму ядра, і як такі є або стати реальною частиною запущеного ядра при завантаженні. Оскільки ядро ​​не може зробити нічого корисного самостійно, я думаю, що досить справедливо сказати, що драйвери (або стали) частиною операційної системи.
Клаудіо

1
Це справді так / ні питання. Хоча технічні драйвери не входять до ОС, вони знадобляться для спілкування з різними пристроями. Наприклад, відео. Ви зробите запит до ядра, потім ядро ​​направить запит на драйвер дисплея, а потім інформацію назад, щоб ви насправді могли щось побачити.
Метт

3
@Luke - Мабуть, ви визнаєте, що ядро є частиною ОС, якщо не всією ОС. Ви коли-небудь бачили вихідний код для ОС або ядра? Якщо ви не працюєте для MS та не підписуєте NDA, ми ніколи не побачимо код ядра Windows. Але ядро ​​Linux є відкритим кодом, і всі (невласні) драйвери Linux є частиною вихідного коду ядра. Вихідний код ядра Linux не розділений на частину ядра та частину драйвера; вихідне дерево містить основні та драйверні модулі разом. Я б очікував, що MS буде обробляти свій вихідний код для Windows аналогічним чином.
тирса

5

Термін "ОС" може означати багато речей.

Хоча в більшості операційних систем ядро ​​- це фрагмент коду, який керує та "працює" всім, і аргументує доступ до апаратних засобів, він зазвичай не може зробити нічого цікавого самостійно - його завдання - створити основу для запуску програм " вгорі ", якщо це. Так багато людей визначають ОС, включаючи утиліти, оболонки та програми, що складають звичне, стандартизоване середовище.

Драйвери залежать від ядра, і, мабуть, найправильніше сказати, що вони "розширюють" його, як плагіни. Linux підтримує поняття "завантажувані модулі ядра" - і всі драйвери пристроїв можуть бути модулем ядра для завантаження. Також можливо створити ядро, де один або декілька з цих модулів "вбудовані" і не відокремлені від ядра. Таким чином, ви справді могли створити ядро ​​"без модулів" під Linux, і воно не змогло б підтримувати будь-яке обладнання, крім модулів, які ви вбудували в нього.

Я менш знайомий з кишками Windows, але я вважаю, що за винятком небагато драйверів "мініпорту", всі драйвери - це зовнішні файли, завантажені на завантаження. Якщо трохи зайнятися створенням сервісів у Windows, здається, що драйвери - це справді спеціальні форми служб під Windows. Деякі програми встановлюють драйвери для доступу до апаратних засобів на низькому рівні, але це не обов'язково для керування пристроєм, зазвичай це драйвери "Не підключити та грати" в диспетчері пристроїв. Таким чином, здається, що драйвери виконують таку ж функцію концептуально, як і завантажувані модулі ядра під Linux.

Я б для простоти сказав, що вони є частиною ОС, оскільки вони дійсно не можуть використовуватися без ОС, і не є корисними, якщо ОС не завантажується, але накреслена лінія в будь-якому випадку є досить довільною.


1

Жодні драйвери не є частиною ОС. Можна сказати, що драйвери допомагають ОС спілкуватися з пристроєм або апаратним забезпеченням. ОС не містить усіх драйверів за замовчуванням, як у Windows xp та vista, але в Windows 7 входить більшість необхідних драйверів, тому ви не плутайте їх, що вони не є частиною ОС.


Те, що ви кажете, що дривер не є частиною операційної системи, свідчить про те, що ви не знаєте, що робите. У Windows XP є багато тих самих драйверів, що й у Windows Vista та Windows 7. Майкрософт витратив чимало зусиль, щоб включити навіть БІЛЬШЕ загальних драйверів для пристроїв для цих версій.
Рамхаунд

так. без драйвера ми не можемо використовувати жоден пристрій. Таким чином, ми можемо сказати, що драйвер допомагає ОС спілкуватися з пристроєм, і про питання я скажу, що деякі є частиною ОС, а деякі - ні. Там багато драйверів, які не поставляються з ОС.
Деб

Технічно, навіть коли драйвер не поставляється з ОС, він є частиною ОС, коли ви встановлюєте та використовуєте його. Підтвердженням цього є те, що погано написаний драйвер може заблокувати всю вашу систему, оскільки це не звичайна програма, яка може бути вбита ОС, а частина її.
Клаудіо
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.