Альтернатива простому серверу имен в стиле /etc/hosts

В дополнение к переносу ядра Linux вам потребуется определитьдвоичный интерфейс приложения(ABI )для программ «пространства пользователя» и портировать самые нижние уровни программного стека пространства пользователя. Linux обычно используется с низкоуровневыми -компонентами пользовательского пространства из проекта GNU, наиболее важными из которых являются:

  • Компилятор C, ассемблер и компоновщик:GCC и GNU Binutils . Для совершенно новой архитектуры ЦП вам необходимо портировать это программное обеспечение еще до того, как вы начнете портировать ядро, поскольку ядро ​​само по себе является программой на языке C и должно быть скомпилировано. Если уже есть «внутренняя» поддержка ЦП вашей платформы, но не с Linux в качестве ядра ОС, у вас будет значительно меньше работы, и вы можете отложить большую часть работы до тех пор, пока ядро ​​не будет готово и Бег.
  • Библиотека времени выполнения C :" GNU libc ". Эта библиотека включает код, который выполняет системные вызовы и иным образом напрямую взаимодействует с ядром.
  • Библиотека «интерфейс внешних функций», libffi , которая является важным компонентом многих языковых интерпретаторов -высокого уровня и выполняет одну из немногих оставшихся задач, требуемых небольшое количество рукописного -ассемблера.

Многие другие части программного обеспечения имеют дополнительные компоненты, -зависимые от платформы; например, просмотр веб-страниц будет значительно быстрее, если вы напишете вручную -оптимизированные криптографические примитивы для NSS и OpenSSL для вашей новой архитектуры ЦП и просто -в -время компиляции назад -заканчивается для IonMonkey и V8 . Но это не обязательно для создания новой платформы.

3
04.09.2016, 00:30
0 ответов

Теги

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