资源预览内容
第1页 / 共37页
第2页 / 共37页
第3页 / 共37页
第4页 / 共37页
第5页 / 共37页
第6页 / 共37页
第7页 / 共37页
第8页 / 共37页
第9页 / 共37页
第10页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
操作系统概念第三讲 进程控制上章回顾作业周期分为哪几阶段?操作系统的五大功能模块是什么?本课总体纲要程序的并发进程的概念(Process Concept)进程控制块(PCB)进程上下文(Process Context)进程空间(Process Space)进程的状态转换进程调度(Process Scheduling)进程控制(Operations on Processes)线程(Thread)线程的适用范围线程的分类程序并发(1)什么程序?什么程序?是一个在时间上严格按照先后次序操作的指令序列是一个在时间上严格按照先后次序操作的指令序列静态性静态性单道程序设计时程序执行顺序的特点:单道程序设计时程序执行顺序的特点:顺序性:严格程序规定的状态转移封闭性:结果由初始条件决定,不受外界影响可再现性:与执行速度无关程序并发(2)多道程序系统中的程序执行独立性:逻辑上独立随机性:输入与程序开始时间是随机的资源共享性:硬件和软件资源共享程序并发(3)程序并发:是为了增强计算机的处理能力程序并发:是为了增强计算机的处理能力和提供资源的利用率所设计的一种同时操和提供资源的利用率所设计的一种同时操作技术作技术程序并发的影响:程序并发的影响:优点:提高资源利用率优点:提高资源利用率缺点:必然导致资源共享和竞争,从而改变缺点:必然导致资源共享和竞争,从而改变程序的执行速度。程序的执行速度。如果并发程序不按照特定的规则和方法进行如果并发程序不按照特定的规则和方法进行资源共享和竞争,则其执行结果将不可避免资源共享和竞争,则其执行结果将不可避免失去封闭性和可再现性。失去封闭性和可再现性。程序并发(4)Proc getAddr(top)BeginLocal rR(top)Toptop-1Return(r)endProc reladdr(blk)BeginToptop+1(top)blkend进程的概念什么进程?什么进程?一个被调入内存正在执行的程序。一个被调入内存正在执行的程序。一个具有独立功能的程序对某个数据一个具有独立功能的程序对某个数据集在集在CPU处理器上的执行过程。处理器上的执行过程。独立分配资源的基本单位独立分配资源的基本单位。进程包括:进程包括:代码段代码段堆栈段堆栈段数据段数据段进程和程序的区别进程进程程序程序动态动态静态静态并行性并行性没有并行性没有并行性竞争系统资源的竞争系统资源的基本单位基本单位不具有资源的竞不具有资源的竞争性争性不同进程可以包不同进程可以包含同一个程序,含同一个程序,该程序对应的数该程序对应的数据集不同据集不同可以有多个进程可以有多个进程进程和作业的区别1.作业是用户需要计算机完成某项任务时要作业是用户需要计算机完成某项任务时要求计算机所做工作的集合。求计算机所做工作的集合。作业是用户向计算机提交任务的任务实作业是用户向计算机提交任务的任务实体。体。进程是进程是 执行任务的执行实体执行任务的执行实体2.一个作业可以由多个进程组成,反之不成一个作业可以由多个进程组成,反之不成立立3.作业的概念用于批处理系统,进程的概念作业的概念用于批处理系统,进程的概念用于分时系统。用于分时系统。进程控制块PCB进程控制块包含与特定进程相关的信息进程状态进程号程序计数器CPU寄存器CPU调度信息内存管理信息记帐信息I/O状态信息CPU如何进行进程切换进程上下文进程上下文:是进程执行活动全过程的静态描述。进程上下文PCB各种控制表指针各种寄存器正文集数据集栈区进程空间任何一个进程都有自己的地址空间进程在进程空间内执行进程空间分为用户空间和系统空间用户程序在用户空间执行,操作系统的内核在系统空间执行用户模式和系统模式本课总体纲要程序的并发进程的概念(Process Concept)进程控制块(PCB)进程上下文(Process Context)进程空间(Process Space)进程的状态转换进程调度(Process Scheduling)进程控制(Operations on Processes)线程(Thread)线程的适用范围线程的分类进程的状态本课总体纲要程序的并发进程的概念(Process Concept)进程控制块(PCB)进程上下文(Process Context)进程空间(Process Space)进程的状态转换进程调度(Process Scheduling)进程控制(Operations on Processes)线程(Thread)线程的适用范围线程的分类进程调度进程调度(1)调度队列(调度队列(queues)作业队列(作业队列(job queue)就绪队列就绪队列(Ready queue)设备队列设备队列(Device queue)进程调度进程调度(2)调度程序调度程序长期调度程序(几分钟)短期调度程序(100ms)中期调度程序本课总体纲要程序的并发进程的概念(Process Concept)进程控制块(PCB)进程上下文(Process Context)进程空间(Process Space)进程的状态转换进程调度(Process Scheduling)进程控制(Operations on Processes)线程(Thread)线程的适用范围线程的分类进程控制(1)进程控制:进程控制:系统使用一些具有系统使用一些具有特定功能特定功能的程序段来的程序段来创建创建、撤销撤销进程并完成进程各状态间的进程并完成进程各状态间的转换,从而达到转换,从而达到多进程高效率并发执行和协调多进程高效率并发执行和协调实现资源共享实现资源共享进程控制(2)原语:原语: (atomic operation)在系统模式下执行的某些特定功能的程序段。在系统模式下执行的某些特定功能的程序段。原语分为两类原语分为两类: (1)机器指令级的机器指令级的 (2)功能级的功能级的特点:作为原语的程序段不允许并发特点:作为原语的程序段不允许并发作用:通常把进程控制用的程序段作成原语作用:通常把进程控制用的程序段作成原语进程控制原语有:进程控制原语有:创建原语创建原语撤销原语撤销原语阻塞原语阻塞原语唤醒原语唤醒原语进程控制(3)进程创建进程创建由系统程序模块统一创建,如批处理系统由系统程序模块统一创建,如批处理系统进程通过进程通过系统调用系统调用可以创建新进程。父进程创建子可以创建新进程。父进程创建子进程。并由此而形成一个进程树。进程。并由此而形成一个进程树。资源共享资源共享父进程可与子进程共享所有资源父进程可与子进程共享所有资源子进程可享用父进程的子资源子进程可享用父进程的子资源父子进程共享初始化数据父子进程共享初始化数据限制子进程只能使用父进程资源子集限制子进程只能使用父进程资源子集执行进程执行进程父进程与子进程并发执行父进程与子进程并发执行父进程等待,直到某个或全部子进程执行完毕父进程等待,直到某个或全部子进程执行完毕父子进程控制图进程控制(4)创建入口入口查查PCB链表链表有空有空PCB取空表取空表PCB(i)将参数填入表中将参数填入表中PCB(i)进入就绪队列进入就绪队列PCB(i)进入进程链表进入进程链表返回返回创建失败创建失败无进程控制(5)撤销入口入口查查PCB链表链表有此有此PCB释放该进程所占用的所有资源释放该进程所占用的所有资源释放释放PCB结构本身结构本身返回返回处理错误处理错误该该PCB有子进程有子进程有无进程控制(6)阻塞入口入口保存当前进程的保存当前进程的CPU现场现场设置进程的状态设置进程的状态被阻塞的进程入等待队列被阻塞的进程入等待队列转换进程调度转换进程调度进程控制(7)唤醒入口从等待队列中取出被唤醒的进程将被唤醒的进程设置为就绪态将被唤醒的进程送入就绪队列转换进程调度或返回本课总体纲要程序的并发进程的概念(Process Concept)进程控制块(PCB)进程上下文(Process Context)进程空间(Process Space)进程的状态转换进程调度(Process Scheduling)进程控制(Operations on Processes)线程(Thread)线程的适用范围线程的分类线程的概念线程定义:线程定义:一个进程内的基本调度单位,也称为一个进程内的基本调度单位,也称为轻权进程。线程既可以由操作系统内轻权进程。线程既可以由操作系统内核调度,也可以由用户程序控制核调度,也可以由用户程序控制引入线程的目的:引入线程的目的:提高系统执行效率,减少处理机空转提高系统执行效率,减少处理机空转时间和调度切换时间,便于系统管理时间和调度切换时间,便于系统管理线程的概念多线程系统中进程和线程的关系:多线程系统中进程和线程的关系:线程和进程的区别进程线程程序独立资源分配的基本单位CPU执行的基本单位独立地址空间共享同一地址空间与进程共享资源调度开销较大调度开销较小线程的适用范围服务器中的文件管理或通信控制减少内存开销前后台处理减少处理机切换时间和提高执行速度异步处理程序中的两部分如果在执行上没有顺序规定,则这两部分程序可用线程执行线程的分类用户线程系统线程管理由用户程序完成 管理由操作系统内核完成系统开销小小于进程开销,大于用户线程开销上下文切换在用户栈、用户寄存器之间进行,不涉及处理机状态可以被调度到一个处理机上并发运行,也可以在不同的处理机上并行执行会被阻塞或处于等待状态不会处于阻塞或等待状态。总结程序的并发进程的概念(Process Concept)进程控制块(PCB)进程上下文(Process Context)进程空间(Process Space)进程的状态转换进程调度(Process Scheduling)进程控制(Operations on Processes)线程(Thread)线程的适用范围线程的分类习题1.书上习题3.22.书上习题3.43.书上习题3.15
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号