【读书笔记+小练习】进程及其实现
进程及其实现
笔记
进程的定义:
具有独立功能的程序在某个数据集合上的一次运行活动
是操作系统经行资源分配和保护的基本单位
引进进程的原因:
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点更新答案---------
-------------以上为此次读书笔记,若有错误,欢迎指出------------
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。