1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openharmony-startup_init

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_zh.md 7.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 06.03.2025 17:23 a6e96f4

Запуск подсистемы

Введение

Компонент 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 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/openharmony-startup_init.git
git@api.gitlife.ru:oschina-mirror/openharmony-startup_init.git
oschina-mirror
openharmony-startup_init
openharmony-startup_init
master