Чим відрізняється BIOS від ядра? https://en.wikipedia.org/wiki/Computing


Відповідь 1:

BIOS (Базова система вводу / виводу) - це програмне забезпечення, яке не є частиною операційної системи або встановленого користувачем програмного забезпечення. Він вбудований у материнську плату, використовуючи пам'ять лише для читання (ROM). Насправді це не зовсім лише для читання - оновити BIOS можна за допомогою спеціальних інструментів. Однак у звичайних обставинах BIOS є стильним і не може бути змінений.

BIOS - це бібліотека функцій, яка використовується для завантаження системи та здійснення базового доступу для читання і запису до обладнання на материнській платі, наприклад, мікросхем оперативної пам'яті. Після завантаження системи BIOS залишається неактивним, чекаючи, коли операційна система викличе будь-яку з її функцій. Операційна система, у свою чергу, може вирішити ігнорувати BIOS та отримати доступ до обладнання безпосередньо. У цього є плюси і мінуси. BIOS-код зручний тим, що теоретично він обробляє всі безладні вимоги читання та запису до певного обладнання. З іншого боку, код BIOS - це сумно баггі, і іноді операційній системі не залишається іншого вибору, як обійти його.

Ядро - це програмне забезпечення, яке надається контролю над системою після того, як BIOS закінчить свої завдання завантаження. Ядро - це те, що ми зазвичай називаємо «операційною системою». Наприклад, якщо ви запускаєте Linux, це означає, що ваша система використовує ядро ​​Linux. Якщо ви запускаєте Microsoft, це означає, що ваша система використовує ядро ​​Microsoft.

Як і в BIOS, ядро ​​надає набір функцій бібліотеки, званих системними дзвінками, для виконання базового вводу та виводу та доступу до різних апаратних засобів в системі. Користувацьке програмне забезпечення, наприклад веб-браузери та текстові редактори, використовує ці системні дзвінки для доступу до пам'яті, екрану дисплея, принтерів, жорсткого диска тощо.

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

Насправді ядро ​​перемикається між усіма завданнями користувача в системі, багато разів на секунду, забезпечуючи кожному користувачеві безперебійний досвід.

Підводячи підсумок: BIOS - це набір дуже основних функцій бібліотеки, достатніх для того, щоб дана система працювала і працювала. Ядро - це набагато досконаліший набір бібліотек розподілу та пріоритетності ресурсів, структур даних та поточних процесів, які дають користувачеві повну можливість користуватися системою.


Відповідь 2:

BIOS - це програма, яка знаходиться на ПЗУ, яка вбудована на материнську плату. Його завдання полягає в тому, щоб перевірити, чи все обладнання встановлено правильно, працює чи ні, запустивши POST (живлення при самотестуванні), а потім ініціалізувати програмне забезпечення апаратного забезпечення. BIOS встановить усе апаратне забезпечення, яке буде використовуватися ОС, де ядро ​​не має всього цього інтелекту. BIOS матиме драйвери, які мають мінімальну функціональність для розмови майже з усіма апаратними засобами, такими як Дисплей, Миша, Клавіатура і т.д. він має можливість вибирати будь-який із доступних носіїв та завантажувати з них (якщо носій пам’яті завантажений). Як тільки він знайде будь-який завантажувальний носій, він починає завантажуватися з нього. BIOS зчитує MBR (Master boot record), де присутній завантажувач (програма для виконання ядра та ініціалізація ОС) та виконує його. У випадку з Linux це етап, де він показує вам список ОС, наявних на вашому жорсткому диску. Щойно ви вибрали ОС, ядро ​​буде виконано і ви завантажитеся в ОС. Ядро - це основна частина ОС, яка матиме драйвери (більш розширений функціонал, ніж драйвери BIOS), щоб поговорити з апаратним забезпеченням, менеджером пам'яті, Планувальник процесів, обробники перерв, планувальник процесорів тощо. Ядро може також виявляти обладнання, наявне в системі, і спілкуватися з ними через драйвери. Але є обмеження щодо інформації, яку ядро ​​може отримати про апаратне забезпечення, саме тут воно використовує інформацію, надану BIOS. Спочатку BIOS зчитує інформацію про обладнання, а потім вивантажує таблиці, що називаються таблицями ACPI, в оперативну пам’ять, яка буде використовуватися ядром для отримання більш детальної інформації про обладнання.

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

Наведене вище пояснення є моїм розумінням. Він може містити некоректну інформацію, будь-які експерти, які можуть виправити цю інформацію, будь ласка, прокоментуйте замість голосування, щоб я міг покращити свої знання.


Відповідь 3:

BIOS - це програма, яка знаходиться на ПЗУ, яка вбудована на материнську плату. Його завдання полягає в тому, щоб перевірити, чи все обладнання встановлено правильно, працює чи ні, запустивши POST (живлення при самотестуванні), а потім ініціалізувати програмне забезпечення апаратного забезпечення. BIOS встановить усе апаратне забезпечення, яке буде використовуватися ОС, де ядро ​​не має всього цього інтелекту. BIOS матиме драйвери, які мають мінімальну функціональність для розмови майже з усіма апаратними засобами, такими як Дисплей, Миша, Клавіатура і т.д. він має можливість вибирати будь-який із доступних носіїв та завантажувати з них (якщо носій пам’яті завантажений). Як тільки він знайде будь-який завантажувальний носій, він починає завантажуватися з нього. BIOS зчитує MBR (Master boot record), де присутній завантажувач (програма для виконання ядра та ініціалізація ОС) та виконує його. У випадку з Linux це етап, де він показує вам список ОС, наявних на вашому жорсткому диску. Щойно ви вибрали ОС, ядро ​​буде виконано і ви завантажитеся в ОС. Ядро - це основна частина ОС, яка матиме драйвери (більш розширений функціонал, ніж драйвери BIOS), щоб поговорити з апаратним забезпеченням, менеджером пам'яті, Планувальник процесів, обробники перерв, планувальник процесорів тощо. Ядро може також виявляти обладнання, наявне в системі, і спілкуватися з ними через драйвери. Але є обмеження щодо інформації, яку ядро ​​може отримати про апаратне забезпечення, саме тут воно використовує інформацію, надану BIOS. Спочатку BIOS зчитує інформацію про обладнання, а потім вивантажує таблиці, що називаються таблицями ACPI, в оперативну пам’ять, яка буде використовуватися ядром для отримання більш детальної інформації про обладнання.

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

Наведене вище пояснення є моїм розумінням. Він може містити некоректну інформацію, будь-які експерти, які можуть виправити цю інформацію, будь ласка, прокоментуйте замість голосування, щоб я міг покращити свої знання.