Чому ядро ​​Linux називається «зображенням»?


62

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

Коли я думаю про зображення, я можу придумати лише дві речі - або копію диска, або фотографію. Звичайно, пекло не є фотографічним зображенням, тому чому його називають зображенням?


10
Це також може бути копія області ОЗУ (що стосується IMHO з ядром)
Ромео Нінов

Відповіді:


60

Процес завантаження Unix має (мав) лише обмежені можливості інтелектуального завантаження програми (переселення її, завантаження бібліотек тощо). Тому початкова програма являла собою точне зображення, збережене на диску, того, що потрібно завантажити в пам'ять і "викликати", щоб ядро ​​почало працювати.

Лише набагато пізніше були додані такі речі, як (де-) стиснення, і хоча зараз є більш потужні завантажувачі, назва зображення застрягла.


1
Стиснення та декомпресія не має нічого спільного з тим, що називається "зображенням". Він все ще завантажується в певну точку пам’яті і викликається безпосередньо, як і колишні часи. Завжди існував завантажувальний завантажувач. Саме ядро ​​все ще є зображенням, завантаженим у певну точку пам'яті та викликається безпосередньо.
фірфокс

Саме тому ОП заплутав ІМО. Стислий варіант його зображення більше не буде схожий на зображення (якщо дивитись на нього нестисненим) і не називатиметься зображенням. Але ядро ​​все ще називають зображенням.
Антон

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

Цікаво. Отже, якщо у мене є файл javascript, який містить текст об’єкта, що містить купу функцій, подібних до ядра, і завантажую його через XMLHttpRequest і оцінюй його на стороні NodeJS і використовую сервер NodeJS для взаємодії з ним за допомогою запитів, я можу викликати це javascript file a Kernel Image: O
Дмитро

31

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


3
Це приємний однозначний термін, уникаючи необхідності роздуватися з такими термінами, як "бінарний", "виконуваний файл", "програма", ... для позначення фактичного зображення на диску.
Томас

3
Зображення - це знімок пам’яті.
ikegami

2
Не повністю - мені потрібна достатня інформація для (пере) створення повного стану системи. Якщо дамп пам'яті достатній для цього, я маю неявні знання (адреса старту, початковий стан системи); якщо цього недостатньо, я б не називав дамп пам'яті зображенням .
Саймон Ріхтер

20

Це не означає, що "зображення" - це лише копія диска 1: 1. Подібно до того, як фотографія відображає реальність так само, як це було під час зйомки, зображення виконуваної програми (або ядра) представляє програму в стані, коли вона може бути завантажена (або розпакована) в системну пам’ять точно такою, якою вона є, а потім дано контроль над цим. Потім програма може почати працювати з цього стану послідовно. Отже, зображення ядра Linux - це зображення (зображення стану) ядра Linux, яке може запускатися самостійно після надання управління ним.

На сьогодні завантажувач завантажує таке зображення з файлової системи жорсткого диска (потрібен драйвер), замінює себе ним і таким чином дає управління ним. Процес завантаження комп'ютера робить це кілька разів, поки операційна система остаточно не запуститься. Це називається ланцюговим завантаженням . Або якщо менша програма (ланцюжок) завантажує більш складну, вона називається завантажувальною .

BIOS завантажує завантажувач, який також є зображенням, наприклад, викликаним boot.imgу випадку grub. Це boot.imgне файл (якщо встановлено grub); це назва тієї частини, яка є в Master Boot Record (MBR). Якщо ви скидаєте це на файл, то це буде зображення у вигляді файлу, не записаного на диск, а грубо записаного у файл. Це також подання (зображення) самого раннього стану, куди grubздатне завантажувати решту себе. grubто має власний механізм, як повністю завантажити себе, завантажуючи інші зображення. Це представлено різними етапами в Росії grub. Після цього завантажувач завантажує зображення ядра, замінюючи себе витягнутим вмістом цього файлу.


7

Стародавня історія. термін зображення походить від старого терміна корпорації Digital Equipment Corporation для виводу з компілятора-> лінкера. файл - це зображення, створене за допомогою інтерпретації коду і так далі через посилання, щоб зробити виконане "Зображення" вашого дизайну.


1
Я б сказав, якщо ви додали посилання
RobAu

зверніться до "Довідника керівництва по системах RSX-11M + для систем цифрового обладнання" DEC 1981. З тих пір він розповсюджувався через галузь
SkipBerne

5

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

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

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

Ядро - це в основному лише елементи з оригінального набору, які відображають зображення, але лише відображають елемент ідентичності на зображенні. В основному елементи, які відображають на 0 подібну річ на зображенні.

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

Ми можемо бачити, що якщо ми обираємо оригінальний набір як кінцеві послідовності двійкових або 1-х та 0-х, а кодомен (набір на карті) також є послідовностями бінарних, то ми можемо побудувати такі речі, якщо і лише якщо, відповідна структура групи можна визначити (це трохи в глибині і не пов'язане з заданим питанням).

Тож ми з повною впевненістю бачимо, що "ядро" і "зображення" ОС повністю визначені і мають математичне значення. Незалежна від можливо інших застосувань термінів.


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

3
Привіт маршале. Краще покращити свою публікацію, відредагувавши її, а не додаючи коментарі.
Ентоні Г - справедливість для Моніки

4
Я вважаю, що обчислювальне використання ядра походить від " центральної (зазвичай їстівної) частини горіха, особливо після видалення твердої оболонки " (див. Вікісловник ) - це маленька внутрішня частина операційної системи; після зняття всіх «зовнішніх шарів» (графічних інтерфейсів, командних оболонок, завантажуваних драйверів) це (приблизно) мінімальна частина, необхідна для того, щоб апаратне забезпечення працювало корисним способом.
TripeHound

Вау просто вау. Основа спекуляції без огляду. TripeHound правильно зрозумів. маршальське ремесло просто здогадалося.
Джошуа

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