导图社区 第一章 计算机系统概述
操作系统第一章考研知识点(详细版),包括:操作系统的基本概念、操作系统的发展与分类、操作系统运行环境、虚拟机、操作系统引导、操作系统体系结构。
编辑于2022-07-09 22:09:11第一章 计算机系统概述
操作系统的基本概念
概念
负责管理和协调硬件、软件等计算机资源的工作
为上层用户、应用程序提供简单易用的服务
是最接近硬件的一种系统软件
特征
并发
共享
互斥共享方式(如对摄像头设备的共享使用)
同时访问方式(如对硬盘资源的共享使用)
虚拟
空分复用技术(如虚拟存储技术)
时分复用技术(如虚拟处理器技术)
异步
功能和目标
作为计算机系统资源的管理者
处理机管理
存储器管理
文件管理
设备管理
作为用户与计算机硬件系统之间的接口
给普通用户用的
命令接口
脱机命令接口
联机命令接口
GUI图形用户界面
给软件/程序员用的
程序接口(系统调用)
实现了对计算机资源的扩充
扩充机器
操作系统的发展与分类
手工操作阶段(此阶段无操作系统)
缺点
用户独占主机,人机速度矛盾导致资源利用率低
CPU等待手工操作,CPU的利用不充分
批处理阶段
单道批处理系统(引入脱机输入输出技术,监督程序负责控制作业的输入、输出)
操作系统的雏形
特征:自动性、顺序性、单道性
优点:一定程度上缓解了人机速度矛盾,资源利用率有所提升
缺点:内存中仅能用一道程序运行,CPU有大量时间是在等待I/O完成,资源利用率依然很低,平均周转时间长,无交互能力
多道批处理系统(操作系统开始出现)
多道程序设计特点:多道、宏观上并行、微观上串行
优点:资源利用率大幅提高,多道程序并发执行,共享系统资源,从而使各种资源得到充分利用;系统吞吐量大,CPU和其他资源保持“忙碌”状态
缺点:用户响应的时间较长;不提供人机交互能力,用户既不能了解自己的程序的运行情况,又不能控制计算机
分时操作系统
特征:同时性、交互性、独立性、及时性
优点:用户请求可以被即时响应,解决了人机交互问题。允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在
缺点:不能优先处理一些紧急任务。操作系统对各个用户/作业都是完全公平的,循环地为每个用户/作业服务一个时间片,不区分任务的紧急性
实时操作系统(主要特点:及时性、可靠性)
硬实时系统(如:导弹控制系统、自动驾驶系统)
必须在绝对严格的规定时间内完成处理
软实时系统(如:12306火车订票系统)
能够接受偶尔违反时间规定且不会引起任何永久性的伤害
优点:能够优先响应一些紧急任务,某些紧急任务不需时间片排队
网络操作系统
主要特点:网络中各种资源的共享及各台计算机之间的通信
分布式计算机系统
主要特点:分布性、并行性
个人计算机操作系统
操作系统运行环境
运行机制
两种程序
内核程序
应用程序
两种指令
特权指令
开/关中断指令
写(置)时钟指令
I/O指令
写PSW寄存器指令
非特权指令
取/存数指令
读时钟指令
加减乘除等算数运算指令
寄存器清零指令
压栈/弹栈指令
跳转指令(转移指令)
trap指令
两种处理机状态
用程序状态字寄存器(PSW)中的某标志位来标识当前处理器处于什么状态
核心态(管态、内核态)
用户态(目态)
如何转换处理机状态
内核态->用户态
一条修改PSW的特权指令
用户态->内核态
有中断引起,硬件自动完成
操作系统内核
支撑功能
时钟管理
中断处理
中断机制中,只有一小部分功能属于内核
原语
一种特殊的程序
特点
处于操作系统的最低层,是最接近硬件的部分
这些程序的运行具有原子性,其操作只能一气呵成
这些程序的运行时间都较短,而且调用频繁
对系统资源进行管理的功能
进程管理
存储器管理
设备管理
中断和异常
作用
让操作系统内核强行夺回CPU的控制权
使CPU从用户态变回核心态
分类
内中断(异常、例外)
自陷(陷阱、陷入)
陷入指令(访管指令)
故障
如缺页故障
软件中断
终止
如整数除0、非法使用特权指令
硬件中断
外中断/中断(硬件)
分类
是否可屏蔽
可屏蔽中断INTR
不可屏蔽中断NMI
功能
时钟中断
I/O中断请求
中断处理时保存的数据
硬件负责
程序计数器PC
程序状态字PSW
操作系统负责
其他必要保存的信息,如某些通用寄存器
中断机制的基本实现原理
检查中断信号
内中断:CPU在执行指令时会检查是否有异常发生
外中断:每个指令周期末尾,CPU都会检查是否有外中断信号需要处理
找到相应的中断处理程序
通过“中断向量表”实现
系统调用
按功能分类
设备管理
文件管理
进程控制
进程通信
内存管理
虚拟机
第一类虚拟机管理程序
对物理资源的控制权:直接运行在硬件之上,能直接控制和分配物理资源
资源分配方式:在安装Guest OS时,VMM要在原本的硬盘上自行分配存储空间,类似于“外核”的分配方式,分配未经抽象的物理硬件
性能:性能更好
可支持的虚拟机数量:更多,不需要和Host OS竞争资源,相同的硬件资源可以支持更多的虚拟机
虚拟机的可迁移性:更差
运行模式:第一类VMM运行在最高特权级(ring 0),可以执行最高特权的指令
第二类虚拟机管理程序
对物理资源的控制权:运行在Host OS之上,依赖于Host OS为其分配物理资源
资源分配方式:Guest OS拥有自己的虚拟磁盘,该盘实际上是Host OS文件系统中的一个大文件。Guest OS分配到的内存是虚拟内存
性能:性能更差,需要Host OS作为“中介”
可支持的虚拟机数量:更少,Host OS本身需要使用物理资源,Host OS上运行的其他进程也需要物理资源
虚拟机的可迁移性:更好,只需导出虚拟机镜像文件即可迁移到另一台Host OS上,商业化应用更广泛
运行模式:第二类VMM部分运行在用户态,部分运行在内核态。Guest OS发出的系统调用会被VMM截获,并转化为VMM对Host OS的系统调用
操作系统引导
CPU从一个特定主存地址开始,取指令,执行ROM中的引导程序(先进行硬件自检,再开机)
将磁盘的第一块——主引导记录读入内存,执行磁盘引导程序,扫描分区表
从活动分区(又称主分区,即安装了操作系统的分区)读入分区引导记录,执行其中的程序
从根目录下找到完整的操作系统初始化程序(即启动管理器)并执行,完成“开机”的一系列动作
操作系统体系结构
分层法(分层结构)
特性、思想:内核分多层,每层可单向调用更低一层提供的接口
优点
便于系统的调试和验证,自底向上逐层调试验证
易扩充和易维护,各层之间调用接口清晰固定
问题
仅可调用相邻低层,合理定义各层比较困难
不可跨层调用,系统调用执行时间长,效率较差
模块化
特性、思想:将内核划分为多个模块,各模块之间相互协作
内核=主模块+可加载内核模块
优点
提高了操作系统设计的正确性、可理解性和可维护性
增强了操作系统的可适应性
加速了操作系统的开发过程
缺点
模块间的调用接口定义未必合理、实用
模块间相互依赖,难以调试和验证
宏内核(大内核)
将操作系统的主要功能模块都做为系统内核,运行在核心态
优点:高性能
缺点
内核代码庞大,结构混乱。难以维护
大内核中某个功能出错,就可能导致整个系统崩溃
典型:Linux、UNIX
微内核
只是把基本的功能保留在内核
优点:内核功能少,结构清晰,方便维护
缺点:需要频繁地在核心态和用户态之间切换,性能低
典型:Windows NT
基本功能
进程(线程)管理
低级存储器管理
中断和陷入处理
特点
扩展性和灵活性
可靠性和安全性
可移植性
分布式计算
外核
特性、思想:内核负责进程调度、进程通信等功能,外核负责为用户进程分配未经抽象的硬件资源,且由外核负责保证资源使用安全
优点
外核可直接给用户分配“不虚拟、不抽象”的硬件资源,使用户进程可以更灵活的使用硬件资源
减少了虚拟硬件资源的“映射层”,提升效率
缺点
降低了系统的一致性
使系统变得更复杂