导图社区 王道408计算机操作系统第一章
王道408计算机操作系统第一章思维导图,操作系统是负责管理协调硬件软件等计算机资源的工作,为上层用户、应用程序提供简单易用的服务,是一种系统软件。
数据结构(的三要素是:逻辑结构、物理结构(存储结构)、数据的运算,欢迎一起来看数据结构知识。
社区模板帮助中心,点此进入>>
英语词性
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
法理
刑法总则
【华政插班生】文学常识-先秦
【华政插班生】文学常识-秦汉
文学常识:魏晋南北朝
【华政插班生】文学常识-隋唐五代
【华政插班生】文学常识-两宋
第一章
第一节
1.1.1操作系统的概念和功能
概念
负责管理协调硬件软件等计算机资源的工作 为上层用户、应用程序提供简单易用的服务, 是一种系统软件
功能和目标
资源的管理者
处理机管理
存储器管理
文件管理
设备管理
向上层提供服务
给普通用户用的
GUI用户图形界面
命令接口
联机命令接口
脱机命令接口
给软件/程序员用的
程序接口
即系统调用
对硬件机器的拓展
扩充机器
1.1.2操作系统的特征
并发
指两个或多个事件在同一时间间隔内发生 宏观上是同时发生的,微观上是交替发生的
并行
指两个或多个事件在同一时刻发生
共享
指资源中的资源可供内存中多个 并发执行的进程共同使用
互斥共享方式
系统中的某些资源,虽然可以提供给多个 进程使用,但一个时间段只允许一个进程 访问该资源
同时共享方式
系统中的某些资源,允许一个时间段 内由多个进程同时对他们进行访问
虚拟
时分复用技术(如虚拟处理器)
空分复用技术(如虚拟存储器技术)
异步
第二节
1.2操作系统(OS)的发展与分类
手工操作系统
缺点:人机速度矛盾
批处理系统
单道批处理系统(引入脱机输入输出技术)
优点:缓解人机速度矛盾
子主题
多道批处理系统(操作系统开始)
优点:多道程序并发执行,资源利用率高
缺点:不提供人机交互功能
分时操作系统
优点:提供人机交互功能
缺点:不能优先处理紧急任务
实时操作系统
硬实时系统
必须在绝对严格的规定时间内完成处理
软实时系统
能接受偶尔违反时间规定
优点:能优先处理紧急任务
网络操作系统
分布式操作系统
个人计算机操作系统
第三节
1.3.1操作系统的运行机制
简单了解程序的运行原理
高级语言编写代码→机器指令
程序运行的过程就是CPU执行指令的过程
两类程序
内核程序
应用程序
两类指令
特权指令
非特权指令
两种处理机状态
内核态/核心态/管态
用户态/目态
内核
内核(kernel)是操作系统最重要最核心的部分
由很多内核程序组成操作系统内核
如何变态
内核态→用户态
一条修改PSW的特权指令
用户态→内核态
由中断引起,硬件自动完成
1.3.2中断和异常
中断的作用
让操作系统内核强行夺回CPU的控制权
使CPU从用户态变为内核态
中断的分类
内中断(也称异常、例外)
陷阱,陷入(trap)
由陷入指令引起,是应用程序故意引发的
故障(fault)
由错误条件引起的,可能被内核程序修复。内核程序 修复故障后会把CPU使用权还给应用程序,让他继续 执行下去。如:缺页故障
终止(abort)
由致命错误引起,内核程序无法修复该错误,因此 一般不再将CPU使用权还给引发终止的应用程序, 而是直接终止该应用程序。如:整数除0️⃣,非法使用 特权指令
外中断(也称中断)
时钟中断
I/O中断请求
中断机制的基本实现原理
检查中断信号
内中断:CPU在执行指令时会检查是否有异常发生
外中断:每个指令末尾,CPU都会检查是否有 外中断信号需要处理
找到相应的中断程序
通过“中断向量表”实现
1.3.3系统调用
什么是系统调用
操作系统对应用程序/程序员提供的接口
系统调用和库函数的区别
有的库函数是对系统调用的进一步封装
有的库函数没有使用系统调用
小例子:为什么系统调用是必须的?
word和WPS同时打印
什么功能要用系统调用实现
凡是与共享资源有关的操作、会直接影响到其他进程的操作,就一定需要操作系统介入,就需要通过系统调用来实现
进程控制
进程通信
内存管理
系统调用的过程
传参
陷入指令/trap/访管
由操作系统内核程序处理系统调用请求
返回应用程序
第四节
1.4.1操作系统体系架构上
大内核
将操作系统的主要功能模块都作为系统内核,运行在核心态
优点:高性能
缺点:内核代码庞大,结构混乱,难以维护
微内核
只把最基本的功能保留在内核
优点:内核功能少,结构清晰,方便维护
缺点:需要频繁地在核心态和用户态之间转换,性能低
分层结构
最底层是硬件,最高层是用户接口, 每层可调用更低一层
优点
便于调试和验证,自底向上逐层调试验证
易扩充和易维护,各层之间调用接口清晰稳定
缺点
仅可调用相邻低层,难以合理定义各层的边界
效率低,不可跨层使用,系统调用执行时间长
模块化
将内核划分为多个模块,各模块之间相互协作 内核=主模块+可加载内核模块 主模块:只负责核心功能,如进程调度、内存管理 可加载内核模块:可以动态加载新模块到内核,而无需重新编译整个内核
模块间逻辑清晰易于维护 确定模块接口后即可多模块同时开发
支持动态加载新的内核模块
任何模块都可以直接调用其他模块,无需采用消息传递进行通信,效率高。
模块间的接口定义未必合理 、实用
模块间相互依赖,更难调试和验证
外核
内核负责进程调度进程,通信等功能,外核 负责为用户进程分配未经抽象的硬件资源,且由外核 负责保证资源使用安全。
外核可直接给用户进程分 配“不虚拟、不抽象”的硬件资源, 使用户进程可以更灵活的使用硬件资源。
减少了虚拟硬件资源的映射层,提升效率。
降低了系统的一致性
使系统变得更复杂
第五节
操作系统引导
第六节
1.6虚拟机
内核是操作系统最基本,最核心的部分。实现操作系统内核的那些程序就是内核程序
时钟管理
实现计时功能
中断处理
负责实现中断机制
原语
是一种特殊的程序
处于操作系统最底层,是最接近硬件的部分
这种程序的运行具有原子性—其运行只能一气呵成,不可中断
运行时间较短、调用频繁
对系统资源进行管理的功能
进程管理