Подтвердить что ты не робот

Какая связь между ОС Linux и ядром?

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

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

Первое слово, которое появляется в моей голове, - это "ядро". После прочтения в Википедии я понимаю, что ядро ​​работает под управлением программного обеспечения (OS + apps) для доступа к оборудованию (CPU, RAM +++). Он также обрабатывает память, но не то, что должна делать ОС (что я помню из класса ОС)?

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

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

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

4b9b3361

Ответ 1

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

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

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

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

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

Ответ 2

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

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

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

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

Ответ 3

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

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

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

Ядро - это центр операционной системы. Он выделяет время и память для программ и обрабатывает filestore и т.д.

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

Чтобы сделать простой пример: графический интерфейс Windows - это оболочка, ОС Windows, распространяемая Microsoft.

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

Shell или дистрибутив не делает Kernel более удобным для пользователя, но он делает его пригодным для использования пользователем.

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

Ответ 4

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