乐趣区

关于阅读:重读现代操作系统引论进程

1. 引论

计算机运行模式:内核态与用户态,操作系统作为软件中最根底的局部,运行在内核态(管态、外围态)

操作系统由硬件爱护,避免用户试图对其进行批改,但在嵌入式零碎(无内核态)或解释零碎(解释形式而非硬件形式辨别组件)中并非如此。

操作系统的定义

运行在内核态的软件

运行两个根本独立的工作:

1. 为应用程序提供一个资源汇合的清晰形象

2. 治理硬件资源


概念:形象
形象是治理复杂性的一个要害,形象能够将简直不可能治理的工作划分为可治理的两个局部,第一局部是无关形象的定义和实现,第二局部是随时用该形象解决问题,形象是了解操作系统的要害

从不同的角度了解操作系统

自顶向下:操作系统向应用程序提供根本形象

自低向上:操作系统用来治理一个简单零碎的各个局部

硬件组成:操作系统在相互竞争的程序之间有序地管制对处理器、存储器以及相干 I / O 接口设施等硬件资源的调度与调配

资源管理

工夫复用:不同程序或用户轮流应用

空间复用:每个程序都取得资源的一部分

计算机硬件

处理器(CPU):从内存中取出指令并执行,每个 CPU 都有一套可执行的专门指令集,蕴含通用寄存器、程序计数器、堆栈指针、程序状态字寄存器


程序计数器:指向下一条指令的内存地址
堆栈指针:指向内存中以后栈的顶端
程序状态字寄存器:蕴含条件码位、CPU 优先级等各种管制位,例如能够管制 CPU 处于内核态或是用户态,当处于内核态时能够执行指令集中的每一条指令,而处于用户态时仅能执行整个指令集的一个子集

存储器

磁盘

磁带

I/ O 设施

总线

2. 过程

创立过程的 4 种形式

1. 零碎初始化

2. 正在运行的过程调用零碎调用创立过程

3. 用户申请创立新的过程

4. 一个批处理作业的初始化

过程终止的 4 种状况

1. 失常退出

2. 出错退出

3. 严重错误

4. 被其它过程杀死

过程的层次结构

父过程与子过程以某种模式放弃关联,子过程能够创立更多的过程,组成过程的层次结构

 而 Windows 中没有过程档次的概念,所有过程的位置雷同,惟一相似过程档次的暗示为父过程领有一个句柄,可用于管制子过程,其有权将句柄交予某个其它过程

过程的状态

  1. 运行态(过程占用 CPU)
  2. 阻塞态(除非某种内部事件产生,否则过程不能运行)
  3. 就绪态(可运行,因其它过程正在运行而临时进行)
stateDiagram-v2
运行态
运行态 --> 阻塞态

运行态 --> 就绪态

阻塞态 --> 就绪态

就绪态 --> 运行态 

就绪态与运行态的转换由过程调度程序引起,过程调度程序是操作系统的一部分,过程甚至感觉不到调度程序的存在,如何调度由具体的调度算法决定

过程的实现

过程表(process table),每个过程占用一个过程表项(过程管制块)

中断

过程间通信

防止竞争条件:


1. 任何两个过程不能同时处于其临界区
2. 不对 CPU 的速度和数量做任何假如
3. 临界区外运行的过程不得阻塞其它过程
4. 不得使过程无限期期待进入临界区

忙期待的互斥:


1. 屏蔽中断
2. 锁变量
3. 严格轮换
4.Peterson 解法



退出移动版