Какая связь между ОС Linux и ядром? - PullRequest
33 голосов
/ 04 августа 2010

Я использую Linux уже несколько лет, но никогда не выходил за рамки установки с CD / DVD. Если у менеджера приложений не было того, что я искал в программном обеспечении, то я потерял дело.

Но сейчас я пытаюсь понять, что такое "Linux".

Первое слово, которое появляется в моей голове, - это «ядро». После прочтения Википедии я понимаю, что ядро ​​- это программное обеспечение, работающее для предоставления другим программам (приложениям OS +) доступа к оборудованию (ЦП, ОЗУ +++). Он также обрабатывает память, но разве это не то, что должна делать ОС (что я помню из класса ОС)?

Является ли дистрибутив Linux просто упакованным списком программного обеспечения?

Возьми мой любимый дистрибутив: Fedora. Сейчас он в версии 14 и поставляется с ядром 2.6.35.

Является ли ядро ​​откуда-то центральным и является ядром каждого дистрибутива Linux? Если это правда, то является ли дистрибутив Linux просто способом сделать компьютер с ядром более удобным в использовании? Таким образом, ядро ​​distro + - это ОС, потому что одно без другого невозможно использовать (может быть, чистое ядро, но кто на этом сидит?).

Ответы [ 4 ]

25 голосов
/ 04 августа 2010

Довольно правильно.Для меня «linux» - это просто ядро.Но довольно часто называть целые дистрибутивы Linux.Вот что так раздражает RMS.Он утверждает, что он должен называться GNU / Linux, поскольку он рассматривает дистрибутивы как ядро ​​linux плюс дополнительное программное обеспечение из проекта GNU.Это тоже имеет смысл, но я никогда не использую термин GNU / Linux.Я говорю либо о ядре Linux, либо о "дистрибутивах Linux", либо о конкретном дистрибутиве.

Так что да.Дистрибутив - это просто ядро ​​(которое может включать специальные патчи для дистрибутива) плюс все дополнительные программы, которые делают его пригодным для использования.

Ядро является центральным проектом и номинально одинаково в каждом дистрибутиве, но большинство дистрибутивов настраивают его.это немного.

И дополнительное программное обеспечение не только делает ядро ​​более удобным для пользователя, но и вообще делает его пригодным для использования.Ядро - это просто обработчики прерываний, драйверы устройств и системные вызовы.Он в основном виртуализирует аппаратное обеспечение и предоставляет стандартную среду для работы программ.

Что касается фразы «операционная система», это может сбивать с толку.Некоторые люди могут сказать, что ядро ​​- это операционная система, а все остальное - это утилита, приложение или что-то еще.Другие люди могут сказать, что ядро ​​плюс некоторые другие пакеты составляют операционную систему, но большая часть программного обеспечения не является частью операционной системы.Другие могут сказать, что все программное обеспечение в дистрибутиве является частью операционной системы.

18 голосов
/ 04 августа 2010

Linux - это ядро ​​(здесь я нахожусь в канале RMS).Это то, что написал Линус, и над этим продолжают работать разработчики ядра.Он управляет оборудованием.

Операционная система - это то, что включает в себя ядро ​​и довольно много «приложений» более низкого уровня, что позволяет вам как пользователю делать полезные вещи с вашим компьютером (например, файловый менеджер, панель управления).и т. д.).

Дистрибутив - это операционная система, упакованная абсолютным набором приложений более высокого уровня, таких как инструменты для создания DVD-дисков, веб-браузеры, офисные пакеты и т. д.Даже Windows делает это до некоторой степени, с включением Wordpad, Calculator и Paint, хотя и не до безумно плодотворного уровня, на который распространяются дистрибутивы Linux - нам действительно нужны 472 различных файловых менеджера?Выбор хороший, да, но только до определенного момента: -)

Теперь между ядром / ОС и даже ОС / дистрибутивом есть серые области, но я думаю, что это хорошая отправная точка для понимания того, как они связаны друг с другом.

4 голосов
/ 03 января 2018

ОС - это просто ядро ​​и оболочка, которые работают рука об руку.

Distro - это комбинация настроенных оболочек, работающих на ядре. Это означает, например, что Kali, Ubuntu, fedora, Mint и т. Д. - это разные дистрибутивы, которые работают на ядре Linux.

Оболочка действует как интерфейс между пользователем и ядром. Оболочка может быть интерфейсом командной строки или графическим интерфейсом пользователя. Баш, sh, Windows GUI - это некоторые оболочки.

Ядро является концентратором операционной системы. Он выделяет время и память программам, обрабатывает хранилище файлов и т. Д.

Для дальнейшего объяснения оболочки и ядра предположим, что вы вводите cd. Оболочка ищет в хранилище файлов файл, содержащий программу cd, а затем через системные вызовы запрашивает ядро ​​для выполнения программы cd на myfile.

В качестве простого примера - Windows GUI - оболочка, ОС Windows - распространение от Microsoft.

Similary, Ubuntu OS или fedora OS и т.д., дистрибутив, работающий на различных оболочках с использованием ядра Linux.

Оболочка или дистрибутив не делают ядро ​​более удобным в использовании, но делают его удобным для пользователя.

Итак, теперь вы можете просто сказать, что Linux - это ядро. Оболочка Linux + (Bash, Gnome и т. Д.) - это дистрибутив Linux, например Ubuntu, Mint, Kali и т. Д., И каждый из них является операционной системой.

0 голосов
/ 29 января 2016

«ядро» и «оболочка» являются исходными терминами, как, скажем, «ядро» и «оболочка». «Shell» является интерпретатором команд. «Distro» - это термин, означающий настраиваемую оболочку (и) + специальные программы, включенные в этот дистрибутив. Одно распределение может несколько оболочек, хотя. С точки зрения пользователя это близко к понятию человеческого языка. Это язык, на котором вы должны общаться с терминалом, который будет общаться с оболочкой. Оболочка прочитает его и найдет файл в хранилище файлов (все еще внутри оболочки / дистрибутива). Как только файл (исполняемый файл) найден, shell отправляет его ядру, которое выполняет работу (процесс). Подумайте об автомобиле, который будет иметь один и тот же практически неизмененный двигатель в течение многих лет, но изменит свой каркас / кузов. Я думаю, мне нужно остановиться здесь ...

...