操作系统之QQ作业-3

  1. 在操作系统中,引入进程的目的是什么?
    a.程序的执行具有顺序性封闭性可再现性特征
    b.并发环境中,存在多个程序同时访问同一个资源的状况,因而失去了程序对资源操作的封闭性。
    c.并发环境中,各程序执行的异步性导致无法预测共享资源状态的变化情况,是程序执行的结果不再具有“可再现性”

  2. 进程控制包括哪些操作?
    (说一点,以下表格中,原语和引发事件并不是一一对应关系,可以看完相关原语再来看相应事件)

a.进程创建

创建原语 引发事件
1.向系统申请空闲的PCB 用户登录
2.为新进程分配资源,例如分配内存空间存放程序和数据 作业调度
3.初始化新进程的PCB,在PCB中填写进程标识符、进程状态、程序和数据的地址、资源清单等 提供系统服务(为响应应用程序请求创建新的服务进程)
4.将新建进程的PCB排入就绪队列 应用程序请求(使用系统调用创建进程)

b.进程终止

撤销原语 引发事件
1.查找撤销进程的PCB 进程正常结束,即进程执行完需要做的工作
2.若进程处于运行状态,予以终止,并进行进程调度,以重新挑选其他进程运行 进程异常结束,即运行期间由于程序出现某些错误和故障而迫使进程终止
3.若进程有子孙,予以终止 外界干预,即并非本进程在运行期间出现故障,而是由进程以外的事件引起进程终止
4.归还资源
5.从所在队列移出

c.进程阻塞

阻塞原语 引发事件
1.停止进程的执行 请求系统服务
2.将进程插入阻塞队列 启动某种操作
3.重新调度 新数据尚未到达
无新工作可做

d.进程唤醒

唤醒原语 引发事件
1.将进程从阻塞队列解下 请求系统服务
2.将进程插入就绪队列 启动某种操作
3.改变进程在PCB中的状态 新数据尚未到达
无新工作可做

e,进程切换

切换原语 引发事件
1.保存当前执行进程的CPU现场 时钟中断
2.修改当前运行态进程的PCB信息 I/O设备中断
3.将当前进程的PCB移入相应状态等待队列 异常
4.恢复系统调度进程的CPU现场 陷入
5.选择另一个将要进行的进程 当前时间片到
6.保存系统调度进程的CPU现场 有更高优先级的进程到达
7.修改系统调度进程的PCB信息(修改为运行态) 当前进程主动阻塞
8.恢复新调入进程的从从CPU现场 当前进程终止
  1. 在操作系统中,进程实体是如何实现的?
    a.进程实体是指放在操作系统实现进程时,把进程结构组织分为三个部分:程序段、数据段和PCB
    b.程序段存放进程执行的程序代码,数据段存放程序执行过程中的使用大抵数据
    c.PCB是操作系统中标识进程的唯一数据结构。PCB中记录了与进程执行相关的所有数据信息,包括进程标识符、进程当前状态、进程队列指针、程序和数据段地址、CPU现场(上下文)、通信信息、家族关系、占用资源清单。

  2. 操作系统如何实现进程状态转换?
    a.进程状态的转换主要是由进程控制原语实现。
    b.对三种基本状态的表述。
    阻塞态,指因等待某种时间的发生而不能运行(即使CPU空闲,也无法运行的进程)
    就绪态,已经具备运行,但由于没有空闲CPU而暂时不能运行(拥有除处理机之外的所有需要的资源,只欠CPU)
    运行态,占有CPU,并CPU上运行(单核处理机系统,每一个时刻最多只有一个进程处于运行态)
    c.在三状态模型中,引起状态转换的事件和实施状态转换的操作,例如:
    就绪态 → 运行态:进程被调度(一个进程被调度进程选中)
    运行态 → 就绪态:时间片到,或CPU被优先级高的进程抢占(时间片用完或者优先级抢占)
    运行态 → 阻塞态:等待系统分配资源,或等待某事件发生(主动行为)或等待某个事件发生
    阻塞态 → 就绪态:资源分配到位,或等待事件发生(被动行为)或等待的事件已发生而被唤醒

  3. 操作系统提供了哪些进程通信机制
    a.共享存储器系统:分为共享数据结构和共享存储区。共享数据结构由于传递的数据较少,所以主要用于传递资源状态或控制信息,如信号和信号量;共享存储区则是提供可共享的内存空间,因而可以传递任意数量的数据。
    b.管道:一种半双工的通信机制,允许在两个进程间创建数据流。可以借助文件系统调用实现。
    c.消息传递系统:进程交换以消息为单位,用户通过系统调用实现信息的传递,例如消息队列。消息传递机制不要求通信的进程间拥有共享的设备资源,因而可用于网络通信。

原创文章 66 获赞 100 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_44735533/article/details/104906906