Компонент init
отвечает за запуск системных служебных процессов с момента загрузки первого пользовательского процесса после загрузки ядра до запуска первого приложения. Запуск восстановительной подсистемы включает загрузку всех ключевых системных процессов, установку соответствующих им прав доступа во время запуска, а также поддержание жизнеспособности указанных процессов после запуска дочерних процессов (перезапуск процесса при его непредвиденном завершении). При непредвиденном завершении специальных процессов, запуск восстановительной подсистемы также выполняет операцию сброса системы.
Рис. 1 Описание архитектуры запуска OHOS
Структура каталога базы данных следующая:
base/startup/init/
├── device_info # Предоставляет информацию о устройстве SA-сервиса
├── initsync # Команды синхронизации (для малых систем)
├── interfaces # Внешние интерфейсы
├── scripts # Скрипты (используются в LiteOS системах)
├── services
│ ├── begetctl # Набор команд. Предоставляет набор команд для dump сервиса, запуска и других операций
│ ├── 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 # Интерфейс сетевых соединений
```│ │ ├── 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 )