操作系统第3章-1009new

操作系统第3章-1009new

ID:34489793

大小:910.40 KB

页数:72页

时间:2019-03-06

操作系统第3章-1009new_第1页
操作系统第3章-1009new_第2页
操作系统第3章-1009new_第3页
操作系统第3章-1009new_第4页
操作系统第3章-1009new_第5页
资源描述:

《操作系统第3章-1009new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章进程管理§3.1进程的概念场景:一边上网浏览网页,一遍听音乐。只有一个cpu,为什么可以这样?因为在操作系统的支持下,多道程序可以并发执行。显然,多道程序的并发执行可以方便用户。同时,多道程序的并发执行可以提高系统效率黄志华制作版权所有第3章进程管理多道程序的并发执行使得三个程序总运行时间缩短了,§3.1进程的概念原因是cpu没有等待I/O例如:黄志华制作版权所有第3章进程管理§3.1进程的概念可见,多道程序的并发执行是一种客观需求。什么是多道程序的并发执行?在单cpu环境,多个程序在同一时间间隔内都在执行,称为多道程序的并发执行。简单讲,宏观上并行,微观上串行。在多cpu环

2、境,正在运行的程序数量可以大于cpu的数量。黄志华制作版权所有第3章进程管理§3.1进程的概念既然要支持多道程序的并发执行,就需要有效管理程序的执行过程,程序的执行过程即进程,进程包括程序计数器、寄存器和变量的当前值。从概念上说,每个进程都拥有它自己的虚拟CPU。课本中的定义:一个具有独立功能的程序在某个数据集上的执行过程,称为进程。进程是系统进行资源分配的基本单位。黄志华制作版权所有第3章进程管理§3.1进程的概念进程与程序的关系:进程是动态的,程序是静态的。进程具有并发性。进程是系统进行资源分配的基本单位。同一程序在不同的数据集合上的执行过程称为不同的进程。一个经典比喻:程序好

3、比是菜谱,进程好比是按照菜谱炒菜的过程。黄志华制作版权所有第3章进程管理§3.1进程的概念进程与作业的关系:作业是用户向计算机提交的任务实体,进程是完成任务的实体。比如:我布置课后A同学把黑板擦一下,B同学把桌子擦一下,这项任务好比是一个作业。课后A同学擦黑板的过程好比是一个进程,B同学擦桌子的过程好比是另一个进程。黄志华制作版权所有第3章进程管理§3.1进程的概念进程与作业的关系:一个作业可由多个进程组成,且至少由一个进程组成,反之不成立。作业的概念主要用于批处理系统中,而进程概念几乎所有OS都用到。黄志华制作版权所有第3章进程管理§3.2进程的描述1进程控制块PCB(Proce

4、ssControlBlock)PCB在内存中由操作系统维护的描述进程的数据结构,一个进程与一个PCB一一对应。大小一般在几百字节与几千字节之间。PCB中的主要内容:如下图所示黄志华制作版权所有第3章进程管理黄志华制作版权所有第3章进程管理§3.2进程的描述2进程上下文进程上下文实际上是进程执行活动全过程的静态描述。3进程空间任一进程都有一个自己的地址空间,把该空间称为进程空间。进程空间的大小受操作系统的限制,与物理内存没有直接关系。黄志华制作版权所有第3章进程管理§3.3进程的状态及其转换创建撤销调度就绪运行挂起唤醒阻塞黄志华制作版权所有第3章进程管理§3.3进程的状态及其转换就绪

5、队列等待队列黄志华制作版权所有第3章进程管理§3.4进程控制用原语实现上述基本操作。即创建原语、调度原语、挂起原语、唤醒原语和撤销原语。什么是原语?原语是具有原子性的一段代码。原子性即不可分性,原语在执行过程中不会被中断。如何保证不被中断?关中断,………………,开中断黄志华制作版权所有第3章进程管理§3.4进程控制为什么要用原语实现这些基本操作?因为进程状态的改变必须完整地进行,如果在进程状态改变的过程中让CPU转去处理其他事情,系统将会出现难以估计的问题。在原语执行过程中是否可能发生中断?答:有可能。那么这样的中断会被响应吗?黄志华制作版权所有第3章进程管理§3.4进程控制答:因

6、为处于关中断状态,不会响应。没有响应是否导致系统故障严重后果?答:不会。首先,由于原语执行时间非常短,发生这种情况的概率极低。再者,即使遇到,如果中断由某个重要事件引发而没被响应,中断还会发生,由于原语执行时间非常短,这个重要事件还是会在较短时间内被处理的。黄志华制作版权所有第3章进程管理创建操作黄志华制作版权所有第3章进程管理撤消操作黄志华制作版权所有第3章进程管理挂起操作黄志华制作版权所有第3章进程管理唤醒操作黄志华制作版权所有第3章进程管理下一章专门讲调度操作黄志华制作版权所有第3章进程管理(Linux/Unix中创建进程)fork():建立子进程。子进程得到父进程地址空间的

7、一个复制。返回值:成功时,该函数被调用一次,但返回两次,fork()对子进程返回0,对父进程返回子进程标识符(非0值)。不成功时对父进程返回-1,没有子进程exec():用指定程序覆盖当前进程的程序代码。黄志华制作版权所有第3章进程管理(Linux/Unix中创建进程)黄志华制作版权所有第3章进程管理(Linux/Unix中创建进程)#include/*提供类型pid_t的定义,在PC机上与int型相同*/#include

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

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

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