1.进程的基本元素:程序代码,数据集
program:passive entity binary stored in disk
process:active entity a program in execution in memory
2.名为进程控制块的数据结构:
(1)标识符 id
(2)状态 state
(3)优先级 priority
(4)程序计数器 pc
(5)内存指针 包含程序代码和进程相关数据的指针 main memory pointer
(6)上下文数据 进程执行时 处理器的寄存器中的数据 context
(7)I/O状态信息
(8)记账信息
3.分派器也就是调度器会在处理器执行进程代码时设置时间,超时后会通过分派器的指令去执行其他进程,若需要等待I/O动作则继续切换进程。
4.进程可以请求产生新的进程,称为进程派生,前一个为父派生,后一个为子派生
5.Halt指令来实现终止进程
6.五状态模型
非运行态分为阻塞态和就绪态
运行态
新建态 还未加入可执行进程组
退出态 从可执行进程组释放出的进程
7.加入就绪优先级 多个就绪,阻塞队列方便扫描 使得操作系统判断更快捷
8.加入挂起状态 当内存中没有就绪的进程时,就把阻塞的进程换出到磁盘的挂起队列 此时操作系统只能从挂起的进程,或者新建态里转为就绪态了
9.将8的六种状态再改进变为7种形态 将挂起态分为两种
阻塞/挂起态:进程已在外存中并等待一个事件
就绪/挂起态:进程已在外存中 只要载入内存就可执行
阻塞可以转到阻塞/挂起态,然后阻塞/挂起态可以变为就绪/挂起态,然后就绪/挂起态变为就绪态
10.挂起的原因:
(1)交换:需要释放足够的内存空间
(2)其他OS原因
(3)交互式用户请求
(4)定时
(5)父进程请求
11. 操作系统如何管理每个进程和资源:构造每个实体的信息表
内存,I/O,文件,进程
内存表信息:分配给进程的内存,分配给进程的外存,内存块或虚存块的保护属性,管理虚存所需的任何信息
12.进程映像:包括程序,数据,栈,属性的集合 属性又称进程控制块
13.进程控制块:PCB
(1)进程标识信息 标识符 在主进程表中是一个索引
(2)处理器状态信息 用户可见寄存器,控制和状态寄存器,栈指针
(3)进程控制信息 调度和状态信息
14.执行模式:
非特权模式又名用户模式
特权模式 又名系统模式,控制模式,内核模式
ps:PSW 为程序状态字寄存器
PSW有专门的位数存储当前的执行模式
用户调用一个操作系统服务或中断来触发系统例程时为内核模式
当系统服务返回到用户进程时 为用户模式
15.进程创建
(1)创建独一无二的标识符
(2)为进程分配空间
(3)初始化进程控制块
(4)设置正确的链接
(5)创建或扩充其他数据结构
16.进程切换
切换的事件:中断,陷阱,系统调用
17.中断: 时钟中断(超时) I/O中断 内存失效
18.模式切换: 出现中断
(1)将程序计数器置为中断处理程序的开始地址
(2)从用户模式切换到内核模式
此时也要将已中断进程的上下文保存到已中断程序的进程控制块中,ps:已中断进程的上下文包括 中断处理程序可能改变的所有信息,以及恢复被中断程序时所需的所有信息 即:处理器状态信息的进程控制块部分,以及PC,其他处理器寄存器和栈信息
19.操作系统的执行:(1)在所有进程外部执行操作系统内核
(2)在用户进程的上下文中执行所有操作系统软件 操作系统时用户调用的一组例程
(3)基于进程的操作系统
20.进程创建的原因 4:
(1) 新的批处理作业 批作业控制流
(2)交互登陆 终端用户登陆
(3)为用户提供服务 执行一个功能
(4)现有进程派生
新建态: 刚创建的进程 还未进入可执行进程组 还没载入内存
运行态: 正在执行的进程
就绪态:进程做好了准备可以被执行
阻塞态:等待事件发生才能执行
退出态:操作系统从可执行进程组释放出的进程
22.抢占一个进程:
处理器为了执行别的进程而终止了当前的进程
23.交换:将主存中的进程部分或全部不转移到磁盘 当没有就绪态的进程时 将阻塞态的进程换出到磁盘的挂起态从而使得其他进程可以进入主存
24.阻塞态是在主存中等待事件
阻塞挂起态是在外村中等待事件 可被换出到就绪/挂起态
25.挂起态的四个特点:
(1)不能立刻执行
(2)进程可能在等待事件
(3)为了阻止进程执行,可以通过代理把进程至于挂起态
(4)除非代理显示的命令系统作状态切换,否则无法从这个状态转移
26.操作系统会为
内存 i/o 文件 进程这四个实体提供维护信息表
27.进程控制块
进程标识,处理器状态信息, 进程控制信息
28.用户模式可执行的指令和可访问的区域有限,为了防止操作系统被破坏和修改
内核模式没有限制来完成更高级的功能
29.创建进程的步骤:
(1)分配标识符
(2)分配空间
(3)初始化进程控制块
(4)设置正确的链接
(5)创建和扩充其他数据结构
30.中断和陷阱的区别
中断与当前的进程无关的外部事件有关 比如完成一次I/O操作
陷阱与当前正在运行的进程所产生的错误和异常条件有关
进程的中断机制:中断 陷阱 系统调用
31.中断的例子: I/O中断 时钟中断 内存失效
32.模式切换与进程切换的区别
(1)模式切换不改变当前在运行的进程的状态
(2)进程切换在执行的进程被中断,操作系统指定另一个进程为运行态 需要保存更多的状态信息