Что такое ядро ​​ОС? Чем он отличается от операционной системы? [закрыто]

147

Я не могу понять разницу между ядром и операционной системой. Я не вижу никакой разницы между ними. Является ли ядро ​​операционной системой?

Xinus
источник

Ответы:

74

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

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

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

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

Седат Капаноглу
источник
6
Определение конечного пользователя обычно представляет собой что-то вроде «пакета программного обеспечения, который обеспечивает рабочий стол, ярлыки для приложений, веб-браузер и медиаплеер». Ядро не соответствует этому определению. Тот факт, что кто-то понятия не имеет, что такое операционная система, не означает, что его определение действительно.
DIMMSum
1
@dimmsum это не просто разговорное определение. Операционные системы были проданы и продаются пользователям как таковые.
Седат Капаноглу
Не могли бы вы указать мне на любой такой маркетинг? Я видел поставщика ОС, который говорил, что он предоставляет платформу, на которой могут работать все такие типы программ, но ОС не включает эти программы. Если вы объединяете их, тогда вы в буквальном смысле говорите обо всей системе, поэтому определение теряет смысл.
DIMMSum
1
@dimmsum Я понимаю вашу точку зрения, и поэтому я дал два разных определения. возможно, я должен был назвать это «пониманием»? Я думаю, что конечные пользователи, особенно в эпоху, когда операционные системы продавались в коробках, по-разному понимают, что такое операционная система, и это имеет непосредственное отношение к тому, как операционные системы коммодитизируются. Windows XP Box обещал совершенно другую транзакцию, чем техническое определение, это то, что я хотел бы отметить.
Седат Капаноглу
1
@dimmsum, так что в информатике есть операционная система, а на полках технического магазина есть еще одна операционная система. обе являются операционными системами с разных точек зрения. Я хотел подчеркнуть это различие.
Седат Капаноглу
73

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

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

Эрих Дуглас
источник
18
Компиляторы и текстовые редакторы действительно часть операционной системы? Word - прославленный текстовый редактор - это часть ОС?
Джон Хансон
6
Чего я не понимаю, так это «Операционная система - это ядро ​​плюс приложения», но если я установлю приложение, скажем, Word Perfect, то это не будет считаться частью операционной системы, нет?
Celeritas
7
@Celeritas Немного опоздал на вечеринку, но установленное приложение не будет считаться частью операционной системы. «Приложения» - это системные утилиты, которые поставляются с операционной системой. Все остальные программы / приложения, которые вы устанавливаете, находятся на уровне выше этого.
hashcode55
У вас все было хорошо, пока вы не написали примечание в скобках во втором абзаце. Операционная система обрабатывает запросы, сделанные этими приложениями, для управления оборудованием. Таким образом, ОС включает в себя ядро, драйверы устройств и любое другое программное обеспечение / прошивку, которая специально управляет оборудованием на самом низком уровне.
Боб
42

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

Некоторые люди хотят связать «ядро» (и, действительно, «оболочку»), чтобы быть более конкретным, чем это. Но на самом деле есть много вариаций в разных операционных системах. Не в последнюю очередь эти вариации представляют собой то, что составляет «оболочку» (которая может варьироваться от Solaris shчерез консольный интерпретатор команд Netware до оболочки Workplace Shell в OS / 2 и проводника Windows NT), но существует также большое расхождение от одной операционной системы к другой в что является и не является частью «ядра» (которое может включать или не включать, например, дисковый ввод-вывод).

Лучше помнить, что эти термины являются метафорами .

дальнейшее чтение

JdeBP
источник
Ницца. Однако ваш ответ дословно взят из «Дальнейшего чтения». Теперь я знаю, как получить много голосов с помощью копирования и вставки. РЖУНИМАГУ. Тем не менее, полезно.
lacostenycoder
18

Ну, есть разница между ядром и ОС. Ядро, как описано выше, является сердцем ОС, которое управляет основными функциями ОС, в то время как, если некоторые полезные приложения и утилиты добавляются поверх ядра, тогда весь пакет становится ОС. Таким образом, можно легко сказать, что операционная система состоит из пространства ядра и пространства пользователя.

Итак, мы можем сказать, что Linux - это ядро, так как оно не включает в себя такие приложения, как утилиты файловой системы, оконные системы и графические рабочие столы, команды системного администратора, текстовые редакторы, компиляторы и т. Д. Таким образом, различные компании добавляют такие приложения поверх ядра Linux. и предоставить свою операционную систему, такую ​​как Ubuntu, Suse, CentOS, RedHat и т. д.

n.zia
источник
9

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

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

рукав моря
источник
8

Ядро является частью операционной системы, но не является самой операционной системой. Вместо того, чтобы подробно рассказывать о том, что делает ядро, я остановлюсь на странице википедии: http://en.wikipedia.org/wiki/Kernel_%28computing%29 . Отличный, тщательный обзор.

danben
источник
3
Мех, попробуйте вместо этого первое предложение en.wikipedia.org/wiki/Operating_system . Операционная система формально отвечает за обеспечение доступа к ограниченным ресурсам (примерно ко всему на компьютере), и монолитные ядра делают именно это (микроядры сбрасывают часть этой работы на процессы, но они все еще распространяются вместе с ядром). С точки зрения программистов, ядро - это ОС. Пользователи могут рассчитывать на оболочку или другие интерфейсы, но это пользователи . Помните, что ОС работают на всем, от суперкомпьютеров до любого встроенного виджета, который должен выполнять две вещи.
dmckee --- котенок экс-модератора
Итак, вы считаете, что НЕКОТОРЫЕ операционные системы сами являются ядрами или что части ОС, с которыми взаимодействует пользователь, не являются частью ОС?
Данбен
Кроме того, «первое предложение en.wikipedia.org/wiki/Operating_system» гласит: «Операционная система (ОС) - это интерфейс между оборудованием и пользователем ...», поэтому я не понимаю, почему вы делаете различие между тем, что пользователь взаимодействует с остальным.
Данбен
7

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

Ной
источник
3

Простой ответ

Ядро является ядром операционной системы. Это не обязательно операционная система сама по себе.

Все остальное строится вокруг него.

Уточненное определение

Ядро (вычисления) - Википедия

Джастин Нисснер
источник
Так работает ли Kernel Operating System без драйверов?
Xinus
1
Нет ... большинство ядер связывают различные части операционной системы (не только драйверы).
Джастин Нисснер
2

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


источник
2

Ядро может быть операционной системой или частью операционной системы. В Linux ядро ​​загружается и выполняется первым. Затем он запускает другие биты ОС (например, init), чтобы сделать систему полезной.

Это особенно верно в среде микроядра. Ядро имеет минимальную функциональность. Все остальное, как файловые системы и TCP / IP, запускается как пользовательский процесс.

Ричард Пеннингтон
источник
А как насчет ядра в языке сценариев, таких как Ruby? Например, если у вас установлен Ruby, вы можете запустить его из терминала * nix, ruby -e "puts Kernel.methods"и вы увидите множество определенных методов.
lacostenycoder
2

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

Радж
источник