概念
控制和管理操作系统软件和硬件
用户观点:用户和计算机之间的接口
基本概念
特征
并发,共享,虚拟,异步
功能
处理机管理,存储器管理,文件管理,设备管理
作为用户和硬件接口
命令接口(用户)
联机命令接口(分时或实时系统)
脱机命令接口(批处理系统)
程序接口(编程人员)
由系统调用组成
分类
批处理系统
单道
处理机,设备,通道(IO设备)可以并行
多道
宏观上并行,微观上串行
资源利用率高,系统吞吐量大,用户相应时间长,无人机交互能力
失去了封闭性,顺序性
进程越多,不一定意味着CPU利用率越高
进程越多,进程竞争越激烈,还可能出现死锁,导致CPU利用率高
分时
同时性,交互性,独立性,及时性
实时
及时性,可靠性
软实时系统:必须规定时间完成
硬实时系统:可以偶尔违反时间
体系结构
内核
1.时钟管理
计时
时钟中断实现进程切换
2.中断机制
目的:提高CPU利用率
只有一小部分属于内核,负责保护和恢复中断现场信息,转移到相关处理程序。
3.原语
4.系统控制的数据结构和处理
进程管理
存储器管理
设备管理
中断和异常
输入输出需要中断以实现,在核心态执行
发生中断和异常,进入核心态(硬件实现)
中断(外中断)
CPU执行指令外部事件,通常用于输入输出
时钟中断
时间片到引发中断
分为可屏蔽和不可屏蔽
可屏蔽(INTR)
不可屏蔽(NMI)
紧急硬件故障
异常(内中断)
不能被屏蔽,一旦出现,立即处理
引发
非法操作及专业的陷入指令
分为故障,自陷和终止
故障(软件中断)
指令执行引起的异常,如除数为0,运算溢出,缺页故障
自陷(软件中断)
事先安排的“异常”事件
终止(硬件中断)
硬件故障
系统调用
系统调用(广义指令)只能在核心态执行
命令接口(命令解释程序)在用户态执行
功能分类
设备管理
文件管理
进程控制
进程通信
内存管理
用户可以执行陷入指令(又称访管指令或trap指令)来发起系统调用
系统调用
状态码:管态、目态,决定是否可以使用特权指令
用户态转向核心态例子
1.系统调用
2.中断
3.错误状态
4.用户程序企图执行特权指令
用户态转向核心态堆栈由用户堆栈转换成系统堆栈(也属于该进程)
操作系统结构
分层法
最底层为硬件,最高层为用户接口,每层只能调用紧邻他的低层功能和服务(单向依赖)
优点
便于系统调试和验证,简化了系统设计和实现
一层一层的调试,若有错误,那肯定是这层出现问题
易扩展和维护
缺点
合理定义各层较难
效率较差
模块化
衡量模块化大小
模块化独立性标准:
内聚性:越高,独立性越好
耦合性:越低,独立性越好
宏内核
主要模块作为一个紧密联系的整体运行在核心态
微内核
内核最基本功能保留在内核,把不需要再核心态执行功能移到用户态执行
通常包括
1.与硬件处理紧密相关的部分
2.基本功能
3.客户和服务器的通信
一个模块错误只会使模块崩溃,而不会使整个系统崩溃
影响效率
基本功能
1.进程(线程)管理
2.低级存储器管理
页表和地址变换,依赖硬件
关于虚拟存储器,页面置换算法,内存的回收和分配
3.中断和陷入处理
把硬件相关放入微内核
特点
扩展性和灵活性:新增功能只需加服务器,不用改内核
可靠性和安全性
可移植性:移植需要进行修改较少
外核
为虚拟机分配资源
操作系统引导
计算机利用CPU运行特定程序
识别硬盘上的操作系统
通过程序启动操作系统
1.激活CPU
激活的CPU读取ROM的boot程序,将指令寄存器置为BIOS(基本输入输出系统)第一条指令,便开始执行BIOS指令
2.硬件自检
检查硬件是否故障
3.加载带有操作系统的硬盘
4.加载主引导记录MBR
5.扫描硬盘分区表
6.加载分区并引导记录PBR
7.加载启动管理器
8.加载操作系统
虚拟机
装入内存方式
绝对装入
按装入模块中的地址装入内存,装入后逻辑地址和物理地址完全相同
可重定位装入
装入后进行重定位
动态运行时装入
装入模块后,并不将逻辑地址转换成物理地址,在运行时才地址转换
模块链接
静态链接
在程序运行前,将各目标模块和库函数链接成一个完整的装入模块
装入时动态链接
将源程序编译后得到目标模块,用边装入边链接的方式装入内存
动态运行时链接
程序运行时再进行链接
习题补充
多任务操作系统:多个任务并发运行的操作系统
缺页发生在用户态,执行在内核态
用户态进行访问虚拟地址时,如果缺页,在内核态进行缺页处理
用户界面
包括命令接口,程序接口和操作环境
进程越多
CPU利用率先增加后减小
原因:上下文切换,竞争资源
引入多道程序技术的前提条件
系统具有中断功能
中断机制是多道程序设计的基础。它允许CPU在执行一个程序时被外部事件(如I/O操作完成、定时器到期等)打断,并转向处理这些事件。
DOS系统
是单道批处理系统