目录

  • 1 第一章操作系统引论
    • 1.1 第一课时 123节
    • 1.2 第二课时 45节
  • 2 第二章进程的描述与控制
    • 2.1 第一课时 12节
    • 2.2 第二课时 3节
    • 2.3 第三课时 4节
    • 2.4 第四课时 5节
    • 2.5 第五课时 6节
    • 2.6 第六课时 78节
    • 2.7 第七课时  习题
  • 3 第三章处理机调度与死锁
    • 3.1 第一课时1、2节
    • 3.2 第二课时3节
    • 3.3 第三课时4节
    • 3.4 第五课时5、6节
    • 3.5 第六课时7、8节
    • 3.6 第七课时习题
  • 4 第四章存储器管理
    • 4.1 第一课时1,2节
    • 4.2 第二课时3节
    • 4.3 第三课时4,5节
    • 4.4 第四课时6节
  • 5 第五章虚拟内存
    • 5.1 5.1、5.2
    • 5.2 5.3
    • 5.3 5.4、5.5
  • 6 第六章 设备管理
    • 6.1 第一课时1、2节
    • 6.2 第二课时3、4节
    • 6.3 第三课时5、6节
    • 6.4 第四课时7节8节(一)
    • 6.5 第五课时8节(二)
  • 7 文件管理
    • 7.1 第一课时1、2节
    • 7.2 第二课时3、4节
    • 7.3 第三课时5节
  • 8 磁盘管理
    • 8.1 第一课时1节
    • 8.2 第二课时2、3节
    • 8.3 第三课时4、5节
第二课时 3节

2.3


原语:由若干条指令组成用于完成一定功能的一个过程。用于实现进程的通信和控制。

   原语与一般过程的区别:原语是原子操作。

   原子操作:指一个操作中的所有动作要么全做,要么全不做。是一个不可分割的基本单位。

   原子操作在管态下执行,常驻内存。

2.3.1 进程的创建

1.进程图

2.引起创建进程的事件

(1) 用户登录。

    分时系统中增加新用户。

(2) 作业调度。

  (3) 提供服务。

  (4) 应用请求。

3.进程的创建过程

  调用进程创建原语Creat( )

(1)申请空白PCB

(2)为新进程分配资源。

  主要是内存资源

(3)初始化PCB

  ①初始化标识信息

  ②初始化处理机状态信息

 ③初始化处理机控制信息

2.3.2 进程的终止

  1.引起进程终止的事件

1)正常结束

  在程序结尾一般有一个用于表示进程已经运行完成的指令。当运行到该指令时,将产生一个中断去通知OS本进程已经完成。

  2)异常结束

  运行中出现某些错误和故障

    (1)越界错误。

      所访问的存储区超出。

(2)保护错。

     进程对资源的访问方式不当。

  (3)非法指令。

     进程试图去执行一条不存在的指令。

  (4)特权指令错。

     进程试图去执行OS的指令。

(5)运行超时。

     进程的执行时间超过了指定的最大值。

6)等待超时。

  进程等待某事件的时间超过了规定的最大值。

(7)算术运算错。

   进程试图去执行错误的运算。

(8)I/O故障。

I/O过程中发生了错误等。

3) 外界干预

 指进程应外界的请求而终止运行。

(1) 操作员或操作系统干预。

     由于某种原因,例如,发生了死锁,由操作员或操作系统终止该进程。

(2) 父进程请求。

(3) 父进程终止。

  2.进程的终止过程

  OS调用进程撤销原语destroy()

(1)根据进程标识符,检索出该进程的PCB,从中读出该进程的状态。

(2)若被终止进程正处于执行状态,应立即终止该进程的执行,并重新进行调度。

  (3)终止所有子孙进程。

(4)将全部资源归还给其父进程或系统。

(5)将被终止进程(PCB)从所在队列(或链表)中移出。

2.3.3 进程的阻塞与唤醒

 1. 引起进程阻塞和唤醒的事件

1)等待资源

2)等待I/O

  3)新数据尚未到达

  4)无新工作可做

    如系统中的发送、接受进程。

2.进程阻塞过程(Block原语过程)

  1)立即停止执行,改变PCB中状态信息

  2)将进程放入阻塞队列中

3.进程唤醒过程(wakeup原语过程)

  1)把被阻塞的进程从等待该事件的阻塞队列中移出

  2)将其PCB中的现行状态由阻塞改为就绪

  3)将该PCB插入到就绪队列中

2.3.4 进程的挂起与激活

1.进程挂起的原因(回忆)

  1)终端用户请求

  2)父进程请求

  3)负荷调节需要

2.挂起过程(Suspend原语过程)

  1)查PCB状态信息,由活动状态改为静止状态。思考:进程能否由执行到挂起?

  2)将PCB中信息复制到内存指定区域。

  3)将进程移除内存。

3.进程的激活过程(Active原语过程)

1)将进程从外存调入内存

   2)检查PCB状态,由静止改为活动,并送入相应队列。

   3)若进入就绪队列,则与当前进程比较优先级的。