OS 的基本概念

操作系统的四个基本特征是{c1: 并发}、{c2: 资源共享}、{c3: 虚拟}和{c4: 异步}。

在操作系统的所有基本特征中, 最基本的两个特征是{c1: 并发}和{c2: 资源共享}。

Q: 并发与并行的区别?
A: 并发: 在一个时间片内, 执行不同的进程
并行: 在一个时刻, 执行不同的进程

Q: 什么是操作系统的异步性?
A: 每一个进程都以不可预知的速度向前推进

Q: 操作系统为用户提供的两种接口与作用
A: 命令接口, 组织和控制作业的执行
程序接口 (系统调用), 请求系统服务

Q: 操作系统的四大功能
A: 1. 进程管理
2. 设备管理
3. 文件管理
4. 内存管理

操作系统发展历程

批处理系统

Q: 单道批处理与多道批处理的区别
A: 单道批处理: 主存只有一道作业. 当前作业进入阻塞状态时候, CPU 空转, 等待 IO 完成
多道批处理: 外存中有多道作业, 按照一定的次序调入主存. 当前执行的作业进入阻塞状态时, 马上执行下一条作业, CPU 较少出现空转

多道批处理系统
当某道程序因请求 I/O 操作而暂停运行时, CPU 便立即转去运行另一道程序
这是通过{中断}机制实现的

分时操作系统

Q: 分时操作系统的定义
A: 多个用户通过终端同时共享一台主机, 这些终端连接在主机上, 用户可以同时与主机进行交互操作而互不干扰.

实时操作系统

Q: 实时操作系统的主要特点?
A: 及时性和可靠性

分时操作系统与实时操作系统, 谁的交互性更强?
分时操作系统

系统调用

访问{系统资源}的指令一般都是系统调用

Q: 输入与输出指令是系统调用吗?
A: 是的
访问系统资源的指令一般都是系统调用
输入与输出指令都涉及到了系统资源的访问

{硬件}完成用户态到核心态的转换
{中断处理程序}(什么程序) 完成内核态到用户态的转换

访管指令的”访管”意为”{访问管理系统资源}”

Q: 访管指令在内核态还是用户态执行?
A: 只能在用户态
执行”访管”指令, 意为”访问管理”系统资源
自然是在用户态执行, 再转入内核态, 执行需要的系统调用

内核态可以执行所有的指令, 除了{访管指令}

系统调用和一般过程调用的区别
系统调用需要保存 CPU 中的 {c1: PSW} 和 {c1: PC} 的值
一般过程调用需要保存 CPU 中的 {c2: PC} 的值

Q: 为什么系统调用需要保存 CPU 中的 PSW 值?
A: 程序进入内核态之后, PSW 中的标志位可能发生改变
为了在退出内核态, 回到原来的状态, 需要保存

Q: 页置换与进程调度是系统调用吗?
A: 不是
系统调用是由用户程序发起的, 请求操作系统服务
页面置换与系统调用都是操作系统直接管理, 不存在用户程序向操作系统发起请求

系统调用与中断

当 CPU 检测到中断信号后, 由中断隐指令 (硬件) 自动保存被中断程序的断点[程序计数器 (PC) 和程序
状态字寄存器 (PSW)], 并将 CPU 模式改为内核态. 之后, 硬件找到该中断信号对应的中断向量, 中断向量指明中断服务程序入口地址. 接下来开始执行中断服务程序, 保存中断屏蔽字, 保存各通用寄存器的值, 并提供与中断信号对应的中断服务

Q: 中断处理过程
分为由中断隐指令 (硬件), 中断处理程序 (软件) 负责两部分
A: - 硬件:
关中断
保存断点
识别中断源

  • 软件:
    保存现场
    中断事件处理
    恢复现场
    开中断
    中断返回

Q: 中断隐指令需要保护通用寄存器中的内容吗?
A: 不需要这是中断处理程序的工作

Q: 中断隐指令的保存断点与中断处理程序的保存现场
分别需要保存哪些寄存器?
A: 中断隐指令: PC, PSW
中断处理程序: 通用寄存器, 指针和变址寄存器, 浮点/多媒体寄存器等等

操作系统结构

Q: 微内核拥有操作系统的四大功能中的哪两个?
A: 进程管理
内存管理
但也只有这两个的一部分

微内核结构与宏内核结构各自优点
微内核结构: 高度的可靠性, 安全性
宏内核结构: 性能更好

操作系统引导

Q: 为什么操作系统初始化的过程中需要创建中断向量表?
A: 操作系统初始化的时候, 可能遇到各种情况, 发生中断
例如, 通电自检 (POST) 过程中可能出现中断信号
需要查询中断向量表, 跳转到相应的中断处理程序

虚拟机

Q: 第一类虚拟机与第二类虚拟机区别
A: 第一类虚拟机: 虚拟机管理程序向上层提供若干虚拟机, 类似于 PVE
第二类虚拟机: 依赖于 Windows, Linux 等操作系统分配和调度资源的程序, 类似于 windows 上的 WSL