Почему люди называют Linux ядром, а не ОС?

Почему люди называют Linux ядром, а не ОС?

Почему люди называют Linux ядром, а не операционной системой? Насколько мне известно, ядро ​​— это часть операционной системы.

решение1

Система Linux состоит из множества различных частей.

Центральная часть — это ядро ​​Linux. (Вы можете получить его здесьkernel.org, изначально он был написанЛинус Торвальдс(Кто назвал его «Linux»).

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

С другой стороны, естьпроект GNU, по инициативеРичард Столлман. Его миссия — создать полноценную бесплатную операционную систему со всеми стандартными инструментами.

Спустя несколько лет проект GNU пошел успешно, были написаны все стандартные инструменты, но им по-прежнему не хватало работающего ядра.

Так получилось, что в одно и то же время существовал проект ядра без инструментов (Linux) и проект со всеми инструментами, но без ядра (GNU). Поскольку оба были написаны с одинаковым настроем UNIX, стало возможным объединить их в полноценную операционную систему, которую люди метко назвали "GNU/Linux".

Но даже такая голая система «GNU/Linux» не очень полезна без программного обеспечения, которое вы хотите на ней запустить. (Вроде браузера, почтового сервера или чего-то подобного.)

Поэтому некоторыераспределения(например, Debian, RedHat, SuSE, Arch и т. д.) объединили ядро ​​Linux, инструменты GNU и все виды приложений для легкой установки и обслуживания. (Существуют также дистрибутивы, которые используют другие ядра. Например, вы можете иметьСистема Debianс FreeBSD или GNU-Hurd в качестве ядра.)

Теперь для "нормальных" людей (которые, например, просто хотят иметь работающий веб-браузер) эта предыстория слишком подробна, и они хотят просто одно название для нее. Поэтому в большинстве случаев, когда кто-то утверждает, что установил "Linux", он обычно на самом деле устанавливает какой-то дистрибутив, который поставляется с ядром Linux как одна из многих частей.

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

Вам решать, что вы называете «операционной системой». Это просто то, что управляет оборудованием (как Linux) или то, с чем вы взаимодействуете (как ваша любимая среда рабочего стола), или, может быть, что-то среднее, как базовый (на основе командной строки) GNU/Linux.

решение2

Ядро является составной частью более крупной операционной системы. Обычно в дистрибутивах Linux более крупная операционная система содержит базу инструментов GNU, поэтому многие называют ядро ​​Linux, а всю операционную систему — «GNU/Linux» (хотя многие не делают этого различия).

Люди называют Linux операционной системой, потому что им приходится выбирать имя для обозначения всей операционной системы, которая предоставляется суммой частей. Linux — это компонент самого низкого уровня, который легко виден пользователю, поэтому вполне естественно, что он взял на себя это имя и роль. Люди обычно не называют GNU grep «GNU grep», они обычно называют его просто «grep» — для многих пользователей инструменты GNU не так явно связаны друг с другом, как ядро ​​Linux.

Ричард Столлман очень настаивает на том, чтобы люди называли Linux "GNU/Linux", поскольку он содержит множество инструментов GNU (компилятор C, пожалуй, самый важный). Я не так уж и суетлив, и не так уж много других людей.

Если вам нужна ясность, GNU/Linux однозначно относится к операционной системе (а не к ядру). «Linux» значительно более двусмысленно вне контекста.

решение3

Насколько мне известно, ядро ​​является частью операционной системы.

Ядро — это «ядро» операционной системы. Оно обеспечивает большинство критических служб. Запуск, завершение и планирование процессов, выделение памяти и пространства подкачки для процессов, межпроцессное взаимодействие, файлы, нижние уровни сетевого стека, некоторый уровень абстракции ввода-вывода.

Поверх ядра мы строим стек других компонентов. С одной стороны, ядро ​​не так уж и полезно без хотя бы некоторых из этих других компонентов. С другой стороны, лишь немногие из этих компонентов действительно обязательны, и большинство из них можно заменить чем-то другим.

Таким образом, неясно, какой именно из этих компонентов следует считать частью «операционной системы».

Почему люди называют Linux ядром, а не операционной системой?

Две причины.

Первое, что строго говоря, это правда. Проект под названием "Linux" поддерживает только ядро. Задача сторонних дистрибьюторов собрать коллекцию другого программного обеспечения, чтобы превратить его в полезную систему.

Во-вторых, Free software foundation несколько раздражен тем, что Linux получает всю славу. Тем более, что Линус — прагматик свободного ПО, а не идеалист.

Проект GNU был создан FSF для создания свободной программной замены для Unix. Они создали замены для многих важных компонентов, таких как компилятор, binutils (ассемблер, компоновщик и т. д.), libc (предоставляет как стандартную библиотеку C, так и оболочки, которые превращают интерфейс системных вызовов ядра в posix), textutils, shellutils и fileutils (теперь объединены в coreutils).

Однако им не удалось создать замену ядру Unix. В 1987 году Столлман решил использовать систему на основе микроядра Mach и набора демонов, известных как Hurd. Однако проект был отложен на 3 года из-за проблем с лицензированием и с тех пор имеет застойную историю разработки.

Тем временем студент по имени Линус написал свое собственное ядро, вдохновленное MINIX. Ядро само по себе не делает ОС, поэтому компоненты GNU были перенесены в новое ядро. В течение нескольких месяцев ядро ​​было достаточно продвинуто, и было перенесено достаточно программного обеспечения, чтобы сделать систему «самостоятельно размещаемой», то есть стало возможным собирать Linux на Linux. Вскоре после этого Linux адаптировал GPL и начал быстро набирать обороты.

К лучшему или к худшему, термин Linux стал использоваться для описания не только ядра, но и системы в целом. Это раздражало FSF, которые видели в ядре лишь один компонент среди многих. С их точки зрения, они считали, что их проект по сути кооптирован.

решение4

Linux — это ядро. Это главная причина называть его ядром. Ubuntu, Android и Chrome OS — это принципиально разные операционные системы. Приложения для Ubuntu не обязательно работают на Android, так же как они не обязательно работают на Windows. По одной простой причине: операционная система отличается. Операционные системы на базе Linux также сильно отличаются с точки зрения безопасности. Chrome OS известна своей высокой безопасностью. Android не так уж и безопасен:http://www.forbes.com/sites/gordonkelly/2014/03/24/report-97-of-mobile-malware-is-on-android-this-is-the-easy-way-you-stay-safe/

Связанный контент