一.计算机基础
1.1图灵机模型
略。
1.2计算机系统
硬件加软件。软件是运行、组织、管理、维护机电设备和物理机制所使用的程序。主要包括系统软件和用户软件。硬件是机电设备,物理机制,主要包括运算器、控制器、存储器、输入设备和输出设备。
1.3指令集架构
指令:用编码表示CPU的一种操作,称为一条指令。
指令系统:全部指令集称为指令系统。指令系统反映了CPU的基本功能,对于一款CPU来说是固定的,也称为指令集。也叫做指令集架构(ISA)或体系结构。同一个ISA设计可由不同厂家提供不同实现。
CISC:复杂指令集计算机。 RISC:精简指令集计算机。
考试不考查指令系统。
1.4设备与中断
略。
1.5特权级与系统调用
应用程序的隔离:
什么情况下会产生这个需求,为什么?
单道程序:没有这个需求,因为系统中只有一个程序。
多道程序:系统中可能有很多程序。程序之间如果不完全相互信任,就需要隔离。
隔离策略由谁负责?隔离策略需要什么机制设计?
负责者:隔离的策略需要由操作系统来负责。
机制设计:操作系统需要能够限制应用程序行为的工具。
这些机制设计对应的实现被什么客观条件限制?
经济成本:机制不能太昂贵,不能引入大量固定投资投产。
时间成本:机制不能太缓慢,不能拖累程序执行效率。
可能的隔离机制实现:
软件实现:纯软件机制能实现应用程序的隔离吗?
可以实现,JAVA虚拟机以及WASM沙盒。
硬件实现:纯硬件机制能实现应用程序的隔离吗?
可以实现,给CPU两种工作状态就可以了。
使操作系统工作在不受限制的状态。
使应用程序工作在受限制的状态,不得随意干涉其他应用程序,也不得随意干涉操作系统内核。
综合评价 如果以上实现存在,他们的优缺点如何?
软件:需要额外的代码检查并限制程序行为。绘图类程序的执行效率,增加程序的资源开销。
硬件:需要额外的硬件电路检查并限制程序行为,会增加系统的固定造价。
处理器特权级:
硬件特权级:CPU硬件实现,分为用户模式和内核模式。
用户模式:执行应用程序的模式,不允许直接访问系统的敏感资源。
内核模式:执行操作系统的模式,可直接执行敏感指令和访问敏感资源。
特权指令:能对系统中敏感资源进行操作的指令,仅能在内核模式下执行。
特权级可以通过什么机制互相切换?
方法一:中断机制 方法二:专用指令机制
用户程序使用什么方法调用操作系统?
使用上述两种机制之一。
之后陷入操作系统内核,执行被操作系统接管。
二.操作系统结构
2.1库结构
简单的设备:简要结构、单核结构
特点:
无内核模式与用户模式的区分。
所有应用程序以及内核都在同一个保护域。
应用程序可以随时对任何资源做任何操作。
应用程序间为合作关系,操作系统的角色偏重协调而非管理。
适应场合:
设备功能较简单,预算较低的场合。
2.2宏内核结构
通用的设备:
特点:
有内核模式与用户模式的区分。
每个应用程序在不同的保护域。
内核的所有功能位于一个保护域。
应用程序必须请求内核完成敏感资源操作。
应用程序为合作或竞争关系,操作系统的协调和管理并重。
适应场合:
桌面计算等复杂度和性能要求适中的常规应用场合,最广泛使用的内核结构之一。
2.3微内核结构
灵活的设备:
特点:
有内核模式与用户模式的区分,每个应用程序在不同的保护域。
内核除基本功能外,其他功能分别位于不同的用户模式进程中。
应用程序必须请求守护进程中的策略分配敏感资源。
守护进程则转而使用内核提供的机制完成这些分配操作。
适应场合:
高性能、高可靠性和高灵活性(策略制定)计算等应用场合。
嵌入式和非标领域最广泛使用的内核结构之一。
抗软件故障和攻击,操作系统的一部分不会影响其他部分。
2.4外核结构
高效的设备:
特点:
由内核模式与用户模式的区分,每个应用程序在不同的保护域。
内核仅负责硬件资源的安全分配与管理功能。
应用程序必须自行和被分配的硬件资源打交道完成功能。
去抽象化:将硬件资源直接爆露给应用程序以获得最大性能效益。
适应场合:
高性能或高灵活性计算等应用场合。
现在被微内核挤压,因为微内核也是越做越小,和外核已经非常相似。与外核相似,现代微内核的内存分配和进程调度也可以以极高的效率放到用户态甚至应用程序中去。
2.5其他结构
略。