- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4 linux线程与进程
第4章 进程与线程 4.1进程 2.进程 什么是程序? 进程的定义:可并发执行的程序在一个数据集合上的运行过程。 进程的特性 动态性:进程具有一定的生命周期,它由创建而产生,由调度而执行,因得不到自由而暂停执行,由撤销而消亡。 并发性:多个进程在同一时间内同时执行(有别于并行) 独立性:系统中处理机调度的基本单位,系统自由分配的基本单位。 异步性:进程安装独立的、不可确定的时间发生 4.进程的状态及转换 一、进程的基本状态 执行态:进程获得CPU,开始执行 就绪态:已经获得除CPU之外的资源 阻塞(等待)态:进程遇到某些阻塞事件二暂停执行的状态 二、进程的状态转换 5、进程的组成 程序段 数据段 进程控制块(Process Control Block) 1.系统为了管理进程设置了一个专门的数据结构,用于记录进程的外部特征,描述进程的动态变化过程,这就是PCB。 2.PCB的内容: 记录了管理进程所必须的信息 标识信息 进程表示(进程名字、内部标识)、用户名 说明信息 进程状态、等待原因、进程程序和数据的存储信息 现场信息 记录保存了重要寄存器、时钟等内容,用于恢复断点 管理调度信息 进程优先数、进程队列指针、消息队列指针、进程使用的资源清单、进程家族关系、进程当前打开的文件 进程控制块(Process Control Block) 1.系统为了管理进程设置了一个专门的数据结构,用于记录进程的外部特征,描述进程的动态变化过程,这就是PCB。 2.PCB的内容: 记录了管理进程所必须的信息 标识信息 进程表示(进程名字、内部标识)、用户名 说明信息 进程状态、等待原因、进程程序和数据的存储信息 现场信息 记录保存了重要寄存器、时钟等内容,用于恢复断点 管理调度信息 进程优先数、进程队列指针、消息队列指针、进程使用的资源清单、进程家族关系、进程当前打开的文件 3.PCB表 为了便于管理,把所有PCB用数组或链表组织在一起 进程的控制 1、CPU的两种执行状态 为了保护系统中的关键数据不被侵犯采取的措施。 (1)系统态:CPU能执行任何指令,能访问任何寄存器、存储器 (2)用户态:不能执行特权指令,不能随意访问寄存器、存储器 2.操作系统的内核 中断处理 时钟管理 原语操作:指具有原子性的操作。要么全完成,要么全不完成。 进程管理 存储器管理 设备管理 3.进程的创建时机 用户登陆 作业调度 提供服务 应用请求 4。进程创建过程 取得一个空白PCB 为进程分配必要的资源 初始化PCB 将PCB插入就绪队列 5.Linux中的进程创建 Linux在启动时运行在核心态,此时只有初始化程序在执行——初始进程 系统初始化结束时,初始进程启动一个核心进程(线程)init,然后执行空循环,什么也不做。 除init外,所有进程都是由其他进程创建的。 什么是Init进程? Init进程的进程表示号为1,是系统中第一个真正的进程,是其他进程的祖先 Linux中 如何创建进程? linux中提供了系统调用函数fork和clone,用来创建子进程 do_fork()函数:是内核函数, fork和clone是通过此函数完成子进程的创建 6.进程的终止 (1)进程终止的时机 进程的正常结束 在进程执行期间调用exit,或在main函数中执行return语句,或者main函数执行完,进程就正常结束。 进程的异常结束 由于出现错误或故障而被迫结束。如:程序访问越界的内存、特权指令错、被0除、电源故障等。 在linux中,进程调用abort或收到进程外所发来的信号而结束,就是异常结束。 6.进程的终止 (2)进程终止的过程 不管进程是正常还是异常结束,都是由OS内核的进程终止原语来完成进程的终止。 进程的终止原语完成的工作: 1)取得当前进程的PCB 2)归还进程所占的资源,如:关闭打开文件、退出文件系统等 3)进入进程调度程序 6.进程的终止 (3)linux中的进程终止 通过调用内核函数do_exit() do_exit()的工作过程: 首先取得当前进程task_struct结构 根据PCB中的内容进行资源的归还 通知其父进程和子进程“我将结束” 最后调用内核函数schedule()重新进行进程调度 7.进程的阻塞和唤醒 (1)进程阻塞和唤醒的时机 当进程请求系统为它服务时,系统不能马上提供服务,此时进程进入阻塞态 启动了无法马上完成的操作,如I/O操作,则进入阻塞态;当I/O操作完成时,系统会唤醒该进程。 进程间相互合作时,需要等其他进程的运行结果,此时进入阻塞态;直到运算结果出来,则被唤醒。 有些系统服务进程,如:打印服务进程 7.进程的阻塞和唤醒 (2)进程阻塞的过程 阻塞是
您可能关注的文档
最近下载
- 心理卫生与心理咨询填空题.doc VIP
- 2023高考英语复习之高频词长难句练习2 全国乙卷七选五(解析版).pdf VIP
- 【高中化学】13个知识点的易错集锦.pdf VIP
- 现场签证单表格.docx VIP
- 中央财经大学后勤处、后勤服务产业集团 全员聘用管理暂行办法.doc VIP
- 2025中央财经大学后勤服务产业集团工程管理岗招聘1人(非事业编制)笔试备考试题及答案解析.docx VIP
- 最新国家开放大学国开电大《离散数学》形考任务+大作业答案.pdf VIP
- 现场签证单表格优质资料.doc VIP
- 24J331地沟及盖板参考图集.docx
- 汽车维修清单表(含使用说明).docx VIP
文档评论(0)