【读书笔记+小练习】进程及其实现

进程及其实现

笔记                                                                                                        

进程的定义:

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

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

引进进程的原因:

      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.进程的静态描述由三部分组成:  

2.进程存在的标志是:

3.给出用于进程控制的四种常见的原语:

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

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

 

二、单项选择题

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

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

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

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

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

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

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

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

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

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

    (A)阻塞                             (B)执行

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

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

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

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

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

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

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

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

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)最短作业优先

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)一个就绪状态进程的优先级升高

 

四、是非判断题

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

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

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

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

 

 

五、简答题

 1.设有三个进程A,B,C,进程A和进程B各需要运行3毫秒的处理器时间,而进程C却要24毫秒的处理器时间,

分别考虑当三个进程到达顺序为A,B,C时及C,B,A时,用先来先服务进行调度时各自的平均等待时间。

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

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

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

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

 

 ------------明天7点更新答案---------

 

 

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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。