Все о ядрах UNIX: разработка, конфигурация, компиляция, дизайн, и т.д.
Ядро каждой операционной системы создает мост между приложением и фактической обработкой на аппаратном уровне.
Типичное ядро UNIX ответственно за:
- Выполнение программы ЦП
- Управление памятью
- Процессы (планирование, синхронизация, межпроцессное взаимодействие)
- Сигналы (исключения, прерывания)
- Файловые системы (виртуальный, блок)
- Архитектура ввода-вывода (Устройства, Файлы, Объединяясь в сеть)
Две наиболее распространенной архитектуры для ядер UNIX:
Монолитное ядро: в Каждом слое ядра интегрируют в целое ядро и поэтому работает в пространстве ядра. Каждое пользовательское приложение должно получить доступ к ядру через высокоуровневый интерфейс. Большая часть UNIX (-как) ядро следует за этим подходом.
Микроядро: Только основные части ядра, выполненного в пространстве ядра. Приложениям позволяют непосредственно обратиться к различным слоям ядра (драйверы устройств, файловые системы..).
Linux
Ядро Linux является подобным UNIX ядром, первоначально созданным Linus Torvalds в 1991, и теперь сохраняется разработчиками во всем мире.
Компиляция ядра Linux
Внутренности ядра Linux
Дальнейшее чтение
После недавнего обновления Fedora 15 я нахожу, что много инструментов перестали работать с ошибками вроде: хвост: ресурсы inotify исчерпали хвост: inotify не может использоваться, возвращаясь к...
24.06.2011
Откуда uname действительно получает свою информацию? Я полагаю, что это - что-то, что должно быть просто. К сожалению, я не могу найти заголовок, содержащий просто ту информацию. Скажите кого-то...
24.08.2015
Как нужно перезагрузить правила udev, так, чтобы недавно созданный мог функционировать? Я выполняю Дугу Linux, и у меня нет команды udevstart здесь. Также проверенный/etc/rc.d, никакой udev сервис там.
26.05.2012
Я читал, после того как то одно преимущество архитектуры микроядра состоит в том, что можно остановиться/начать важные услуги как сети и файловые системы, не будучи должен перезапустить целую систему. Но рассмотрение...
25.01.2011
Как я могу выбрать, какое ядро GRUB2 должен загрузить по умолчанию? Я недавно установил Linux ядро в реальном времени, и теперь это загружается по умолчанию. Я хотел бы загрузить регулярный по умолчанию. До сих пор я только...
23.04.2015
Если этим вопросом является также ориентированный программист, сообщить мне. Интересно, существуют ли люди, знакомые с флагом O_DIRECT для открытого () системный вызов на Linux 2.6? Linus осуждает его использование, однако высоко...
26.10.2015
Я хочу создать систему передачи данных ОТ USB К USB в Linux (предпочтительно Ubuntu). Для этого я хочу не использовать внешнее оборудование или переключатель (кроме этого кабеля). Это будет как монтирование Карты памяти...
12.04.2015
Я прервал tcpdump Ctrl+C и получил эту общую сводку: 579 204 пакета получили 579 346 пакетов, полученных фильтром 142 пакета, отброшенные ядром, Что "пакеты отбрасываются ядром"? Почему...
16.07.2014
Я пытаюсь установить плеер VMware в Fedora 19. Я сталкиваюсь с проблемой, которую имели многочисленные пользователи, где плеер VMware не может найти заголовки ядрa. Я установил ядро-...
24.01.2014
Я видел несколько сообщений вокруг сети людей, по-видимому, жалующихся на размещенный VPS, неожиданно уничтожающий процессы, потому что они использовали слишком много RAM. Как это возможно? Я думал вся современная ОС...
26.09.2013
Когда я делаю lspci-k на моем Kubuntu с 3.2.0-29-универсальным ядром I видит что-то вроде этого: 01:00.0 VGA совместимый контроллер: NVIDIA Corporation G86 [Quadro NVS 290] (газуют на a1), Подсистема:...
05.09.2012
Интерфейс программирования Linux показывает макет виртуального адреса пространства процесса. Каждый регион на диаграмме сегмент? От понимания ядра Linux, это исправить, что ...
15.09.2018
Linux является только ядром, и если пользователи хотят использовать его, то им нужно полное распределение. Однако как были первые версии Linux используются, когда не было никаких дистрибутивов Linux?
09.08.2018
Насколько я знаю, существует 4 основных типа сетевых интерфейсов в Linux: бочка, коснитесь, мост и физический. Когда я делаю sys администратора на машинах, выполняющих KVM, я обычно сталкиваюсь с касанием, мостом и...
28.01.2018
Ядро Linux выгружает большинство страниц из памяти, когда я запускаю приложение, которое использует большинство 16 ГБ физической памяти. После концов приложения, каждое действие (вводящий команды, переключаясь...
13.04.2017
Каково преимущество компиляции модулей ядра в ядро (вместо как загружаемые модули)?
13.06.2014
Я хотел бы понять термин "системный вызов". Я знаком, что системные вызовы используются для получения сервисов ядра от приложения пространства пользователя. Разъяснение потребности первой части с является различием...
18.04.2014
Я - хинду пользователь. При компиляции ядра существует много опций, которые может включить в зависимости от аппаратных средств. Мой вопрос состоит в том, как знать, что позволить/запретить, я знаю об аппаратных средствах...
10.03.2013
Я выполняю производную Ubuntu 12.04 (amd64), и у меня недавно были действительно странные проблемы. Внезапно, по-видимому, X заморозится полностью некоторое время (1-3 минуты?) и затем система...
11.01.2013
Я хотел бы записать оператор в dmesg. [Как] я могу сделать это?
04.04.2012
Так же, как любопытство; что-то пошло не так, как надо с машиной Linux, составив корневое шоу файловой системы как "64Z". Несколько работ команд, как вершина, df, и уничтожают, но другие как перезагрузка придумывают "команду...
27.12.2011
Linux proc (5) страница справочника говорит мне, что/proc/$pid/mem “может использоваться для доступа к страницам памяти процесса”. Но простая попытка использовать его только дает мне кошку $/proc/$$ / мадам/proc/self/...
01.02.2011
Я читал во многих местах, что Linux создает поток ядра для каждого пользовательского потока в Java VM. (Я вижу термин "поток ядра", используемый двумя различными способами: поток, созданный, чтобы сделать базовую ОС, работает и...
20.06.2017
Я хочу увидеть разбиение на страницы, которым ядро управляет для одного из моих процессов. В моем случае PID 4680 сопоставлен с dhclient. Итак, чтобы просмотреть таблицу страниц, я попробовал следующее: sudo cat / proc / 4680 / ...
04.06.2017
Я пытаюсь обнаружить, какие файловые системы ядро может поддерживать. Идеально в небольшом списке их имен, но я возьму что-либо, что Вы имеете. Обратите внимание, что я не имею в виду текущие используемые файловые системы, просто...
13.04.2017
У меня нет раздела/файла подкачки на моей машине, и только 2 ГБ RAM. Иногда это происходит, что память насыщается некоторым процессом (Xorg+browser+compiler +...) и зависания системы...
13.04.2017
Я запускаю автономную установку Arch Linux на сервере. Высокая частота обновлений ядра вызвала у меня некоторую головную боль при обслуживании, и поэтому я хочу переключиться на ядро lts. Я уже установил ...
21.05.2016
У меня минимальная установка CentOS 7 в качестве гостя VirtualBox 5.0.16 r105871 на хосте Windows 8.1. uname -r сообщает "3.10.0-327.10.1.el7.x86_64". Когда я пытаюсь запустить VBoxLinuxAdditions.run, я получаю ...
28.03.2016
Насколько я понимаю часть идентификационных данных Unix - то, что они имеют работу делегирования микроядра к очень модульным процессам файла. Итак, почему Linux все еще считают "Подобным Unix", если он отклоняется от этого...
24.01.2015
Я замечаю, что в зависимости от бренда сетевой платы, имена интерфейса отличаются (зависимый драйвера, которого я предполагаю). Почему делает *, BSD использует собственные имена драйвера для сетевых интерфейсов? Это означает, что существует...
08.05.2014