linux进程管理

Dec
24
linux进程管理-2进程创建

linux进程管理-2进程创建

0、前言 主要分析进程创建fork,线程、进程关系、copy_on_write。 1、复制进程 fork是通过复制父进程的方式来创建一个新的进程,内核中相关键函数和流程主要是被定义在了kernel/fork.c之中,通过fork.c里我们可以看到,有几个常用的sys_call: * fork * vfork
13 min read
Dec
24
linux进程管理-1描述符和状态

linux进程管理-1描述符和状态

1、task_struct数据结构 描述进程状态的基础数据结构名称是task_struct,在内核的include/linux/sched.h中定义。 随着内核的发展,这个结构体里的内容越来越多,6.6的版本上,现在直接800+行,下边截取一些关键的片段。 struct task_struct { #ifdef
9 min read
Dec
13
linux进程管理-kthread

linux进程管理-kthread

0、背景 kthread是指代特殊的在内核态运行的线程,其创建、管理的逻辑与普通集成有所区别,但在调度上还是与其他进程或者线程是类似的。 1、创建 内核线程的创建主要是通过kthread_create,另外kthread_run也可创建线程,区别是在创建的同时还会直接运行这个线程。 可以看到kthread_create的实际原型是kthread_create_on_node。 #define kthread_
6 min read