第一章
1.1_1 操作系统的概念、功能和目标
操作系统(Operating System, OS):是指控制和管理整个计算机系统的 硬件和软件 资源,并合理地组织调度计算机的工作和资源的分配。
作为用户和计算机硬件之间的接口
-
提供的功能
-
命令接口(联机命令接口|脱机命令接口)
-
程序接口
-
GUI(图形用户界面win|ios|andrio)
-
-
目标
-
方便用户使用
-
1.1_2 操作系统的特征
并发|并行
并发:多个事件交替发生(宏观同时发生、微观交替进行)
并行:多个事件同时发生
共享
两种资源共享方式
-
互斥共享方式:一个时间段内只允许一个进程访问该资源
-
同时共享方式:允许一个时间段内由多个进程“同时”对它们进行访问
虚拟
概念:把一个物理上的实体变为若干个逻辑上的对应物
-
空分复用计数
-
时分复用计数
异步
概念:在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停的,以不可预知的速度向前推进。只有系统拥有并发性,才有可能导致异步性。
1.1_3 操作系统的发展与分类
OS的发展与分类
-
手工操作阶段
-
纸带机(用户独占全机、人机速度矛盾)
-
-
批处理阶段
-
单道批处理系统(外围机——磁带)
-
多道批处理系统(操作系统开始出现)
-
-
分时操作系统
-
轮流处理作业
-
不能处理紧急任务
-
-
实时操作系统
-
优先处理紧急任务
-
硬实时系统:必须在严格的时间内完成处理
-
软实时系统:可以偶尔犯错
-
-
网络操作系统
-
分布式操作系统
-
个人计算机操作系统
1.1_4 操作系统的运行机制与体系结构
OS的运行机制和体系结构
-
运行机制
-
两种指令
-
特权指令
-
非特权指令
-
-
两种处理器状态
-
核心态(root)
-
用户态
-
-
两种程序
-
内核程序(运行在核心态 )
-
应用程序
-
-
操作系统内核
-
时钟管理(实现计时功能)
-
中断处理
-
原语(特殊程序,运行具有原子性,其运行只能一气呵成,不可中断)
-
-
对系统资源进行管理的功能
-
进程管理
-
存储器管理
-
设备管理
-
-
操作系统的体系结构
-
分层结构(内核分多层,每层可单向调用更低一层提供的接口)
优点:* 便于调试和验证;易扩充和易维护,各层之间调用接口清晰固定
缺点:* 效率低,不可跨层调用,系统调用执行时间长
-
模块化(将内核划分为多个模块,各模块之间相互协作)
内核 = 主模块 + 可加载内核模块
优点:* 任何模块都可以直接调用其他模块,无需采用消息传递进行通信,效率高
* 支持动态加载新的内核模块,增强OS适应性
模块间逻辑清晰易于维护,确定模块间接口后可多模块同时开发
缺点:
-
大内核(将操作系统的主要功能模块都作为系统内核,运行在核心态)Linux、Unix
优点:高性能,内核各功能可互相调用
缺点:内核代码庞大,结构混乱,难以维护
某个模块出错,可能导致整个系统崩溃
-
微内核(只把最基本的功能保留在内核,即时钟管理、中断处理和原语)
优点:内核功能少,结构清晰,方便维护
缺点:需要频繁地在核心态和用户态之间切换,性能低
-
*外核 (负责为用户进程分配未经抽象的硬件资源,保证资源使用的安全)
优点:* 减少了虚拟硬件资源的“映射层”,提高效率
* 可直接给用户进程分配“不虚拟、不抽象”的硬件资源,使用户进程可以更灵活使用硬件资源
缺点:减低系统一致性
使系统变得更加复杂
-
1.1_5 中断和异常
-
中断机制的诞生
-
操作系统介入,开展管理工作
-
“用户态—>核心态”是通过中断实现的。并且中断是唯一途径
-
-
中断的概念和作用
-
中断的分类
-
内中断(异常)
-
陷阱(trap)
-
故障(fault)
-
中止(abort)
-
-
外中断 (CPU外部)
-
外中断的处理过程
1.1_6 系统调用
概念:应用程序通过系统调用请求操作系统的服务。保证系统的稳定性和安全性。
系统调用和库函数的区别:
-
系统调用是操作系统向上层提供的接口
-
有的库函数是对系统调用的进一步封装
-
当今编写的应用程序大多是通过高级语言提供的库函数间接地进行系统调用
1.1_7 操作系统引导
-
CPU从一个特定主存地址开始,取指令,执行ROM(BIOS,断电不消失)中的引导程序
-
将磁盘的第一块——主引导记录 读入内存,执行磁盘引导程序,扫描分区表
-
从活动分区(主分区,即安装操作系统的分区)读入分区引导记录,执行其中的程序
-
从根目录下找到完整的操作系统初始化程序(即 启动管理器)并执行,完成“开机”
参考:王道计算机考研 操作系统_哔哩哔哩_bilibili