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

Другой ужасный взлом - мог быть упрощен, но :P

#!/bin/bash

i=0

while read line
do
    if [ "${line:0:13}" == '<color name="' ]
    then
        a_keys[$i]="${line:13}"
        a_keys[$i]="${a_keys[$i]%%\"*}"
        a_values[$i]="$line"
        i=$((i+1))
    fi
done < a.xml

i=0

while read line
do
    if [ "${line:0:13}" == '<color name="' ]
    then
        b_keys[$i]="${line:13}"
        b_keys[$i]="${b_keys[$i]%%\"*}"
        b_values[$i]="$line"
        i=$((i+1))
    fi
done < b.xml

echo "<resources>"

i=0

for akey in "${a_keys[@]}"
do
    print=1

    for bkey in "${b_keys[@]}"
    do
        if [ "$akey" == "$bkey" ]
        then
            print=0
            break
        fi
    done

    if [ $print == 1 ]
    then
        echo "  ${a_values[$i]}"
    fi

    i=$(($i+1))
done

for value in "${b_values[@]}"
do
    echo "  $value"
done

echo "</resources>"
4
10.10.2013, 09:11
4 ответа

Система Linux создается из многих различных частей.

Центральная часть является ядром Linux. (Можно получить его из kernel.org, это первоначально записано Linus Torvalds, который назвал это "Linux".)

Ядро отдельно в значительной степени бесполезно. Это управляет всем видом аппаратных средств и обеспечивает интерфейс для приложений для использования. Для создания любого использования из него, Вам поэтому нужны приложения с помощью этого ядра.

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

После нескольких лет подходил проект GNU, они записали все стандартные инструменты, но они все еще пропускали рабочее ядро.

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

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

Поэтому некоторые дистрибутивы (как Debian, Redhat, SuSE, Дуга, и т.д.) пошли для упаковки ядра Linux, инструментов GNU и всего вида приложений вместе для легкой установки и обслуживания. (Существуют также дистрибутивы, которые используют другие ядра. Например, у Вас может быть система Debian с FreeBSD или GNU Hurd как ядро.)

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

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

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

26
27.01.2020, 20:44

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

Люди называют Linux операционной системой, потому что они должны выбрать имя для обращения к полной операционной системе, которая обеспечивается суммой частей. Linux является самым низким компонентом уровня, который с готовностью видим пользователю, таким образом, естественно, что он взял бы это имя и роль. Люди обычно не обращаются к GNU grep как "GNU grep", они обычно просто называют его "grep" - многим пользователям, инструменты GNU не связаны так явно как ядро Linux.

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

Если Вы хотите ясность, GNU/Linux однозначно относится к операционной системе (а не ядро). "Linux" значительно более неоднозначен из контекста.

9
27.01.2020, 20:44
  • 1
    ОС в случае Linux была бы своими различными доступными разновидностями, как Fedora, Red Hat, Солярис и т.д. Все эти разновидности основаны на том же ядре т.е. Linux. –  debal 10.10.2013, 09:06
  • 2
    @debal они также основаны на тех же инструментах GNU так GNU/Linux, также работал бы. Солярис –  StrongBad 10.10.2013, 10:10
  • 3
    не является дистрибутивом Linux - это - ОС самостоятельно с ее собственным ядром. –  D_Bye 10.10.2013, 10:10
  • 4
    @D_Bye необходимо, вероятно, упомянуть (с @) debal в том комментарии так, чтобы он мог ответить. –  Chris Down 10.10.2013, 10:11
  • 5
    я не сказал бы это, называют Гну/Linux из-за инструментов как gcc, но потому что большинство API POSIX, т.е. что делает ОС Unix, обеспечивается в случае Linux программным обеспечением Gnu. Эти части являются главным образом библиотеками как glibc и базовые утилиты (оболочка и основные команды). С другой стороны, компилятор C нисколько не требуется или даже AFAIK, указанный стандартом. –  jlliagre 10.10.2013, 17:39

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/

0
27.01.2020, 20:44

Linux сам по себе является ядром. Его можно настроить как сетевую рабочую станцию, DNS-сервер, DHCP-сервер, веб-сервер, почтовый сервер, файловый сервер и сервер печати, сервер базы данных, брандмауэр, шлюз-маршрутизатор и многое другое. Ядро делает управление памятью, устройствами и системными вызовами эффективными Linux Торвальд создал ядро. Ричард Столлман в свою очередь решает построить бесплатную ОС. Им не хватало ядра. Затем родился GNU/Linux. Linux — это не только Торвальд.

0
27.01.2020, 20:44

Теги

Похожие вопросы