Каков родительский процесс всех процессов в iOS?

3

Как и в системе на основе UNIX, процесс init является родителем всех процессов, и аналогично, процесс zygote в ОС Android имеет единственную цель - запускать другие процессы.


Как называется процесс, эквивалентный iOS?

Сохель Шейх
источник
1
kernel_task, PID 0. Бит детали немного сложнее, какую практическую проблему вы пытаетесь решить?
холме
1
Я учусь об операционных системах. Мне просто было любопытно. Я думаю, что kernel_taskдля MacOS, это то же самое для iOS?
Сохель Шейх
1
Скорее всего, но вам, вероятно, лучше, прочитав более подробную документацию о том, как macOS запускает процессы и т. Д. Название процесса, запущенного во время загрузки, здесь не очень важно.
Nohillside
1
developer.apple.com/library/archive/navigation/# может быть хорошей отправной точкой
nohillside
1
@nohillside Это не kernel_task (pid 0), он не отвечает за запуск всех процессов пользовательского пространства. Вместо этого он запускается (pid 1). Именно так Unix-системы традиционно распределяют номера PID ... PID 1 - это процесс, отвечающий за запуск пользовательского пространства, в то время как PID 0 - это псевдопроцесс ядра, отвечающий за обмен, планирование и / или другие функциональные возможности на стороне ядра.
jksoegaard

Ответы:

3

Имя эквивалентного процесса на iOS и macOS запускается.

Он запускается с PID 1 и является родителем всех других запущенных процессов пользовательского пространства. Цель launchd аналогична initd - она ​​отвечает за запуск других процессов во время загрузки и различных других этапов жизненного цикла системы.

Это связано с традиционными системами на основе Unix, где PID 1 зарезервирован для процесса, который отвечает за запуск части системы в пользовательском пространстве. Это было традиционно initd, но в современных системах, которые часто заменяются альтернативами, такими как launchd (в macOS), systemd, upstart и другие системы init.

jksoegaard
источник