【读书笔记+小练习(答案已经更新)】操作系统——进程及其实现

进程及其实现

笔记                                                                                                              

进程的定义:

      具有独立功能的程序在某个数据集合上的一次运行活动

        是操作系统经行资源分配和保护的基本单位

引进进程的原因:

      1.刻画程序的并发行。

       2.解决资源的共享性。

进程的属性:

      1.动态性。

         2.共享性。

       3.独立性。

       4.制约性。

       5.并发性。(多个程序的执行在时间上是可以重叠的,在单处理器系统中可以并发执行,但是处理器中只能有一个进程,在多处理器环境中可并发执行)

进程的分类:

      1.用户进程

         2.系统进程

进程与程序的区别:

       1.进程更能真实地描述并发,而程序不能

       2.进程是由程序、数据、控制块、核心栈组成

       3.程序是静态的,进程是动态的

       4.进程有生命后期,有诞生有消亡,是短暂;而程序是想对长久存在的

       5.一个程序可以有多个进程

       拿QQ来说,qq就是一个程序,运行之后就创建了进程了

进程的三种状态:

         1.运行态:进程占用处理器正在运行的状态

        2.就绪态:进程具备运行条件,等待系统分配处理器以便运行的状态。(万事俱备,只差CUP)

        3.阻塞态(等待态或者睡眠态):进程不具备运行条件,正在等待某个时间完成的状态

                 

 

        等待态转换成就绪态,就绪态转换为运行态,当正在运行的进程的时间片用完时,运行态也可以转换为就绪态,就绪态是肯定补能转换成等待态的,因为万事俱备了,只是差cup,怎么可以又倒回去等待呢。等待态也不可以转换成运行态,你都还没分配资源,怎么能直接占用cup呢。

进程的七种状态:

           

 

      挂起:将进程从内存移到辅存中,释放内存空间。

 

挂起进程的特征:

         1.该进程不能立即被执行

         2.该进程可能会等待事件,但所等待的事件是独立于挂起条件的,事件结束并不能导致进程具备执行条件

         3.该进程进入挂起状态是由于操作系统、父进程或进程自身阻止它的运行

         4.结束挂起状态的命令只能通过操作系统或父进程发出

 

进程映像:

        某时刻进程的内容及其状态集合

 

进程要素:

        1.进程控制块PCB(上下文切换时操作系统拍的照片就是保存在PCB中)

          2.进程程序块

          3.进程核心栈

              4.进程数据块

 

进程控制块:

 

                              系统为了管理进程设置的一个专门的数据结构,用它来记录进程的外部特征,描述进程的运动变化过程。系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志。进程与PCB是一一对应的

 

                              构成:标志信息、现场信息、控制信息。

 

                              组织:系统把所有PCB组织在一起,并把它们放在内存的固定区域,就构成了PCB表。PCB表的大小决定了 系统中最多可同时 存在的进程个数, 称为系统的并发度

            使用权:其使用权和修改权均属于操作系统

 

进程队列组织方式:

          1.链接方式

          2.索引方式

    不同状态的进程可以排成不同队列,如运行队列、就绪队列、等待队列。单处理器的话,运行队列只有一个进程。等待队列通常有多个,按照等待状态:等待I/O设备,等待信号量等等

    在PCB池中空闲的PCB会链接成自由队列

    空闲进程队列指针就是指空闲的PCB

 

进程上下文切换:

       进程切换必定在内核态发生。

         步骤:

            1.保存被中断进程的处理器现场信息(拍照)

            2.修改被中断进程PCB的有关信息:如进程状态等

            3.把被中断金进程的PCB加入相关队列

            4.选择占用处理器运行的另一个进程

            5.修改被选中进程PCB的有关信息:如改为就绪态

            6.设置被选中进程的地址空间,恢复存储管理信息

            7.根据被选中进程的上下文信息来恢复处理器现场

 

                                  进程切换一定会引起模式切换

 

 

进程创建:

            1.在进程列表中增加一项,从PCB池中申请一个空闲PCB,为新进程分配唯一进程标识符

         2.为新进程的进程映像分配地址空间,以便容纳进程实体,由进程管理程序确定加载至进程地址空间中的程序

         3.为新进程分配各种资源

         4.初始化PCB,如进程标识符、处理器初始状态、进程优先级

         5.把新进程的状态设置为就绪态,并将其移入就绪队列

         6.通知操作系统某些模块,如记账程序,性能监控程序等

 

进程撤销:

       进程完成特定工作或出现严重错误后必须被撤销。

         分类:

            正常撤销和非正常撤销。

         原因:

            1.进程运行结束

            2.进程执行非法指令

            3.进程在用户态执行特权指令

            4.进程运行时间超过所分配的最大时间配额

            5.进程等待时间超过所设定的最长等待时间

            6.越界错误

            7.对共享内存区的非法使用

            8.出现程序性故障

            9.I/O操作故障

              10.操作员干预等。

          一旦发生以上事件,系统或进程将调用撤销原语来终止自己或者子进程。

          步骤:

             1.根据撤销进程的标识号从相应队列中查找并移除它

             2.将此进程所拥有的资源归还给父进程或操作系统

             3.若此进程拥有子进程,先撤销其所有子进程以防止它们脱离控制

             4.回收PCB并将其归还至PCB池

             5.转向进程调度程序工作

 

