Компонент init отвечает за запуск системных служб, начиная с загрузки первого пользовательского процесса после загрузки ядра, до запуска первого приложения. Запуск восстановительной подсистемы отвечает за загрузку всех ключевых системных процессов, а также за установку соответствующих им прав при запуске. После запуска подпроцессов восстановительная подсистема поддерживает жизнеспособность указанных процессов (перезапускает их при неожиданном завершении). В случае неожиданного завершения специальных процессов, восстановительная подсистема также выполняет операцию сброса системы.
Рис. 1 Структура запуска OHOS
Структура каталога базы:
├── device_info # SA-сервис, предоставляющий информацию о устройстве
├── initsync # Команды синхронизации (для малых систем)
├── interfaces # Внешние интерфейсы
├── scripts # Скрипты (используются в LiteOS системах)
├── services
├── begetctl # Набор команд. Предоставляет команды для дампа, запуска и других операций с сервисами
├── etc # Каталог конфигурационных файлов init (стандартные системы)
├── etc_lite # Каталог конфигурационных файлов init (малые системы)
├── include # Каталог заголовочных файлов init
├── init # Основные исходные коды функциональности init
├── adapter # Слой адаптации для ядра
├── include # Каталог заголовочных файлов
├── lite # Основные исходные коды функциональности init (для малых систем)
└── standard # Основные исходные коды функциональности init (для стандартных систем)
├── log # Компонент журнала init
├── loopevent # Библиотека событий
├── include # Каталог заголовочных файлов
├── loop # Обёртка I/O-множества на основе epoll
├── signal # Обёртка интерфейса обработки сигналов. Предоставляет функции добавления сигналов и регистрации обработчиков
├── socket # Интерфейс коммуникации по протоколу socket
```│ │ ├── task # Абстрактные задачи событий, такие как сигналы, таймеры и другие события
│ │ ├── timer # Интерфейс таймера
│ │ └── utils # Общие интерфейсы loopevent
│ ├── modules # Модули плагинизации
│ │ ├── bootchart # Исходные коды плагина bootchart
│ │ ├── bootevent # Исходные коды плагина bootevent
│ │ ├── init_hook # Возвратные функции, предоставляемые init
│ │ ├── reboot # Исходные коды плагина reboot
│ │ ├── seccomp # Исходные коды плагина seccomp
│ │ └── selinux # Исходные коды плагина selinux
│ ├── param # Компонент параметров системы
│ └── utils # Общие интерфейсы init
├── test # Каталог исходных кодов тестовых случаев для компонент init
├── ueventd # Исходные коды сервиса ueventd
│ ├── etc # Каталог конфигурационных файлов ueventd
│ ├── include # Каталог заголовочных файлов ueventd
│ ├── lite # исходный код ядра ueventd (для малых систем)
│ └── standard # исходный код ядра ueventd (для стандартных систем)
└── watchdog # исходный код службы watchdog
## Ограничения <a name="section12212842173518"></a>В настоящее время поддерживаются устройства малых систем (минимальная память ≥ 1 МБ), стандартные системы Hi3516DV300, Hi3518EV300 и RK3568.
## Описание <a name="section837771600"></a>
Подробные инструкции по использованию см. в разработческом руководстве:
[Обзор восстановления подсистемы](https://gitee.com/openharmony/docs/blob/master/ru-cn/device-dev/subsystems/subsys-boot-overview.md)
[Конфигурационные файлы для запуска](https://gitee.com/openharmony/docs/blob/master/ru-cn/device-dev/subsystems/subsys-boot-init-cfg.md)
[Управление задачами](https://gitee.com/openharmony/docs/blob/master/ru-cn/device-dev/subsystems/subsys-boot-init-jobs.md)
[Плагины](https://gitee.com/openharmony/docs/blob/master/ru-cn/device-dev/subsystems/subsys-boot-init-plugin.md)
[Управление песочницей](https://gitee.com/openharmony/docs/blob/master/ru-cn/device-dev/subsystems/subsys-boot-init-sandbox.md)
[Управление сервисами](https://gitee.com/openharmony/docs/blob/master/ru-cn/device-dev/subsystems/subsys-boot-init-service.md)
[Системные параметры](https://gitee.com/openharmony/docs/blob/master/ru-cn/device-dev/subsystems/subsys-boot-init-sysparam.md)
[Управление логами](https://gitee.com/openharmony/docs/blob/master/ru-cn/device-dev/subsystems/subsys-boot-init-log.md)
[Компонентный запуск](https://gitee.com/openharmony/docs/blob/master/ru-cn/device-dev/subsystems/subsys-boot-init-sub-unit.md)
## Связанные репозитории <a name="section641143415335"></a>
**[startup\_init\_lite](https://gitee.com/openharmony/startup_init_lite)**
[startup\_appspawn](https://gitee.com/openharmony/startup_appspawn)
[startup\_bootstrap\_lite](https://gitee.com/openharmony/startup_bootstrap_lite)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )