标签:
一、进程概念
进程是程序执行的一个实例。操作系统会以进程为单位,分配系统资源,进程是资源分配的最小单位。
二、进程描述符
1.进程描述符包含了与一个进程相关的所有信息。
struct task_struct{
进程信息
}
2.进程描述符处理
对于每一个进程而言,内核为其单独分配了一个内存区域,这个区域存储的是内核栈和该进程所对应的一个小型进程描述符——thread_info结构。
struct thread_info {
}
三、进程状态
可运行(TASK_RUNNING)
可中断的等待(TASK_INTERRUPTBLE)
不可中断的等待(TASK_UNINTERRUPTILBE)
暂停(TASK_STOPPED)
跟踪(TASK_TRACED)
僵死(TASK_ZOMBIE)
僵死撤销(EXIT_DEAD)
线程
线程存在于进程当中,是操作系统调度执行的最小单位。说通俗点,线程就是干活的。
四、进程间关系
进程0和进程1由内核创建,进程1(init)是其他所有进程的祖先。
五、进程与等待队列
等待队列(wait queue)用于使进程带等待某一特定的事件发生,而无需频繁的轮询操作,进程在等待时间内睡眠,在等待的事件发生时由内核自动唤醒
1.等待队列相关数据结构
每一个等待队列都由两部分组成:等待队列头(struct wait_queue_head_t)和等待队列成员(struct wait_queue)。
五、进程创建
fork vfork
标签:
原文地址:http://www.cnblogs.com/liuchengchuxiao/p/4207350.html