《计算机操作系统》第2章课件_第1页
《计算机操作系统》第2章课件_第2页
《计算机操作系统》第2章课件_第3页
《计算机操作系统》第2章课件_第4页
《计算机操作系统》第2章课件_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机操作系统计算机操作系统1回顾操作系统概论操作系统基本概念和发展史操作系统类型操作系统接口及接口实例批处理分时、实时网络分布式回顾操作系统概论操作系统基本概念和发展史操作系统类型22进程与线程第章2进程与线程第章3本章目标掌握进程的概念掌握进程调度的原理掌握进程通信机制了解线程的概念本章目标掌握进程的概念掌握进程调度的原理掌握进程通信机制4什么是进程什么是进程5什么是进程 进程是一个可并发执行的具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资源分配和保护的基本单位。简单的说:程序的一次执行就是一个进程。什么是进程 进程是一个可并发执行的具有独立功能的程序关于某个6进程的特性一个程序可以派生多个进程。多个不同程序运行时,也会有多个相对应进程与其对应。进程是动态的,有始有终,有生命周期,有进程状态变化。进程的特性一个程序可以派生多个进程。7进程与程序的区别程序是“静止”、无生命的,进程是“活动”的。程序可以脱离机器长期保存,而进程是执行着的程序。程序不具有并发特征,不占系统资源,进程则相反,并受到其他进程的制约和影响。一个程序可对应多个进程。

进程与程序的区别程序是“静止”、无生命的,进程是“活动”的。8进程的三种基本状态运行状态就绪状态等待状态进程的三种基本状态运行状态9进程状态的变迁进程状态的变迁10进程调度的概念进程调度也称为处理机调度,它协调和控制各进程对CPU的使用。相应的进程调度程序可叫分配程序或低级调度程序。进程调度的概念进程调度也称为处理机调度,它协调11进程调度算法调度算法先来先服务最短周期优先优先级法轮转法多队列反馈法进程调度算法调度算法先来先服务最短周期优先12先来先服务只考虑进程进入就绪队列的先后,而不考虑它的下一个CPU周期的长短及其他因素。

p3p2p1进程就绪队列p2p3p1进程就绪队列先来先服务只考虑进程进入就绪队列的先后,而不13先来先服务举例设P1占CPU时间为24ns,P2为3ns,P3为3ns。则执行情况如下所示:

t

0242730P1P2P3结果

