本讲知识点:
一、进程模型
多道程序设计
进程的概念、进程控制块
进程状态及转换、进程队列
进程控制:进程创建、撤销、阻塞、唤醒、……
二、线程模型
为什么引入线程?
线程的组成
线程机制的实现:用户级线程、核心级线程、混合方式
1.进程的基本概念
多道程序设计
允许多个程序同时进入内存并运行,其目的是为了提高系统效率。
把一个物理的程序计数器变成多个逻辑程序计数器,让每个程序都有都有自己的程序计数器。因为只有一个物理程序计数器,当哪个程序真正要上CPU就把逻辑程序计数器的内容推送到物理程序计数器里,以此达到内存中多个程序能并发执行的效果。
并发环境与并发程序
并发环境:一段时间间隔内,单处理器上有两个或两个以上的程序 同时处于开始运行但尚未结束的状态并且次序不是事先确定的
并发程序:在并发环境中执行的程序
进程的定义
定义:进程(Process)是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位。又称“任务”。通俗来讲是对CPU的抽象。
进程的特点:
程序的一次执行过程
是正在运行程序的抽象
将一个CPU变换成多个虚拟的CPU
系统资源一进程为单位分配,如内存、文件、……每个具有独立的地址空间
操作系统将CPU调度给需要的进程
进程控制块PCB
PCB:进程控制块(Process Control Block)
PCB又称,进程描述符、进程属性;
PCB是操作系统用于管理控制进程的一个专门数据结构;
PCB记录进程的各种属性,描述进程的动态变化过程;
PCB是系统感知进程存在的唯一标志
进程与PCB是一一对应的
进程表:所有进程的PCB集合
PCB的内容
1.进程描述信息
进程标识符(process ID),唯一,通常是一个整数;
进程名,通常基于可执行文件名,不唯一;
用户标识符(user ID);
进程组关系;
2.进程控制信息
当前状态;
优先级(priority);
代码执行入口地址;
程序的磁盘地址;
运行统计信息(执行时间、页面调度);
进程间同步和通信;
进程的队列指针;
进程的消息队列指针;
3.所拥有的资源和使用情况
虚拟地址空间的状况;
打开文件列表;
4.CPU现场信息(进程不运行时,操作系统要保存哪些硬件执行状态呢?)
寄存器值(通用寄存器、程序计数器PC、程序状态字PSW、栈指针);
指向该进程页表的指针;
2.进程状态及状态转换
进程的三种基本状态
运行态(Running)
占有CPU,并在CPU上运行
就绪态(Ready)
已经具备运行条件&#x