[所有分类]Linux进程管理.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[所有分类]Linux进程管理

Linux 进程管理 张其亮 Email:zql6661979@163.com Summary Linux进程概述 Linux进程的状态和标识 Linux进程调度 Linux进程的创建撤消 Linux进程间的通信机制 Linux 信号量机制 Linux进程概述 Linux进程组成 正文段: 用户数据段: 系统数据段: Linux进程概述 Linux进程概述 ——Linux的PCB是一个名为task_struct的数据结构,称为任务结构体。它包含linux进程的所有信息,是linux的核心数据结构。 task_struct 结构定义在include/linux/sched.h Linux进程概述 task_struct的主要内容 1)进程的状态:state 2)进程的标识: pid 、uid、gid、euid、egid。。。。 3)进程的族亲关系。 4)进程间的链接信息: next_task、 prev_task 、 next_run 、 prev_run 。 5)进程的调度信息: policy、 Priority、 Rt_Priority、 Counter。 6)进程的时间信息。 7)进程的虚拟信息:mm 8)进程的文件信息 9)与进程通信有关的信息: signal, blocked,sig Linux进程概述 向量表task数组 因为系统中同时会有多个进程在活动,为了方便管理,系统必须能够很容易地找到任一个进程的结构。向量表task是一个指针数组,其中的每一个指针指向系统中的一个task_struct数据结构。 Linux进程概述 双向循环链表 为了加快访问任务结构体的速度,Linux把系统中所有的任务结构体相互连接成一个双向循环链表。 Linux进程概述 nr_tasks 为了记录系统中实际存在的进程数,它是系统定义的一个全局变量,其值随系统中存在的进程数目而变化。 在kernel/fork.c中,它的定义及初始化如下: Int nr_tasks =1; Linux进程概述 Linux进程概述 Linux进程在处理机上的执行状态 在Linux系统中,用户不能直接访问系统资源,如处理机、寄存器、存储器和各种外围设备。因此提供了两种不同指令: 为了区分处理机在执行那种指令,通常将处理机的执行状态又分为两种: Linux进程概述 进程空间和系统空间 Linux进程的状态和标识 Linux进程的状态(5种) 每个进程在系统中所处的状态记录在它的任务结构体的成员项state中。 #define TASK_RUNNING 0 可运行态(执行、就绪) #define TASK_INTERRUPTIBLE 1 可中断的等待态 #define TASK_UNINTERRUPTIBLE 2 不可中断的等待态 #define TASK_ZOMBLE 3 僵死态 #define TASK_STOPPED 4 暂停态 Linux进程的状态和标识 Linux进程的状态 Linux进程的状态和标识 Linux进程的状态和标识 等待态(wait)——阻塞 在linux中将该状态进一步划分为: 可中断的等待态(interruptible):该状态的进程可以由信号(signal)解除其等待态。 不可中断的等待状态(uninterruptible):该状态的进程,一般都是直接或间接在等待硬件条件,只能用特定的方式来解除其等待状态,如使用wakeup()。 Linux进程的状态和标识 Linux中等待队列是由一个wait_queue结构体组成的单向循环链表。该结构体定义在include/linux/wait.h中,如下所示: Struct wait_queue { Struct task_struct *task;/*指向一个等待态的进程的任务结构体*/ Struct wait_queue *next;/*指向下一个wait_queue结构体*/ } Linux进程的状态和标识 Linux进程的状态和标识 暂停态(stopped):进程由于需要接受某种特殊处理而暂时停止运行所处的状态。通常,进程在接受到外部进程的某个信号(SIGSTOP、SIGSTP、SIGTTOU)而进入暂停态。通常正在接受调试的进程就处于暂停态。 僵死态(zombie):进程的运行已经结束,但是由于某种原因它的进程结构体仍在系统中。 Li

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档