概述
几种操作系统¶

-
程序和作业的区别在于大小和位置,后者更大;前者在主存,后者在外存。
-
多道批处理是在批处理系统上基于多道程序设计实现的。
- 多道程序设计是基于中断实现的,而非分时功能。
- 多道批处理系统中由于使用了中断技术,因此CPU可以在一个程序需要I/O后转而去执行另一个程序,这实现了CPU与I/O的并行,同时,也提高了I/O设备的利用率。相对于单道批而言,多道批还提高了CPU利用率,因为总有一个作业在CPU上执行,因此还提高了CPU的利用率。
CPU的工作模式¶

- 通常来说,内核代码是放在内存的高地址部分。(前提是虚拟地址空间)
- 内核态永远是CPU的状态,若遇到某程序运行在内核态这种说法,意味着这个程序可以使用特权指令。
OS内核¶

- 中断处理是操作系统必须提供的功能。
系统调用¶
- 系统调用是操作系统提供给应用程序使用的接口。
- 程序接口是由一组系统调用组成的。
- 中断处理一定会把PC和PSW压栈,但是一般函数调用只会把PC压栈。
下图中的syscall就是自陷指令,我们执行的库函数并非真正的系统调用函数,库函数调用的才是。



OS引导¶
名词¶

- 硬盘分为了系统分区(活动分区)和普通分区(非活动分区)。
- 主引导记录 (MBR):Master Boot Record
- 分区引导记录 (PBR):Partition Boot Record
- 引导程序分有两种:一种是自举程序存放在Bios中;另一种是操作系统的引导程序(称为启动管理器),位于硬盘中的活动分区的引导扇区,用以引导操作系统。

虚拟机¶

- 多台虚拟机同时运行在同一物理机器上,这并不意味着真正的并行,更类似与多个程序。真正实现并行的是多核处理器
补充¶
- 并发指的是若干事件在同一时间间隔内发生,而并行指的是若干事件在同一时刻发生。
- 中断向量表一般由数组实现。
- 一般需要在内核态下运行的操作:有关对1/O设备操作的指令;有关访问程序状态的指令;存取特殊寄存器的指令等。
- 打断点是trap指令,所以并不是特权指令。
- 【阶段一:硬盘准备】(装机时一次性完成,数据固化在磁盘) 物理格式化 -> 硬盘分区 (创建硬盘分区表) -> 逻辑格式化 (创建文件系统、根目录、索引节点表) -> 安装操作系统
(时间分割线:系统安装完毕,此后日常开机) ↓↓↓
【阶段二:开机引导】(每次通电均执行,数据在内存中重建) 激活 CPU -> 加电自检 (POST) -> 加载主引导记录 (MBR) -> 读取活动分区的引导块 (PBR) -> 加载操作系统内核 -> 操作系统初始化 (创建中断向量表)