linux线程 ppt,4 linux线程与进程.ppt

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)进程阻塞的过程 阻塞是

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值