操作系统原理_方敏_进程与线程基本知识

操作系统原理_方敏_进程与线程基本知识

ID:33459777

大小:671.01 KB

页数:22页

时间:2018-05-24

操作系统原理_方敏_进程与线程基本知识_第1页
操作系统原理_方敏_进程与线程基本知识_第2页
操作系统原理_方敏_进程与线程基本知识_第3页
操作系统原理_方敏_进程与线程基本知识_第4页
操作系统原理_方敏_进程与线程基本知识_第5页
资源描述:

《操作系统原理_方敏_进程与线程基本知识》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、进程和线程基本知识操作系统课程组内容安排进程的基本概念进程调度进程间的相互作用线程的基本概念2进程的基本概念定义进程是程序的一次执行,该进程可与其它进程并发执行;它是一个动态的实体,在传统的操作系统设计中,进程既是资源的基本分配单元,也是基本的执行单元。进程与程序的区别和联系程序是静态的,进程是动态的。程序是有序代码的集合;进程是程序的一次执行。进程是暂时的,程序的永久的。进程是一个变化的过程,有生命周期,暂时存在,程序没有生命周期,可长久保存。进程还是操作系统资源分配和保护的基本单位,程序没有此功能。进程与程序的对应

2、关系。通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。进程与程序的结构不同。3进程的基本概念进程的组成PCBProcessControlBlock灵魂,进程存在的唯一标志。数据程序程序:描述了进程要完成的功能,是进程执行时不可修改的部分。数据:进程执行时用到的数据(用户输入的数据、常量、静态变量)。工作区工作区:参数传递、系统调用时使用的动态区域(堆栈区)。实体4进程的基本概念进程/线程的执行运行Running被调度时间片用完,中断资源释放或事件完成阻塞Blocked等待资源和事件进程占有处

3、理机,处理机正在执行该进程的程序。进程已获得除处理机外的所需资源,等待分配处理机执行。也叫等待、挂起、睡眠态,此时进程因等待某种条件(如I/O操作或进程同步)无法运行。引起进程阻塞的原因很多,系统将根据不同的阻塞原因将进程插入某个相应的阻塞队列中。就绪Ready5进程的基本概念运行就绪阻塞被调度时间片用完,中断资源释放或事件完成等待资源和事件新建创建完毕结束结束执行五种进程状态转换6进程的基本概念进程的特征并发性:执行时间可以重叠;动态性:有生命周期,存在不同的状态;独立性:独立执行,是资源分配和调度的独立单位;制约性

4、:虽然独立执行,但可能存在相互制约关系;异步性:各进程执行时间相对独立,不确定;结构性:拥有固定结构。7进程调度定义就是按照一定的算法,从就绪队列中选择某个进程占用CPU的方法——对CPU资源进行合理的分配使用,以提高处理机利用率,并使各进程公平得到处理机资源。进程调度算法先来先服务调度算法(FCFS,FirstComeFirstServed)PCBPCBPCBPCB就绪队列CPU8进程调度基于优先数的调度算法(PrioritySchedulingAlgorithm)思想:给每一个进程设置一个优先数(优先级),系统在调

5、度时优先选择具有高优先级的进程占用CPU。具有相同优先数的进程按照FCFS算法执行。优先数的确定:运行前:可根据外设的使用情况,运行时间的长短,紧急程度,重要程度等因素确定。运行中:静态优先数法:进程创建时就规定好它的优先数,这个数值在进程运行时不变。动态优先数法:进程的优先数在执行过程中可以根据情况变化而改变。9进程调度时间片轮转法(RR,RoundRobin)特点:专门为分时系统设计。类似于FCFS算法但是增加了抢占及进程间的切换功能。思想:系统规定一个时间长度(时间片/时间量)作为允许一个进程运行的时间,如果在这

6、段时间该进程没有执行完,则必须让出CPU等待下一次分配的时间片。PCBPCBPCBPCBCPU就绪队列时间片用完执行10进程调度多级反馈队列调度算法(MultilevelFeedbackQueueScheduling)思想:引入多个就绪队列,通过对各队列的区别对待,达到一个综合的调度目标。CPU降低进程优先级完成PCBPCBPCBPCB最高优先级队列PCBPCBPCBPCB次高优先级队列PCBPCBPCBPCB低优先级队列执行时间递增11进程间的相互作用同步进程之间相互合作、协同工作的关系称为进程的同步。简单说来就是:

7、多个相关进程在执行次序上的协调。进程间的直接制约。临界资源也称独占资源,是指在一段时间内只允许一个进程访问的资源。例如打印机,磁带机,也可以是进程共享的数据、变量等。互斥定义:当多个进程因为争夺临界资源而互斥执行称为进程的互斥。进程间的间接制约。12进程间的相互作用互斥解决方案关中断法(开关中断指令)也称为“硬件锁”,是实现互斥最简单的方法。做法:每个进程在进入临界区后先关中断,屏蔽其它请求,在离开之前再开中断。锁变量法(测试和设置指令)做法:设置一个共享(锁)变量W,初值为0。当一个进程想进入其临界区时,它首先测试这

8、把锁。如果锁的值为0,则进程将其置为1并进入临界区。若锁已经为1,则进程等待直到其变成0。于是,0就表示临界区内没有进程,1表示已经有某个进程进入了临界区。其它方法Dekker算法:进程被强制轮流进入临界区(不管是否愿意)。Peterson算法:设置标识指示是否又要求进入临界区。……13进程间的相互作用信号量(Semaphore)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。