Что именно мы имеем в виду, когда говорим, что используем Linux?


9

Я просматривал статью о GNU, которая выглядит примерно так:

Там действительно есть Linux, и эти люди используют его, но это лишь часть системы, которую они используют. Linux - это ядро: программа в системе, которая распределяет ресурсы машины для других программ, которые вы запускаете. Ядро является неотъемлемой частью операционной системы, но само по себе бесполезно; он может функционировать только в контексте полной операционной системы. Linux обычно используется в сочетании с операционной системой GNU: вся система в основном GNU с добавленным Linux или GNU / Linux. Все так называемые «Linux» дистрибутивы действительно являются дистрибутивами GNU / Linux.

Я всегда считал Linux ядром и операционной системой, но похоже, что Linux = ядро ​​Linux и ОС GNU.

Может ли кто-нибудь указать точную функциональность каждого из них в терминологии «Linux», которую мы используем в нашей повседневной жизни. Кроме того, согласно вики, дизайн GNU похож на Unix, но отличается от Unix тем, что является свободным программным обеспечением и не содержит кода Unix. Я думал, что Unix с открытым исходным кодом. Не так ли?


2
Ядро Linux похоже на двигатель: жизненно важно для функционирования автомобиля, но само по себе почти бесполезно.
evilsoup

Ответы:


7

Я полагаю, что часть, на которую вы ссылаетесь, описана здесь, на веб-сайте Free Software Foundation (FSF):

Согласно FSF, они утверждают, что Linux - это просто ядро. Работоспособная система состоит из ядра + инструментов , такие как ls, find, раковины и т.п. Поэтому , когда относящихся ко всей системе, она должна называться GNU / Linux, так как другие инструментов вместе с ядром Linux составляет полным полезная система. Они даже продолжают говорить о ядре FSF Unix, Hurd , приводя аргументы, что Hurd и Linux по сути являются взаимозаменяемыми ядрами для системы GNU / X.

Я нахожу весь этот аргумент утомительным и думаю, что есть лучшее, что можно сделать в наше время. Имя - это просто имя, и тот факт, что люди считают систему, которая включает в себя программное обеспечение GNU + ядро ​​Linux + другое программное обеспечение, не являющееся GNU, Linux или GNU / Linux, является делом вкуса и действительно не имеет значения в общей схеме вещи. На самом деле, я думаю, что аргумент делает больше для того, чтобы навредить Linux и GNU / Linux, разрушая сообщество и вводя в заблуждение широкую публику относительно того, что на самом деле представляет собой каждая вещь.

Больше, чем вы когда-либо хотели узнать по этой теме, взгляните на статью в Википедии под названием: спор об именах GNU / Linux .

Все Unixes с открытым исходным кодом?

Насколько мне известно, не все Unix являются открытыми. Большая часть функциональности в Unix определена так, чтобы все было открыто, но конкретные реализации этой функциональности открыты или не открыты в зависимости от того, частью какого дистрибутива он является.

Например, до недавнего времени Solaris, Unix, не считался открытым исходным кодом. Только когда Sun Microsystem выпустила основные компоненты в проект OpenSolaris, по крайней мере, компоненты Solaris стали открытыми.

История Unix

Я ни в коем случае не эксперт по этой теме, поэтому я бы посоветовал взглянуть на страницу Википедии Unix, чтобы узнать больше об этой теме.

История Linux

Взгляните на диаграмму Unix Lineage, чтобы узнать, какие Unix-версии считаются открытыми, смешанными или закрытыми.

  история

Я также считаю, что GNU / Linux Distribution Timeline Project полезен во время этого разговора.

хронология с Linux


2
Нет UNIX с открытым исходным кодом и Linux не Unix. В отличие от FreeBSD, который является прямым потомком и когда-то содержал код ATT UNIX, Linux не имеет прямого соединения и является только Unix-подобным. OSX - это UNIX.
Роб

1
@Rob FreeBSD больше не содержит код ATT: это то, что сделало его бесплатным. Он не имеет более или менее претензий на имя Unix, чем Linux, MINIX или OSF / 1.
Жиль "ТАК - прекрати быть злым"

1
@Rob - пожалуйста, ссылки на сайт. Я уверен, что вы не имеете в виду, что этот комментарий звучит как тролль, но это, по крайней мере, немного 8 -). В целом, Linux уже обсуждался в Unix. Пожалуйста, посмотрите эту ветку : unix.stackexchange.com/questions/4091/is-linux-a-unix . Я считаю этот аргумент утомительным. Это как аргумент, как произносится помидор.
SLM

