- 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高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
最近下载
- 会计学原理23版 英文版课件WildFAP23eCh05PPT.pptx
- 华为公司职类职种职级体系的划分及职业发展通道设计.pdf VIP
- 建筑解析流水别墅.pptx
- 2025届高三英语复习语法填空专题(24张PPT).pptx VIP
- 基于PLC的磨矿控制系统设计.docx
- 有限元分析论文.doc VIP
- 苏教版小学科学五年级上册第四单元《水在自然界的循环》大单元教学设计(含练习).docx
- 聚氯乙烯热收缩膜标签验收标准.doc VIP
- 2023年安徽省高中学业水平合格性考试数学试卷真题(含答案详解) (2).pdf VIP
- 2025届江苏省南菁高级中学物理高一第一学期期中达标检测模拟试题含解析.doc
文档评论(0)