Резюме

Резюме

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

Процесс — это фундаментальная и ключевая абстракция, которая является основой всех современных операционных систем и, в конце концов, причиной, по которой вообще существуют операционные системы (чтобы выполнять программы).

В следующей главе рассказывается о планировании выполнения процессов — изящной и интересной функции ядра, благодаря которой ядро принимает решение, какие процессы должны выполняться, в какое время и в каком порядке.