2017-01-27 16 views
0

Я видел список системы Linux называет здесь:
http://syscalls.kernelgrok.com/

Если я пишу новое ядро, которое реализует все эти системные вызовы, которые перечислены в приведенной выше ссылке, может ядро ​​запустить все программы компилируется для Linux?
Будет ли это совместимо с Linux?Дать совместимое ядро ​​Linux

+3

Он сможет запускать программы Linux, но типичные Linux-программы ожидают больше, чем просто кучу системных вызовов. Получение полной совместимости с Linux намного больше. – fuz

+1

@fuz Что еще ожидает программа Linux? Можно ли их реализовать? – RainingComputers

+0

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

ответ

4

ядро ​​может запускать все программы

Сам по себеядро ​​ может ... ничего полезного.

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

Однако вы можете использовать ядро ​​с операционной системой Linux. (Это то, что «перестраивает ядро» означает: замените ядро, но оставайтесь другими компонентами ОС одинаково).

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

Кроме того, системные вызовы не являются единственным интерфейсом между ядром Linux и пользовательским пространством. Для обеспечения работы ядра с ОС Linux вам необходимо предоставить специальные файловые системы , например sysfs: многие утилиты и программы Linux ожидают найти подходящие файлы здесь.

+0

yep, посмотрите все вещи под/proc и/sys, только для начала; вы получаете возможность переопределить большинство или все это. –

+0

Спасибо за всю помощь ... Я решил не делать Linux совместимым ... Я согласен с @glauxosdever – RainingComputers