Я просматривал статью о GNU, которая выглядит примерно так:
Там действительно есть Linux, и эти люди используют его, но это лишь часть системы, которую они используют. Linux - это ядро: программа в системе, которая распределяет ресурсы машины для других программ, которые вы запускаете. Ядро является неотъемлемой частью операционной системы, но само по себе бесполезно; он может функционировать только в контексте полной операционной системы. Linux обычно используется в сочетании с операционной системой GNU: вся система в основном GNU с добавленным Linux или GNU / Linux. Все так называемые «Linux» дистрибутивы действительно являются дистрибутивами GNU / Linux.
Я всегда считал Linux ядром и операционной системой, но похоже, что Linux = ядро Linux и ОС GNU.
Может ли кто-нибудь указать точную функциональность каждого из них в терминологии «Linux», которую мы используем в нашей повседневной жизни. Кроме того, согласно вики, дизайн GNU похож на Unix, но отличается от Unix тем, что является свободным программным обеспечением и не содержит кода Unix. Я думал, что Unix с открытым исходным кодом. Не так ли?
Ответы:
Я полагаю, что часть, на которую вы ссылаетесь, описана здесь, на веб-сайте 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 полезен во время этого разговора.
источник
Как правило, то, что мы обычно называем операционной системой, представляет собой комбинацию программного обеспечения, включающего ядро , задачей которого является управление ресурсами компьютера и некоторыми приложениями, которые выполняются поверх ядра, которые называются пользовательским пространством (это содержит браузеры, компиляторы, читатели 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 с открытым исходным кодом и тому подобное, это вопрос, который может включать немало споров. Вы можете найти полезную информацию здесь
источник
Ядро linux - это программа, которая предоставляет ОС следующие функции:
оригинальная ссылка на изображение: http://www.makelinux.net/kernel_map/
Ядро необходимо, и помимо этого у вас есть утилиты и все остальное упакованное программное обеспечение. Разница между полной ОС и ядром равняется остальной части программного обеспечения и тому, как оно составляется сопровождающими дистрибутива.
Эти сопровождающие не обязательно делают все это дополнительное программное обеспечение, они собирают его, иногда модифицируют и соединяют все вместе, чтобы предоставить то, что представляет собой опыт Linux для большинства людей сегодня - они добавляют, так сказать, «изюминку», и часто есть происхождение к очень устоявшимся дистрибутивам, таким как Debian, Redhat и т. д. Дело в том, что значительная часть начальных утилит и программного обеспечения, которые упакованы в дистрибутивы Linux, включают программное обеспечение, адаптированное из проекта GNU., Многие из этих программ были собраны проектом GNU с использованием их ресурсов еще до того, как было разработано ядро Linux. И это бесплатно, и многие из этих программ помогли завоевать популярность Linux, так как оба были бесплатными и с открытым исходным кодом, связанным лицензией GPL. Libc framwework, рабочий стол Gnome и компилятор gcc являются примерами поддерживаемого GNU программного обеспечения.
Это, конечно, не тривиально, и признание того, что это не должно быть настолько политическим, но есть громкие люди с обеих сторон, и есть дебаты. Независимо от практического применения, знание истории программного обеспечения в дистрибутивах, которые мы используем, и его создателей - это действительное усилие.
источник