欢迎来到天天文库
浏览记录
ID:40336654
大小:1.34 MB
页数:29页
时间:2019-07-31
《网络操作系统 潘峰 高佳琴 主编 第3章 处理机管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章处理机管理3.1进程3.1.1进程的概念1.进程的定义“进程(Process)”这一术语是20世纪60年代初期在美国麻省理工学院的MULTICS系统和IBM公司的CTSS/360系统中首先出现的。进程是操作系统中一个最基本也是最重要的概念,掌握其实质对操作系统的理解、分析和设计都具有极为重要的意义,但迄今为止对进程还没有非常确切和统一的定义。从不同角度对进程的定义有以下一些描述:(1)进程是程序的一次执行。(2)进程是可以和别的计算并发执行的计算。(3)进程是程序在一个数据集合上运行的过程。据此,本书把进程的定义描述为
2、:一个具有独立功能的程序在一个数据集合上的一次运行过程,是系统进行资源分配和和调度的独立单位。2.进程的特征(1)动态性。进程的动态性是进程最基本的特征。(2)并发性。进程的并发性是指多个同在主存中的进程,能在一段时间内同时运行,交替使用处理机的情况。(3)独立性。进程的独立性是指进程实体是一个能独立运行的基本单位,同时也是独立获得资源和独立调度的基本单位。(4)异步性。进程的异步性是指系统中的进程按各自独立的、不可预知的速度向前推进,即进程按异步方式运行。正因如此,将导致执行的不可再现性。因此,在操作系统中必须采取相应的措
3、施来保证进程之间能协调运行。(5)结构性。进程的结构性是指在结构上进程实体由程序段、数据段和进程控制块三部分组成。3.进程与程序的关系程序和进程是既有联系又有区别的两个概念。它们的主要区别有以下几点。(1)程序是指令的有序集合,是一个静态的概念;而进程是程序的一次执行过程,是一个动态的概念。(2)程序的存在是永久的;而进程是有生命期的,它因创建而产生,因调度而执行,因得不到资源而暂停,因撤销而消亡。(3)进程与程序之间不是一一对应的。一个程序可同时运行于若干个不同的数据集合上,映射成多个进程;反之,一个进程可以执行一个或几个
4、程序。3.1.2进程的状态1.进程的3种基本状态(1)就绪状态。当进程已分配到除CPU以外的所有必要资源后,只要能再获得CPU便可立即执行,这时进程的状态称为就绪状态。(2)执行状态。处于就绪状态的进程一旦获得了CPU,就可以马上运行,进程的状态就变为执行状态。(3)阻塞状态。阻塞状态又称为等待状态。正在执行的进程因发生某些事件(如请求输入/输出、申请额外空间等)而暂停执行,这种受阻暂停的状态称为阻塞状态。2.进程状态的转换进程的3种基本状态的转换如图3-1所示。图3-1进程状态的转换3.1.3进程控制1.进程控制块进程控制
5、块(ProcessControlBlock,PCB)是进程实体的一部分,是操作系统中最重要的记录型数据。它记录了操作系统所需要的、用于描述进程情况及控制进程运行所需要的全部信息。通过PCB,使得原来不能独立运行的程序成为一个可以独立运行的基本单位。换句话说,在进程的整个生命周期里,操作系统都要通过进程的PCB来对并发执行的进程进行管理和控制。2.进程控制原语进程控制功能是通过执行各种原语来实现的。原语是由若干条机器指令构成,用于完成某一特定功能的程序段。原语在执行期间不可中断,以保证其正确性。用于进程控制的原语有以下几种。(
6、1)创建原语。为新创建的进程建立PCB并填入相关信息,然后将其插入就绪队列中。(2)撤销原语。收回被撤销进程占用的所有资源及PCB。(3)阻塞原语。当一个进程期待的某一事件尚未出现时,将其由执行状态转换为阻塞状态。(4)唤醒原语。当进程期待的事件出现时,将处于阻塞状态的进程唤醒,使其进入就绪状态。3.1.4线程自从20世纪60年代提出进程概念后,操作系统中一直都以进程作为资源分配与独立运行的基本单位。直到20世纪80年代中期,人们又提出了比进程更小的能独立运行的基本单位——线程,用它来进一步提高系统的并发程度和吞吐量。在操作
7、系统中,进程是资源分配的基本单位,也是独立调度和执行的基本单位。正是由于进程的这两个基本属性,才构成了进程并发执行的基础。但在进程的推进过程中,系统要不断地进行资源的分配与回收、现场的保存与恢复等工作,为此系统要付出较大的时间与空间的开销。为了能使多个程序更好地并发执行,并尽量减少操作系统的开销,不少学者设想将进程的两个基本属性分开,分别交由不同的实体来实现。为此,操作系统设计者引入了线程这个概念,让线程作为系统独立调度和执行的基本单位。线程自己基本上不拥有系统资源,只拥有一些在运行中必不可少的资源(如程序计数器、寄存器和栈
8、),但是它可以与同属一个进程的其他线程共享进程所拥有的全部资源。在引入线程的系统中,不仅进程可以并发执行,而且在一个进程中的多个线程也可以并发执行,因此使系统具有更好的并发性,从而能更有效地使用系统资源和提高系统吞吐量。另外,由于线程本身基本不拥有系统资源,从而也大大减少了系统开销。3.2
此文档下载收益归作者所有