- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux的进程管理技术文档
PAGE 1
PAGE 14
第二章 Linux的进程管理
Linux是一个多任务多用户操作系统,
一个任务(task)就是一个进程(process)。每一个进程都具有一定的功能和权限,它们都运行在各自独立的虚拟地址空间。
在Linux中,进程是系统资源分配的基本单位,也是使用CPU运行的基本调度单位。
§2.1 Linux进程概述
一.Linux进程的组成
存放在磁盘上的可执行文件的代码和数据的集合称为可执行映象(Executable Image)。
当一个程序装入系统中运行时,它就形成了一个进程。
进程是由正文段(text)、用户数据段(user segment)和系统数据段(system segment)组成的一个动态实体。
正文段中存放着进程要执行的指令代码,具有只读的属性,
用户数据段是进程在运行过程中处理数据的集合,它们是进程直接进行操作的所有数据, 以及进程使用的进程堆栈。
系统数据段存放着进程的控制信息。其中包括进程控制块PCB。
进程控制块PCB是名字为task_struct的数据结构,它称为任务结构体
任务结构体中容纳了一个进程的所有信息,是系统对进程进行管理和控制的有效手段,是系统实现进程调度的主要依据。
当一个进程被创建时,系统就为该进程建立一个task_struct任务结构体。当进程运行结束时,系统撤消该进程的任务结构体。
进程的任务结构体是进程存在的唯一标志。
Linux在内存空间中开辟了一个专门的区域存放所有进程的任务结构体。
在操作系统的内核空间设置了一个task数组,该数组的每一个元素是一个指向任务结构体的指针,所以task数组又称为task向量。
struct task_struct *task[NR_TASKS] = {init_task};
#define NR_TASKS 512
全局变量nr_tasks,记录着系统中存在的进程数目。
int nr_tasks = 1;
二.Linux进程的状态
运行态:进程正在使用CPU运行的状态。处于运行态的进程又称为当前进程(current process)。
可运行态:进程已分配到除CPU外所需要的其它资源,等待系统把CPU分配给它之后即可投入运行。
等待态:又称睡眠态,它是进程正在等待某个事件或某个资源时所处的状态。 等待态进一步分为可中断的等待态和不可中断的等待态。处于可中断等待态的进程可以由信号(signal)解除其等待态。处于不可中断??待态的进程,一般是直接或间接等待硬件条件。 它只能用特定的方式来解除,例如使用唤醒函数wake_up()等。
暂停态:进程需要接受某种特殊处理而暂时停止运行所处的状态。通常进程在接受到外部进程的某个信号进入暂停态,例如,正在接受调试的进程就处于这种状态。
5.僵死态:进程的运行已经结束,但它的任务结构体仍在系统中。
三.核心态和用户态
Linux的进程处理机上运行时,处理机提供了两种不同的的执行状态,
核心态(kernel mode)和用户态(user mode)。
核心态又称系统态,它具有较高的特权,能执行所有的机器指令,包括由操作系统执行的特权指令,能访问所有的寄存器和存储区域,能直接控制所有的系统资源。 Linux在执行内核程序时是处于核心态下。
用户态是进程的普通执行状态,在用户态下进程具有较低的特权, 只能执行规定的机器指令,不能执行特权指令。进程在用户态下只能访问进程的存储空间。在用户态下进程不能与系统硬件相互作用,不能访问系统资源。
四.进程空间和系统空间
系统为每个进程分配一个独立的虚拟地址空间(虚拟内存)。进程的虚拟地址空间被分做两个部分,用户空间和系统空间。
用户进程本身的程序和数据(可执行映象)映射到用户空间中。进程空间中还有进程运行用户程序时使用的堆栈,称为进程堆栈。
系统对这个进程进行控制和管理的信息,如进程控制块等,也映射到进程空间。
内核堆栈也在进程空间中。
内核被映射到所有进程的系统空间中。它们只允许在具有较高特权的核心态下访问。进程运行在特权较低的用户态下时,不允许它直接访问系统空间。
进程只能通过系统调用(system call)转换为核心态后,才能访问系统空间。
一个进程在运行过程中,总是在两种执行状态之间不断地转换。
五.进程上下文和系统上下文
把系统提供给进程的处于动态变化的运行环境总和称为进程上下文。系统中的每一个进程都有它自己的上下文。
进程因时间片用完或因等待某个事件而阻塞时,进程调度需要把CPU的使用权从当前进程交给另一个进程,这个过程称为进程切换(procdss switching)。
进程的切换又称为上下文切换(context switching).。
在系统内核为用户进程服务,例如进程执行一个系统调用时,
您可能关注的文档
- k38+71190钢便桥方案1.doc
- K121+1995引黄渠便桥施工方案.doc
- K3地下室同条件试块留置方案.doc
- K3标准V121系统标准报价.doc
- K3+4415箱涵施工方案.doc
- K72+800圆管涵施工方案doc文档.doc
- K6K7质量管理协议.doc
- k32+231钢筋混凝土盖板涵工程施工组织设计2.doc
- K78+63552-2m盖板涵接长方案吊轨梁.doc
- KA2003DH型小电流选线装置技术协议.doc
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
最近下载
- 2024届高考写作指导:“劳动之苦与劳动之美”审题指导及优秀范文两篇精品.docx
- 部编统编1张凯+快乐读书吧《非洲民间故事》导读课公开课教案教学设计.docx VIP
- 糖尿病性酮症酸中毒课件.pptx
- 科学教育出版社七年级上册劳动实践手册教案.docx VIP
- 《当代中文》第一课--您贵姓.ppt VIP
- 部编版五年级语文上册第六单元质量评价试卷(含答案).pdf VIP
- 第三章 地球的面貌-2024-2025学年七年级地理上册单元速记清单(湘教版2024).docx VIP
- 九年级上学期家长会.11.ppt省名师优质课赛课获奖课件市赛课一等奖课件.pptx
- 国开(电大)《现代汉语专题》形考作业1-6参考答案(下载可编辑).pdf
- 2.6 直角三角形(原卷版).docx VIP
文档评论(0)