Книга: Разработка ядра Linux
Резюме
Резюме
В этой главе рассмотрена важная абстракция операционной системы — процесс. Здесь описаны общие свойства процессов, их назначение, а также представлено сравнение процессов и потоков. Кроме того, описывается, как операционная система Linux хранит и представляет информацию, которая относится к процессам (структуры task_struct
и thread_info
), как создаются процессы (вызовы clone()
и fork()
), каким образом новые исполняемые образы загружаются в адресное пространство (семейство вызовов exec()
), иерархия процессов, каким образом родительский процесс собирает информацию о своих потомках (семейство функций wait()
) и как в конце концов процесс завершается (непроизвольно или с помощью вызова exit()
).
Процесс — это фундаментальная и ключевая абстракция, которая является основой всех современных операционных систем и, в конце концов, причиной, по которой вообще существуют операционные системы (чтобы выполнять программы).
В следующей главе рассказывается о планировании выполнения процессов — изящной и интересной функции ядра, благодаря которой ядро принимает решение, какие процессы должны выполняться, в какое время и в каком порядке.