完成 |
a: 交互用户发出的命令由命令解释进程立即创建进程投入就绪队列。
f :( 1 )有作业进入后备队列;( 2 )或系统某资源变得可用时:
作业调度(进程)被唤醒,为满足资源要求的作业创建进程。
作业调度进程平时处于阻塞状态。
b :引起进程调度的事件:
(1) 进程完成。( 2 )进程异常终止。( 3 )运行进程阻塞。( 4 ) CPU 被剥夺。
c :正在执行进程的 CPU 被剥夺:
(1) 时间片到剥夺。( 2 )就绪队列中优先级高的进程去剥夺运行进程的 CPU 。
d :等待事件(进程阻塞):
(1) 启动 I/O ,等待 I/O 完成。
(2) 进程无事可做。(设备驱动进程、消息通信中的接受进程、 ... )。
(3) 申请资源得不到满足(如: buffer 、设备、 ... )。
(4) 等待其它进程的数据或信号量( wait 操作)。
e: 事件发生,由发现事件发生的进程(正在执行的进程)唤醒相关阻塞进程。
l OS 内核:提供了进程生存的条件(本身不是进程)
I. 内核是传统意义的 OS 。
II. 内核执行属性:
A. 由中断驱动(包括系统调用)。
B. 在核态下运行。
C. 各种功能通过原语实现。
l 进程管理内容:进程控制、进程调度、进程同步与通信。
l 进程控制: 6 种原语,重点为创建、阻塞、唤醒原语。
a. 创建原语:
1) 引起的事件( p35 ,四种情况需要创建进程)。
2) 创建过程。
b. 阻塞原语:
1) 引起阻塞的事件
2) 阻塞原语流程
根据运行队列指针查到运行进程的 PCB
置 PCB 为阻塞态
插入相关等待事件的阻塞队列
转进程调度
c .唤醒原语
1) 引起唤醒的事件。
2 )原语流程
(正在执行的进程发现与阻塞进程有关的事件发生,调用该原语把相关得进程唤醒。)
从相关阻塞队列中移出一个劲成进程
PCB 填为就绪
插入就绪队列
返回执行的进程
l 线程概念
1 .引入线程的目的:进一步提高系统的并发能力,节省只有进程系统的时空开销。
2 .传统进程特点:资源的分配单位(占有打开的文件、内存、 buf 、设备等)。
是调度和分配 CPU 的单位、是一个执行单位。
3 .线程特点:共享创建者(进程)的资源,自己不占有 CPU 以外的资源。
是一个执行单位。
4 .具有进程和线程系统的特点
1) 进程仅仅是资源的分配单位(不再是执行单位)。
2) 并发能力表现为:
各进程间的并发(各进程的线程并发)。
同一进程各个线程并发执行。
l 进程的同步与通信
一.基本概念
临界资源、临界区、互斥、同步、临界区的管理原则。
同步要求的条件比互斥严格。
二.记录型信号量机制
1 .记录型信号量定义。
2 . Wait 、 signal 两个原语的描述流程。
3 .信号量值的物理含义。
三.利用记录型信号量机制解决互斥与同步问题
1 .解决互斥问题:
设公用信号量 mutex (互斥信号量),初值为 1 。
用 wait ( mutex )与 signal ( mutex )框住临界区。
2. 解决简单的同步问题(供 / 用者通过单缓冲通信)