操作系统原理与Linux实例设计-第二章

操作系统原理与Linux实例设计-第二章

ID:38322303

大小:459.55 KB

页数:40页

时间:2019-06-10

操作系统原理与Linux实例设计-第二章_第1页
操作系统原理与Linux实例设计-第二章_第2页
操作系统原理与Linux实例设计-第二章_第3页
操作系统原理与Linux实例设计-第二章_第4页
操作系统原理与Linux实例设计-第二章_第5页
资源描述:

《操作系统原理与Linux实例设计-第二章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第二章进程的并发控制2.1程序、进程与并发2.1.1并发概述并发和并行是不同的概念。并行是指在微观上看都可以看作是同时发生的两件或多件事。而并发是指在宏观上可近似看作同时发生的两件或多件事。并行可看作是一种特殊的并发。严格意义上的并行处理只有在多处理器的情况下才有可能发生。而并发是现代处理系统中常有的事。2.1.2程序的顺序执行和并发执行(介绍程序执行的过程)顺序执行:一个程序执行完以后才去执行下一个。优点:便于控制。缺点:浪费资源,不分轻重缓急。并发执行:两个或多个程序交替执行。优点:资源利用率高,更合理。缺点:控制复杂,可能产生死锁。2.1.3 进

2、程及其运行环境进程的定义:可并发执行的程序,在一个数据集合上运行的过程。进程与程序的关系:一个程序可以对应一个或多个进程;一个进程可以对应一个程序,或者对应程序的某一部分。(正解?)认为:进程首先是可执行的程序;进程是针对操作系统而言的;在编制进程程序时应合乎进程运行的规则。进程运行的几个基本特征:动态性;并发性;独立性;异步性;进程的运行是并发的,也会带来一些问题:(1)增加了空间开销(2)额外的时间开销(3)难于控制(4)处理器竞争尤为突出2.2 进程的状态转换进程是一个过程,从产生到灭亡,有若干个状态。2.2.1 五状态进程模型执行状态阻塞状态就

3、绪状态新建状态终止状态五状态间的相互转换:图2-5 五状态进程模型新建终止就绪阻塞执行接纳事件发生事件等待完成时间片完分派/调度2.2.2 进程的挂起状态对换技术的引入:进程较多,但都在等待同一I/O操作,将一些进程调到外存,而调入新进程。被调出的进程称为挂起进程。可能出现挂起的情形:进程全部阻塞;系统负荷过重;操作系统的需要;终端用户的请求;父进程的需求;挂起进程的特征:不能立即执行;不同于阻塞进程;能实施挂起的进程包括自身、父进程或操作系统;只有实施挂起操作的进程才能激活被挂起进程。2.2.3Linux的进程及其状态转换Linux进程分为三类:交互

4、进程;批处理进程;守护进程。PCB:即数据结构task_struct,包含以下信息:进程状态;调度信息;标识符;进程通信相关信息;链接信息;时间信息;文件系统信息;虚拟内存信息;处理器信息。2.3操作系统对进程的控制2.3.1操作系统内核核心操作。包括资源管理和支撑功能。资源管理:进程管理;存储管理;I/O设备管理;支撑功能:中断处理;原语操作(由若干机器指令构成,能完成一定的较复杂的功能);时钟管理;2.3.2进程的构成及组织进程由三部分构成:程序;数据集合;进程控制块;2.3.3进程控制块PCB进程标识符信息外部标识符;内部标识符。2.处理器状态信

5、息:这些信息放在各个寄存器中,包括:通用寄存器;指令寄存器;程序状态字PSW;用户堆栈指针;3.进程调度信息进程状态;进程优先级;进程调度有关的其它信息(与算法有关);事件。4.其它信息程序和数据的地址;进程同步和通信机制;资源清单;链接指针。2.3.4操作系统对进程的控制包括:进程的创建与撤销创建的过程:分配标识符;分配空间;初始化PCB;建立链接;建立或扩展其它数据结构。终止进程的步骤有:找到PCB,读状态;若为执行态,终止之,调度下一就绪进程执行;若有子孙进程,终止他们;归还该进程的全部资源到系统或父进程;将其PCB从所在队列移出。2.进程的阻塞

6、与唤醒阻塞的原因:请求系统服务;启动某种操作;新数据尚未到达;无事可做,需等待。可自己阻塞自己,需要由操作系统或阻塞它的进程唤醒。3.进程的挂起与激活调用原语执行。4.进程切换分时系统中,分配时间片用完,转而执行另外的进程。2.3.5Linux 对进程的控制创建;撤销。2.3.6Linux的内核机制机制的引入;机制的数据结构;任务队列:定时器队列;即时队列;进程调度队列。2.4线程—另一种并发实体2.4.1 进程与线程进程包括申请资源,具体执行程序等(即调度)。将传统意义的进程分为两部分,新的进程作为资源申请与拥有的基本单位,线程作为调度的基本单位。要

7、有专门的语言支持多进程、多线程。线程与进程的异同:调度;并发性;拥有资源;系统开销。2.4.2多线程并发线程从属于进程,一般拥有进程的状态,但一般不具有挂起状态。对线程的操作:派生;阻塞;解除阻塞;结束。2.4.3线程的类型用户级线程即由用户依据一定的平台而编制的线程。2.内核级线程用户无法直接对线程进行操作。2.4.4Linux的进程与线程管理该系统支持许多标准的内核级线程。2.5进程调度即采取什么原则让某一进程执行,即算法。2.5.1调度的目标、原则和方式目标:要公平合理;处理器利用率要高;系统吞吐量要大;尽量减少进程的响应时间。原则:(1)面向用

8、户的原则响应时间;周转时间;截至时间。(2)面向系统的原则系统吞吐量;处理器利用率;各类资源的

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

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

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