欢迎来到天天文库
浏览记录
ID:58716573
大小:953.50 KB
页数:48页
时间:2020-10-04
《第02讲_进程与线程ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章清华大学软件学院第二章进程管理进程(Process)线程(Thread)进程间通信经典的IPC问题进程间高级通信进程调度2.1进程(Process)2.1.1Whyprocesses?为了提高计算机系统中各种资源的利用率,现代操作系统广泛采用多道程序技术(multi-programming),使多个程序同时在系统中存在并运行。Whyprocesses?(Cont.)在多道程序系统中,各个程序之间是并发执行的,共享系统资源。CPU需要在各个运行的程序之间来回地切换,这样的话,要想描述这些多道的并发活动过程就变得很困难。为此,操作系统设计者提出了进程的概念。2.
2、1.2什么是进程?Aprocess=aprograminexecution一个进程应该包括:程序的代码;程序的数据;PC中的值,用来指示下一条将运行的指令;一组通用的寄存器的当前值,堆、栈;一组系统资源(如打开的文件)总之,进程包含了正在运行的一个程序的所有状态信息。main(){…..}A(){…..}PROCESSAprogramisCstatementsorcommands静态的;Aprocessisprogram+runningcontext动态的.main(){…..}A(){…..}PROGRAMheapStackAMainRegisters
3、,PCProcess≠Program有一个计算机科学家,有一天女儿过生日,想亲手给女儿做一个生日蛋糕。所以他就找了一本有关做蛋糕的食谱,买了一些原料,面粉、鸡蛋、糖、香料等,然后边看边学边做。食谱=程序;科学家=CPU;原料=数据;进程=做蛋糕;这时小儿子哭着跑进来,说手被蜜蜂蛰了。教授只好把蛋糕先放在一边。他在食谱上做了个标记,把状态信息记录了起来。然后又去找了一本医疗手册,查到了相关的内容,按照上面的指令一步步地执行。当伤口处理完之后,又回到厨房继续做蛋糕。CPU从一个进程(做蛋糕)切换到另一个进程(医疗救护)。2.1.3进程的特性动态性:程
4、序的运行状态在变,PC、寄存器、堆和栈中变量的生成和赋值等;独立性:是一个独立的实体,是计算机系统资源的使用单位。每个进程都有“自己”的PC和内部状态,运行时独立于其他的进程(逻辑PC和物理PC);并发性:从宏观上看各进程是同时独立运行的四个进程在并发地运行(本图摘自AndrewS.Tanenbaum:“ModernOperatingSystems”)2.1.4进程的创建引起进程创建的四个主要事件:系统初始化时;在一个正在运行的进程当中,执行了创建进程的系统调用;用户请求创建一个新进程;初始化一个批处理作业。从技术上来说,只有一种创建进程的方法,即在一个
5、已经存在的进程(用户进程或系统进程)当中,通过系统调用来创建一个新的进程。Unix:fork函数;Windows:CreateProcess函数;2.1.5进程的终止在以下四种情形下,进程终止:正常退出(自愿的);错误退出(自愿的);致命错误(强制性的);被其他进程所杀(强制性的),Unix:kill,Windows:TerminateProcess。2.1.6进程的状态进程的三种基本状态:进程在生命结束前处于且仅处于三种基本状态之一不同系统设置的进程状态数目不同。运行状态(Running):进程占有CPU,并在CPU上运行。处于此状态的进程数目小于等于CPU的数
6、目。就绪状态(Ready):进程已经具备运行条件,但由于CPU忙暂时不能运行,只要分得CPU即可执行;阻塞状态(Blocked):指进程因等待某种事件的发生而暂时不能运行的状态(如I/O操作或进程同步),此时,即使CPU空闲,该进程也不能运行。(本图摘自AndrewS.Tanenbaum:“ModernOperatingSystems”,下同)进程的状态及其转换进程转换运行-->阻塞等待I/O的结果等待某一进程提供输入运行-->就绪运行进程用完了时间片运行进程被中断,因为一高优先级进程处于就绪状态就绪-->运行调度程序选择一个新的进程运行阻塞-->就绪当所等待的事
7、件发生时以进程为基本结构的OS:最底层为CPU调度程序(包括中断处理等);上面一层为一组各式各样的进程;用进程的观点来看待OS:用户进程、磁盘管理进程、终端进程……问题:如果你要设计一个OS,怎么样来实现其中的进程机制?包括进程的创建、进程的管理、进程的终止、进程的状态转换等等。思考2分钟的时间!程序=算法+数据结构描述进程的数据结构:进程控制块(ProcessControlBlock,PCB)。系统为每个进程都维护了一个PCB,用来保存与该进程有关的各种状态信息。PCB中的主要内容进程的创建:为该进程生成一个PCB;进程的终止:回收它的PCB;进程的组织管理
8、:通过对P
此文档下载收益归作者所有