система_инициализации_на_си
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| система_инициализации_на_си [2024/02/18 19:45] – uf4n | система_инициализации_на_си [2024/03/09 18:11] (current) – uf4n | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| ===== Концепция ===== | ===== Концепция ===== | ||
| - | External Link | + | |
| - | Хотелось бы достигнуть наибольшей возможной скорости инициализации системы. Для этого можно было бы включить **в один код на Си** зпуск демонов, | + | Хотелось бы достигнуть наибольшей возможной скорости инициализации системы. Для этого можно было бы включить **в один код на Си** зпуск демонов, |
| Проблемы обычного sysvinit: | Проблемы обычного sysvinit: | ||
| - | - Активно использует интерпретатор Bash. Убедиться в том, что Bash сравним по скорости с домкратом от ЗИЛа можно с помощью [[http:// | + | - Повсеместно использует интерпретатор Bash. Убедиться в том, что Bash сравним по скорости с домкратом от ЗИЛа можно с помощью [[http:// |
| - Делает много обращений к диску | - Делает много обращений к диску | ||
| - | - Выполняет монтирование дисков с парсингом аргументов и тучей системных вызовов, | + | - Выполняет монтирование дисков с парсингом аргументов и тучей системных вызовов, |
| + | |||
| + | |||
| + | Система должна быть хоть немного **интерактивной**, | ||
| + | Очень бы хотелось сохранить интерактив, | ||
| - | Система должна быть хоть немного интерактивной, | + | Если пользователь захочет изменить набор запускаемых сервисов или порядок их запуска, |
| - | в один код на Си | + | |
| - | Очень бы хотелось сохранить интеракв один код на Ситив, подобный тому, что предоставляет sysvinit, так как он весьма прост в реализации и понятен системным администраторам. Не придётся переучиваться. | + | |
| - | Запуск каждого демона можно описать в отдельном текстовом файле. При добавлении сервиса в автозапуск, | + | Запуск каждого демона можно описать в отдельном текстовом файле. При добавлении сервиса в автозапуск, |
| + | Библиотечную функцию execve можно попробовать реализовать на ассемблече с помощью удобных макросов. | ||
| + | * Наш init сохраняет систему уровней запуска (runlevels) | ||
| uf4n | uf4n | ||
система_инициализации_на_си.1708285557.txt.gz · Last modified: 2024/02/18 19:45 by uf4n