@ Жиль Как что-то, что я сказал, не соответствует действительности? Почему вы почувствовали необходимость прокомментировать это?
Роб

@slm Я только ответил на ваш комментарий, что «Не все Unix-ы с открытым исходным кодом», и правда в том, что Unix-ы с открытым исходным кодом. UNIX - это торговая марка, валидация и сертификация. Это также означает, что POSIX соответствует степени, в которой Linux и другие системы не могут проверять (но OSX может). Я не спорил, кроме того, что UNIX - это UNIX, а Linux - это не UNIX, о чем, похоже, говорил твой пост, iirc. (Я не знал ни о предыдущей теме, ни о какой-либо другой.
Роб

3

Как правило, то, что мы обычно называем операционной системой, представляет собой комбинацию программного обеспечения, включающего ядро , задачей которого является управление ресурсами компьютера и некоторыми приложениями, которые выполняются поверх ядра, которые называются пользовательским пространством (это содержит браузеры, компиляторы, читатели PDF, все, что не является ядром, или драйвером, или, возможно, гипервизором vm).

На остальную часть этого вопроса невозможно ответить без какого-либо исторического контекста. Ричард Столлман объявил о проекте GNU 27 сентября 1983 года. Целью было предоставить программное обеспечение, необходимое для разработки UNIX-подобной операционной системы (и сопутствующего пользовательского пространства) в качестве свободного программного обеспечения . К 1992 году проект GNU завершил почти все части, необходимые для их программного обеспечения - за исключением одного: ядра. В то же время Линус Торвальдс выпустил свое ядро Linux (версия 0.12) как бесплатное программное обеспечение, лицензированное по лицензии GPL . Таким образом, впервые можно было запустить компьютер, состоящий (почти) полностью из свободного программного обеспечения.

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

Стоит отметить, что ядро ​​одновременно важно и неважно. Позвольте мне объяснить. Большинство людей, которые используют компьютер, привыкли к пользователю, а не к ядру. Ядро в основном прозрачное, и большинство людей используют другое ядро ​​с той же пользовательской областью и могут даже не заметить разницу (если, конечно, они зависят от функции, предоставляемой конкретным ядром).

Поэтому, когда вы используете Linux , вы действительно используете реализацию операционной системы GNU; это ядро Linux и пользовательская область GNU (GNOME, коллекция компиляторов GNU, отладчик GNU, Coreutils GNU, binutils GNU и т. д.). Вот почему ФСФ настаивает на том, чтобы называть это GNU / Linux (на мой взгляд, справедливый запрос).

Конечно, вы можете использовать Linux без пользовательского пространства GNU (подсказка: Android, Busybox ) и, конечно, использовать пользовательское пространство GNU поверх других ядер (kfreebsd, hurd и т. Д.).

Что касается Unix с открытым исходным кодом и тому подобное, это вопрос, который может включать немало споров. Вы можете найти полезную информацию здесь


2

Ядро linux - это программа, которая предоставляет ОС следующие функции:

   Изображение карты ядра Linux

оригинальная ссылка на изображение: http://www.makelinux.net/kernel_map/

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

Эти сопровождающие не обязательно делают все это дополнительное программное обеспечение, они собирают его, иногда модифицируют и соединяют все вместе, чтобы предоставить то, что представляет собой опыт Linux для большинства людей сегодня - они добавляют, так сказать, «изюминку», и часто есть происхождение к очень устоявшимся дистрибутивам, таким как Debian, Redhat и т. д. Дело в том, что значительная часть начальных утилит и программного обеспечения, которые упакованы в дистрибутивы Linux, включают программное обеспечение, адаптированное из проекта GNU., Многие из этих программ были собраны проектом GNU с использованием их ресурсов еще до того, как было разработано ядро ​​Linux. И это бесплатно, и многие из этих программ помогли завоевать популярность Linux, так как оба были бесплатными и с открытым исходным кодом, связанным лицензией GPL. Libc framwework, рабочий стол Gnome и компилятор gcc являются примерами поддерживаемого GNU программного обеспечения.

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


Можете ли вы предоставить ссылку на оригинальное изображение?
heinrich5991

1
@ heinrich5991 - я добавил ссылку на оригинал.
SLM
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.