进程阻塞和唤醒:

        进程阻塞是指进程让出处理器转而等待一个事件,如等待资源、等待I/O操作完成、等待事件发生等

          进程通常调用阻塞原语来阻塞自己,所以阻塞是进程的自主行为,是一个同步事件   

          进程阻塞步骤:

                  1.停止进程执行,将现场信息保存到PCB

                  2.修改进程PCB的有关内容,如进程状态由运行态改为等待态等,并把状态已修改的进程移入相应事件的等待队列

                  3.转向进程调度程序,调度其他进程运行

          进程唤醒步骤:

                  1.从相应的等待队列移除进程

                  2.修改PCB的有关内容,如进程状态改为就绪态,并将进程移入就绪队列

                  3.若被唤醒的进程比当前运行的进程的优先级高,则重新设置调度标志

           阻塞原语和唤醒原语的作用刚好相反。

           调用了阻塞原语来阻塞自己,必须由与相关的另一进程调用唤醒原语来唤醒被阻塞进程,否则被阻塞进程会因未被唤醒而处于永远阻塞状态

 

 

 

              挂起原语既可由进程自己也可由其他进程调用,但是激活原语只能由其他进程调用

     

小练习                                                                                                                                 

一、填空题

1.进程的静态描述由三部分组成: ①PCB、②程序部分、③相关的数据结构集  

2.进程存在的标志是:进程控制块PCB

3.给出用于进程控制的四种常见的原语:创建原语、撤消原语、阻塞原语、唤醒原语

4进程被创建后,最初处于   ①   状态,然后经  ②   选中后进入  ③   状态

    ①就绪,②进程调度程序,③运行

5. ①   是现代操作系统的基本特征之一,为了更好地描述这一特征而引入了 ②   这一概念。

    ①程序的并发执行,②进程

 

二、单项选择题

1.进程调度是从 (     )选择一个进程投入运行。

    (A)就绪队列                      (B)等待队列

    (C)作业后备队列                 (D)提交队列

2.一个进程被唤醒,意味着  (  )

    (A)该进程重新占有了CPU      (B)进程状态变为就绪

    (C)它的优先权变为最大         (D)其PCB移至就绪队列的队首

3.进程和程序的本质区别是   (  )

    (A)存储在内存和外存                  (B)顺序和非顺序执行机器指令

    (C)分时使用和独占使用计算机资源 (D)动态和静态特征

4.某进程所要求的一次打印输出结束,该进程被  ①  C,进程的状态将从  ②F

    (A)阻塞                             (B)执行

    (C)唤醒                             (D)运行状态到阻塞状态

    (E)就绪到运行                     (F)阻塞到就绪

5.一进程在某一时刻具有(  )

    (A)一种状态                       (B)两种状态

    (C)三种状态                       (D)四种状态

6.进程从运行状态变为等待的原因可能是(  )

    (A)输入/输出事件发生          (B)时间片到

    (C)输入/输出事件完成          (D)某个进程被唤醒

 

【解析】正在运行的进程如果要申请输入或输出,这时进程的状态将从运行变为等待,将CPU让出,等待输入或

 

输出完成。

 

 

7.进程创建原语的任务是(  )

    (A)为进程编制程序               (B)为进程建立PCB表

    (C)为进程分配CPU               (D)为进程分配所需的各种资源

8.进程被创建后即进入 (    )排队

    (A)阻塞队列                       (B)就绪队列

    (C)缓冲队列                       (D)运行队列

【解析】进程创建后,按就绪队列的排列顺序插入其中,等待进程调度程序的调度。

 

9.多道系统环境下,操作系统分配资源是以(     )为基本单位。

    (A)作业                             (B)指令

    (C)程序                             (D)进程

10.一个进程获得了除CPU以外的所需资源,则该进程可能处于(   )状态

    (A)运行                              (B)就绪  

    (C)等待                              (D)  (B)和(C)

11.保护现场是指将现场信息保存至(   )

  (A)磁盘                                 (B)各相应的寄存器

  (C)进程的PCB中                      (D)内存系统区

 

三、多项选择题:

1.进程所具有的基本状态包括_________。

(A)后备状态                (B)运行状态    

(C)完成状态                (D)就绪状态     

(E)等待状态

2.进程所具有的基本特征包括_________。

(A)动态性                       (B)顺序性   

(C)并发性                       (D)封闭性       

(E)异步性

3.一个进程通常包括_________。

(A)程序                         (B)作业说明书

(C)数据                         (D)运行日志     

(E)进程控制块(PCB)

4.运行状态的进程由于某种原因可能变为_________。

(A)就绪状态                     (B)等待状态

(C)后备状态                     (D)完成状态     

(E)活跃状态

5. 进程调度算法中,可以设计成“可抢占式”的算法有_________。

(A)先来先服务调度算法          (B)优先数调度算法     (C)最高响应比优先             

