Книга: Разработка ядра Linux
"Зверек другого рода"
Ядро имеет некоторые отличия в сравнении с обычными пользовательскими приложениями, эти отличия хотя и не обязательно приводят к серьезным усложнениям при программировании, но все же создают специфические проблемы при разработке ядра.
Эти отличия делают ядро зверьком другого рода. Некоторые из старых правил при этом остаются в силе, а некоторые правила являются полностью новыми. Хотя часть различий очевидна (все знают, что ядро может делать все, что пожелает), другие различия не так очевидны. Наиболее важные отличия описаны ниже.
• Ядро не имеет доступа к библиотеке функций языка С.
• Ядро программируется с использованием компилятора GNU С.
• В ядре нет такой защиты памяти, как в режиме пользователя.
• В ядре нельзя легко использовать вычисления с плавающей точкой.
• Ядро использует стек небольшого фиксированного размера.
• Поскольку в ядре используются асинхронные прерывания, ядро является преемптивным и в ядре имеется поддержка SMP, то в ядре необходимо учитывать наличие параллелизма и использовать синхронизацию.
• Переносимость очень важна.
Давайте рассмотрим более детально все эти проблемы, так как все разработчики ядра должны постоянно помнить о них.
- Восстановление "безнадежных" баз данных. InterBase Surgeon
- Основные "рычаги" управления производительностью
- Пишем продающее письмо
- 3. Система конкурентных продаж (продажи по методу КЛИН)
- Что такое продажа?
- Продажи в процессе
- Using Double Quotes to Resolve Variables in Strings with Embedded Spaces
- Помогает или мешает продажам ваша домашняя страница?
- Zag: манифест другого маркетинга
- Что вы продаете
- 4.4.3.3. План-фактный анализ продаж
- Шаг 6 Завершение продажи на кассе, предложение сопутствующих товаров