p1需24nsp2需(24+3)nsp3需要t3=(24+3+3)ns平均为(24+27+30)/3=27ns先来先服务举例设P1占CPU时间为24ns,P2为3ns,P14最短周期优先法将周期短的进程放在前面,长的放在后面。p1p2p31p1p3p22p2p1p33p3p1p24p3p2p15p2p3p16最短周期优先法将周期短的进程放在前面,长的放在后面。p1p215其他算法优先级法:队列中优先级最高的进程投入运行,而不管CPU周期的长短和其他因素。轮转法:按一定时间片(记为q)轮番运行各个进程。如果q是一个定值,则轮转法是一种对各进程机会均等的调度方法。多队列反馈法:把就绪进程按优先级排成多个队列,同队列的进程具有相同的时间片。高优先级队列的时间片比低优先级队列的小。其他算法优先级法:队列中优先级最高的进程投入运行,而不管CP16死锁死锁就是多个进程竞争资源而形成的一种僵持局面死锁的起因系统内的资源数量不足进程推进的顺序不当防范死锁机制死锁预防死锁避免(防止系统进入不安全状态)检测与恢复打破资源的互斥和不可剥夺条件打破死锁的环路条件死锁死锁就是多个进程竞争资源而形成的一种僵持局面17进程通信软中断(通过发送信号给进程来实现)共享存储(将信息发送到存储区域,供接受进程读取)共享文件(进程间通过共享文件来传达信息)消息传递(把一组比特位传递到对方进程的接受地点)信箱(信箱头和包括若干信格的信箱体组成)进程通信软中断(通过发送信号给进程来实现)共享存储(将18共享存储原理图共享存储原理图19进程控制块进程控制块(PCB)是描述进程名字、状态、程序段与数据段的数据结构。进程控制块进程控制块(PCB)是描述进程名字、状态、程序段与20线程的概念线程是进程的一个实体,被系统独立调度和分配。除寄存器和栈等,本身基本不拥有系统资源。

一个线程可以创建和撤销另一个线程;同一进程中的多个线程之间可以并发执行;线程同样有就绪、阻塞和执行三种基本状态。线程的概念线程是进程的一个实体,被系统独立调21线程与进程的比较线程是调度和分配的基本单位,而进程是资源拥有的基本单位;进程间可并发执行,进程中的线程亦可并发执行;进程的调度与切换都是由操作系统内核完成,而线程则既可由操作系统内核完成,也可由用户程序进行。

线程与进程的比较线程是调度和分配的基本单位,而进程是资源拥有22Linux进程的属性

进程ID;父进程和父进程的ID;用户ID(UID)和所归属的组(GID);进程状态:分为运行R、休眠S、僵尸Z;进程执行的优先级;进程所连接的终端名。Linux进程的属性进程ID;23Linux进程管理工具

Ps:监视进程工具;Pgrep:通过程序的名字来查询进程的工具;

kill:终止进程;top监视系统任务的工具。Linux进程管理工具Ps:监视进程工具;24CPU调度实例实例说明实例目的模块设计流程图

模块测试CPU调度代码实践

CPU调度实例实例说明实例目的模块设计流25实例说明

功能是模拟CPU的调度,调度策略为基于动态优先级的调度策略。实例是使用C语言实现,可以在多种编译工具上进行调试(比如vc6.0,turboc等)。实例说明功能是模拟CPU的调度,调度策略为基于26实例目的强调编写代码规范;加深理解操作系统的CPU调度策略;掌握分析方法:流程图,伪代码,N-S;掌握用c语言开发项目的思路;掌握测试方法;学会书写相关文档。实例目的强调编写代码规范;27模块设计voidmain():CPU调度主函数voidjobSchedule():进程调度voidinitJobs():初始化进程控制块列表voidOSRun():模拟操作系统的运行PCB*createJob():进程创建voidshowJobinfo(PCB*job):显示进程信息voiddoJob(PCB*job):运行指定的进程intrandom(intimaxvalue):生成随机整数

模块设计voidmain():CPU调度主函数28CPU调度流程图CPU调度流程图29进程调试功能模块的流程图进程调试功能模块的流程图30进程调度功能模块的N-S图进程调度功能模块的N-S图31进程调度功能模块的伪代码2-1voidjobSchedule(){inti;#ifDEBUGprintf(“nowstepintojobSchedulefunction……\n”);#endifCURPCB=null;

for(遍历进程列表){

if(进程列表项不为空){

释放进行所占空间;

进程列表项置为空;

continue;

}CURPCB指向进程;}

转下一页……}进程调度功能模块的伪代码2-1voidjobSchedul32进程调度功能模块的伪代码2-2voidjobSchedule(){

……

if(CURPCB不为空){

for(遍历系统进程列表){

if(进程列表项不为空){CURPCB指向当前遍历到的进程;}}}

else{SYS_RUN_FLAG=0;}}进程调度功能模块的伪代码2-2voidjobSchedul33功能模块测试测试方式1:黑盒子测试手工构造进程列表,输出被选中的进程信息测试方式2:白盒子测试用vc6.0工具,设置断点,逐步跟踪,观察变量,条件判断语句的流程等。功能模块测试测试方式1:黑盒子测试34总结进程与线程进程的基本概念、状态和变迁调度与通信CPU调度实例调度算法进程通信线程Linux进程管理总结进程与线程进程的基本概念、状态和变迁调度与通信35习题习题36作业作业37计算机操作系统计算机操作系统38回顾操作系统概论操作系统基本概念和发展史操作系统类型操作系统接口及接口实例批处理分时、实时网络分布式回顾操作系统概论操作系统基本概念和发展史操作系统类型392进程与线程第章2进程与线程第章40本章目标掌握进程的概念掌握进程调度的原理掌握进程通信机制了解线程的概念本章目标掌握进程的概念掌握进程调度的原理掌握进程通信机制41什么是进程什么是进程42什么是进程 进程是一个可并发执行的具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资源分配和保护的基本单位。简单的说:程序的一次执行就是一个进程。什么是进程 进程是一个可并发执行的具有独立功能的程序关于某个43进程的特性一个程序可以派生多个进程。多个不同程序运行时,也会有多个相对应进程与其对应。进程是动态的,有始有终,有生命周期,有进程状态变化。进程的特性一个程序可以派生多个进程。44进程与程序的区别程序是“静止”、无生命的,进程是“活动”的。程序可以脱离机器长期保存,而进程是执行着的程序。程序不具有并发特征,不占系统资源,进程则相反,并受到其他进程的制约和影响。一个程序可对应多个进程。

进程与程序的区别程序是“静止”、无生命的,进程是“活动”的。45进程的三种基本状态运行状态就绪状态等待状态进程的三种基本状态运行状态46进程状态的变迁进程状态的变迁47进程调度的概念进程调度也称为处理机调度,它协调和控制各进程对CPU的使用。相应的进程调度程序可叫分配程序或低级调度程序。进程调度的概念进程调度也称为处理机调度,它协调48进程调度算法调度算法先来先服务最短周期优先优先级法轮转法多队列反馈法进程调度算法调度算法先来先服务最短周期优先49先来先服务只考虑进程进入就绪队列的先后,而不考虑它的下一个CPU周期的长短及其他因素。

p3p2p1进程就绪队列p2p3p1进程就绪队列先来先服务只考虑进程进入就绪队列的先后,而不50先来先服务举例设P1占CPU时间为24ns,P2为3ns,P3为3ns。则执行情况如下所示:

t

0242730P1P2P3结果

p1需24nsp2需(24+3)nsp3需要t3=(24+3+3)ns平均为(24+27+30)/3=27ns先来先服务举例设P1占CPU时间为24ns,P2为3ns,P51最短周期优先法将周期短的进程放在前面,长的放在后面。p1p2p31p1p3p22p2p1p33p3p1p24p3p2p15p2p3p16最短周期优先法将周期短的进程放在前面,长的放在后面。p1p252其他算法优先级法:队列中优先级最高的进程投入运行,而不管CPU周期的长短和其他因素。轮转法:按一定时间片(记为q)轮番运行各个进程。如果q是一个定值,则轮转法是一种对各进程机会均等的调度方法。多队列反馈法:把就绪进程按优先级排成多个队列,同队列的进程具有相同的时间片。高优先级队列的时间片比低优先级队列的小。其他算法优先级法:队列中优先级最高的进程投入运行,而不管CP53死锁死锁就是多个进程竞争资源而形成的一种僵持局面死锁的起因系统内的资源数量不足进程推进的顺序不当防范死锁机制死锁预防死锁避免(防止系统进入不安全状态)检测与恢复打破资源的互斥和不可剥夺条件打破死锁的环路条件死锁死锁就是多个进程竞争资源而形成的一种僵持局面54进程通信软中断(通过发送信号给进程来实现)共享存储(将信息发送到存储区域,供接受进程读取)共享文件(进程间通过共享文件来传达信息)消息传递(把一组比特位传递到对方进程的接受地点)信箱(信箱头和包括若干信格的信箱体组成)进程通信软中断(通过发送信号给进程来实现)共享存储(将55共享存储原理图共享存储原理图56进程控制块进程控制块(PCB)是描述进程名字、状态、程序段与数据段的数据结构。进程控制块进程控制块(PCB)是描述进程名字、状态、程序段与57线程的概念线程是进程的一个实体,被系统独立调度和分配。除寄存器和栈等,本身基本不拥有系统资源。

一个线程可以创建和撤销另一个线程;同一进程中的多个线程之间可以并发执行;线程同样有就绪、阻塞和执行三种基本状态。线程的概念线程是进程的一个实体,被系统独立调58线程与进程的比较线程是调度和分配的基本单位,而进程是资源拥有的基本单位;进程间可并发执行,进程中的线程亦可并发执行;进程的调度与切换都是由操作系统内核完成,而线程则既可由操作系统内核完成,也可由用户程序进行。

线程与进程的比较线程是调度和分配的基本单位,而进程是资源拥有59Linux进程的属性

进程ID;父进程和父进程的ID;用户ID(UID)和所归属的组(GID);进程状态:分为运行R、休眠S、僵尸Z;进程执行的优先级;进程所连接的终端名。Linux进程的属性进程ID;60Linux进程管理工具

Ps:监视进程工具;Pgrep:通过程序的名字来查询进程的工具;

kill:终止进程;top监视系统任务的工具。Linux进程管理工具Ps:监视进程工具;61CPU调度实例实例说明实例目的模块设计流程图

模块测试CPU调度代码实践

CPU调度实例实例说明实例目的模块设计流62实例说明

功能是模拟CPU的调度,调度策略为基于动态优先级的调度策略。实例是使用C语言实现,可以在多种编译工具上进行调试(比如vc6.0,turboc等)。实例说明功能是模拟CPU的调度,调度策略为基于63实例目的强调编写代码规范;加深理解操作系统的CPU调度策略;掌握分析方法:流程图,伪代码,N-S;掌握用c语言开发项目的思路;掌握测试方法;学会书写相关文档。实例目的强调编写代码规范;64模块设计voidmain():CPU调度主函数voidjobSchedule():进程调度voidinitJobs():初始化进程控制块列表voidOSRun():模拟操作系统的运行PCB*createJob():进程创建voidshowJobinfo(PCB*job):显示进程信息voiddoJob(PCB*job):运行指定的进程intrandom(intimaxvalue):生成随机整数

模块设计voidmain():CPU调度主函数65CPU调度流程图CPU调度流程图66进程调试功能模块的流程图进程调试功能模块的流程图67进程调度功能模块的N-S图进程调度功能模块的N-S图68进程调度功能模块的伪代码2-1voidjobSchedule(){inti;#ifDEBUGprintf(“nowst

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论