进程线程模型
多道程序设计:
允许多个程序同时进入内存并运行,其目的是为了提高系统效率
并发环境:
一段时间间隔内,单处理器上有两个或两个以上的程序同时处于开始运行但尚未结束的状态,并且次序不是事先确定的
进程的定义:进程是对CPU的抽象
进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位
又称任务
程序的一次执行过程
是正在运行程序的抽象
将一个CPU变幻成多个虚拟的CPU
系统资源以进程为单位分配,如内存、文件、...每个具有独立的地址空间
进程控制块PCB
PCB又称进程描述符、进程属性
操作系统用于管理控制进程的一个专门数据结构
记录进程的各种属性,描述进程动态变化过程
PCB是系统感知进程存在的唯一标志
进程与PCB是一一对应的
进程表:所有进程的PCB集合
PCB包括什么?
进程描述信息、进程控制信息、所拥有的资源和使用情况、CPU现场信息
进程的三种基本状态:
运行态、就绪态、等待态
运行态:占有CPU,并在CPU上运行
就绪态:已经具备运行条件,但由于没有空闲CPU,而暂时不能运行
等待态:(阻塞态、封锁态、睡眠态)因等待某一事件而暂时不能运行,如等待度盘结果
创建new:
已完成创建——进程所必要的工作
-PID、PCB
但尚未同意执行该进程
因为资源有限
终止Terminated:
终止执行后,进程进入该状态
可完成一些数据统计工作
资源回收
挂起suspend:
用于调节负载
进程不占用内存空间,其进程映像交换到磁盘上
七状态进程模型:
进程队列:
操作系统为每一类进程创建一个或多个队列
列队元素为PCB
伴随进程状态的改变,其PCB从一个队列进入另一个队列
进程控制:
原语:完成某种特定功能的一段程序,具有不可分割性或不可中断性
即源于的执行必须是连续的,在执行过程中不允许被中断
进程控制操作完成进程个状态之间的转换,由具体特定功能的原语完成
进程的创建
进程的撤销:
进程阻塞:
进程分类:
系统进程和用户进程
前台进程和后台进程
CPU密集型进程和I/O密集型进程
进程和程序的区别:
进程更准确刻画并发,而程序不能
程序是静态的,进程是动态的
进程有生命周期的,有诞生有消亡,是短暂的;而程序是相对长久的
一个程序可对应多个进程
进程具有创建其他进程的功能
为什么在进程中再派生线程?
1、应用的需要
2、开销的考虑
3、性能的考虑
如何提高服务器工作效率?
网页缓存
线程:
有标识符ID
有状态及状态转换->需要提供一些操作
不运行时需要保存的上下文
有上下文环境:程序计数器等寄存器
有自己的栈和栈指针
共享所在进程的地址空间和其他资源
可以创建、撤销另一个线程
程序开始是一个单线程进程方式运行的