2019-2020-1 20199302 «принцип ядра Linux и анализ» в седьмой неделе работы

В шестой главе описывается процесс создания и процессов

Описание (а) процесс

1, управление OS три функции: (1) Управление процесс (Process) (2) Управление памяти (виртуальная память) (3) файловая система (файлы) ,
описанные в 2, процесс: блок управления процессом на печатную плате
3, ядро Linux , структуры task_struct описывают процесс , в котором переменные состояния для состояния процесса, стек стек. Структурные отношения: состояние процесса, процесс двусторонний управления связным списка, описывающая консоль TTY, файловая система фс, процесс открытых дескрипторы файлов: описание сигналы и другие сигналы между файлами, описание управления памятью мм, процесс коммуникации.
4, основное различие между процессом и состоянием Linux операционной системы состояние процесса , что , в принципе, ядро Linux готовый состояние и запустить состояние уже
было под названием TASK_RUNNING, делится на два процесса блокировки состояния, один TASK_INTERUPTIBLE, может сигнал и wake_up () просыпаются, другой TASK_UNINTERUPTIBLE быть wake_up только () бодрствование. я

идентификатор 5, ПИД - процесс, процесс идентификации дескриптор процесса с PID и tgid.
6, двусвязная задача LIST_HEAD списка - структура для управления структурой данных процесса.

Создание (б) процесс

1, init_task первый процесс представляет собой процесс (процесс с номером 0) описывается переменной структурой, которая инициализируется HARDCODED фиксированным способом, в то время как другие процессы инициализации с помощью инициализации копирования do_fork родительского процесса.
2, управление памятью , связанные с кодом.
мм и active_mm и адресное пространство процесса, управление памятью , связанные структуры данных указатель, содержащее множество сегментов данных, сегмент кода, сегмент стека.
3, процесс между отцом и сыном, братом отношением
структурой структурой данных task_struct записанномом в родительском процессе real_parent текущего процесса, родителя, ребенок процесс записи текущего процесса двусвязного список структура LIST_HEAD дети, братья записали текущий процесс дважды связанный список структуры LIST_HEAD родственный. Между отцом и его сыновьями сложные цепи отношения связаны через указатель или двухсторонним связанный список.
4, некоторые структуры данных информации о состоянии , связанные ЦП хранятся процесс контекста
структура структуры данных thread_struct сохранить некоторую информацию о состоянии в контексте процесса , связанный с процессором. Наиболее важным является зр и внутрибрюшинно, в x86-32 битной системе, регистр зр ESP используется для сохранения состояния контекста процесса, внутрибрюшинно EIP машина регистрирует , чтобы сохранить состояние контекста процесса.
5, процесс создания и анализ процесса
создающего процесса, вероятно , текущий дескриптор процесса и другие связанные с ними ресурсы копировать процесс, производить дочерний процесс, дочерний процесс , необходимый для репликации дескриптора процесса , чтобы сделать некоторые изменения, а затем создать хороший дочерний процесс в очередь выполнения ( в соответствии с операционной системой готовых очередей).

(С) анализ процесса создания процесса


MenuOS , чтобы добавить контрольную точку, соответственно, в sys_clone do_fork dup_task_struct copy_process``copy_thread на


входной вилке найденной на стоянку на sys_clone в командной строке, указывающей , что функция системного вызова sys_clone продолжает находиться на стоянке в do_fork

рекомендация

отwww.cnblogs.com/eosmomo/p/11784233.html