(D)时间片轮转调度算法          (E)最短作业优先

 

【解析】常用的进程调度算法有先来先服务、优先数、时间片轮转及多级调度等算法。而先来先服务调度算法是“非

 

抢占式”的;“优先数调度算法”可以是“非抢占式”的,也可以是“抢占式”的;“时间片轮转调度算法”是一种“抢

 

占式”的。算法“最高响应比优先”、“最短作业优先”适用于作业调度,而不适于进程调度。所以选择(B)、(D)。

 

 

6.从中断事件的性质来说,一般中断包括_________。

(A)硬件故障中断           (B)程序中断

(C)外部中断               (D)输入输出中断     

(E)访管中断

7.在下列叙述中,正确的是_________。

(A)进程之间的状态变化,一定在PCB中反映出来

(B)当进程完成I/O后,进程的状态由等待变为运行

(C)中断屏蔽是不允许发生中断

(D)O.S的特征之一为并行性,所谓并行性是指多个进程同时处于运行状态

(E)中断屏蔽是暂时不响应中断

8.可以做为进程调度算法的有_________。

(A)先来先服务调度算法           (B)时间片轮转调度算法

(C)最高优先级调度算法           (D)响应比高者优先调度算法

(E)均衡调度算法

11.________可能会引起处理机从一个进程转到另一个进程。

(A)一个进程从运行状态变为等待状态

(B)一个进程从运行状态变为就绪状态

(C)一个就绪状态进程的优先级降低     

(D)一个进程运行完成而撤离系统

(E)一个就绪状态进程的优先级升高

 

【解析】当一个就绪状态进程的优先级降低时,不会引起处理机从一个进程转到另一个进程。因此,不能选择C,其

 

它情况都可能引起处理机在不同进程之间的转换。所以,本题应该选择(A)、(B)、(D)、(E)。

 

 

四、是非判断题

1.进程之间的状态变化,一定在PCB中反映出来。(正确)

2.当进程完成I/O后,进程的状态由等待变为运行。(错误)

3.中断屏蔽是不允许发生中断。 (错误 )

【解析】中断屏蔽期间允许发生中断,但暂时不响应。

4.O.S的特征之一为并行性,所谓并行性是指多个进程同时处于运行状态  ( 错误)

 

 

五、简答题

 1.设有三个进程A,B,C,进程A和进程B各需要运行3毫秒的处理器时间,而进程C却要24毫秒的处理器时间,分别考虑当三个进程到达顺序为A,B,C时及C,B,A时,用先来先服务进行调度时各自的平均等待时间。

 

【解析】当三个进程到达顺序为A,B,C时,按照先来先服务的顺序,进程A先占用处理器,进程B需等待3毫秒后才能去占用处理器,进程C在等待6毫秒的时间后可以占用处理器。于是,它们的平均等待时间为(0+3+6)/3=3毫秒。如果进程是按 C,B,A的次序排入队列,则进程C先占用处理器运行24毫秒后才能让进程B占用,即进程B需等待24毫秒,而进程A在等了27毫秒后才可占用处理器,现在这三个进程的平均等待时间为(27+24+0)/3=17毫秒。 7可见当运行时间长的进程先就绪的话,先来先服务算法使系统效率受到影响。

 

 

2.引起“进程切换”的时机有哪些?

 

【解析】我们把处理机从一个进程转到另一个进程称为“进程切换”。引起“进程切换”的时机有以下几种情况:

 

(1)一个进程从运行状态变为等待状态。

 

(2)一个进程从运行状态变为就绪状态。

 

(3)一个进程从等待状态变为就绪状态。

 

(4)一个进程运行完成而撤离系统。

 

 

3.进程控制块(PCB)中应该包括哪些内容,其作用是什么?

 

【解析】进程控制块是用以记录进程有关信息的一块主存,其中登记着诸如:进程标识、进程状态、优先级、中断现场保

 

护区、所占资源等信息。它是由系统为每个进程分别建立的,并且在进程结束其生命期时由系统将相应的PCB撤消,

 

PCB是进程存在的标识。

 

 

4.进程在系统中有哪几种基本状态,状态如何发生变化?

 

【解析】通常一个进程至少有三种不同的状态:运行状态、就绪状态、等待状态。

 

(1)运行状态(Running):当一个进程正在处理机上运行时,称其处于运行状态。

 

(2)就绪状态(Ready):当一个进程具备了运行条件,一旦获得处理机即可运行,称此进程处于就绪状态。

 

(3)等待状态(Blocked):当一个进程由于等待某事件的发生(如I/O完成)而不能运行时,称此进程处于等待状态。

 

5.进程具有哪些基本特征?

【解析】

(1)动态性:进程包含了程序及相应的数据集合,执行过程中其状态处于不断地变化。

 

(2)并发性:系统中各进程交替占用CPU,它们是并发执行的。

 

3)异步性:各进程都以不可预知的速度向前推进。

 

  -----------------以上为此次读书笔记,若有错误,欢迎指出--------------

posted @ 2015-04-11 20:00  苏亦晨  阅读(3896)  评论(0编辑  收藏  举报