操作系统学习笔记--进程生命周期

     进程管理中最基本功能是进程控制。进程控制任务:进程的创建、终止、进程状态的转变等。进程控制一般由OS内核来实现。

    进程图(树状结构)描述的是进程家族之间的关系,任何一个进程可以产生它的子进程。子孙进程可以继承父进程的资源,比如父进程拥有的数据、缓冲区、文件。当子孙进程结束的时候,将资源归还的父进程。

    引起创建进程的事件。(1)用户登录(分时系统,用户登录后,创建进程);(2)作业调度(批处理操作系统);(3)提供服务(操作系统为用户提供服务);(4)应用请求(由进程自己创建自己的子进程)。其中(1)(2)(3)由系统内核创建

    进程的创建:CREATE()原语 (1)申请空白PCB。(2)为新进程分配资源(资源清单写在PCB中)。(3)初始化进程控制块(进程的标志信息、处理机的状态信息、资源信息),刚产生的进程处于就绪状态。(4)将新进程插入就绪队列。

    PCB初始化 ①初始化标识信息(给系统看的内部标识、给用户看的外部标识)。②初始化处理机状态信息(通用寄存器:暂放数据、指令、指令计数器、psw用户栈指针)。③初始化处理机控制信息(置于就绪状态)

    引起进程终止的事件:1)正常结束

    异常结束:①越界(超出内存访问范围)错误;②保护(对只读的文件进行写的操作等)错误;③非法指令;④特权指令错误;⑤运行超时;⑥等待超时;⑦算术运算错(例如除0);⑧I/O故障

    外界干预:①操作员或OS干预;②被父进程终止;③父进程终止。如果父进程终止,则它的所有子进程都终止。

    进程终止过程:从PCB集合中检索(根据内部标识)出该进程的PCB,从中读出该进程的状态。若进程处于执行状态,终止该进程的执行,并且置调度标志为真,重新调度(使CPU不处于空闲状态)。若有子孙进程,将所有子孙进程终止。将进程全部资源归还其父进程或系统。将其PCB从所在队列(或链表)中移除。

    引起阻塞(自己阻塞自己,等待I/O)和唤醒的事件:请求系统服务、启动某种操作、新数据尚未到,无新工作可作

    进程阻塞过程:由阻塞原语BLOCK完成。入口->保存当前进程的CPU现场->置该进程状态(将执行状态置于阻塞状态)->进入等待队列(阻塞队列)->转进程调度

    进程唤醒过程:由唤醒原语WAKEUP完成。入口->从等待队列中摘下被唤醒进程(的PCB)->置该进程为就绪状态->进入就绪队列->(还要看优先级)转进程调度或返回

    如果在某进程中调用了阻塞原语,则必须在与之相合作(等待事件)的另一进程中或其它相关进程中,安排唤醒原语,以能唤醒阻塞进程;否则,被阻塞进程将会因不能被唤醒而长久地处于阻塞状态,从而再无机会继续运行。(有阻塞必然有唤醒。自己阻塞自己,与之相关的进程唤醒被阻塞的进程)

    进程的挂起。引入原因:由于操作系统或用户的需要,将处于就绪状态、执行的进程或内存等待队列的进程,暂时调出内存,调到外存,以便监督内存的执行或解决系统当中比较繁忙的状态。

    挂起原语:SUSPEND() 挂起原语的执行过程:检查(对不同状态的进程采用不同的操作)被挂起进程的状态,若处于活动就绪状态,改为静止就绪;若处于活动阻塞状态,则改为静止阻塞;若正在执行,改为静止就绪,转向调度程序重新调度(在活动就绪队列中的进程选择一个) (挂起是把被挂起进程的资源从内存调到外存)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值