笔记内容及图片整理自XJTUSE “操作系统” 课程ppt,仅供学习交流使用,谢谢。
计算机系统操作
基本操作
I/O 设备与CPU可并发运行;
CPU 通过局部缓存与主存交换数据;
I/O从设备到设备控制器的局部缓存;
每一设备控制器负责一个设备类型;
每一设备控制器拥有一局部缓存;
设备控制器通过引起中断通知CPU操作已完成。
中断机制
硬件中断:设备控制器向CPU反馈其已经通过引发中断结束了运行
软件中断:产生自异常或者系统调用
中断作用:中断将控制权转移到中断服务程序,使系统更加高效和灵敏,现代操作系统基本是中断驱动的
中断逻辑:不同的代码段决定每种类型的中断应采取何种操作,有一个通用的例行程序来检查中断信息,然后调用特定的处理程序,也能通过中断向量表,该表包含所有服务例行程序的地址
I/O结构
设备与设备控制器相连,拥有一个硬件设备控制器(本地缓冲器、寄存器)和设备驱动程序。
I/O中断分为同步和异步操作。
同步I/O中断:等待I/O完成后继续接下来的操作
异步I/O中断:不等待I/O完成继续进行接下来的操作
直接内存访问
直接内存访问表示设备控制器从CPU中窃取内存周期,在本地缓冲和内存之间直接传输一整块数据而无需CPU干预。
像典型的终端输入设备这样的低速设备会为系统中的其他操作保留大部分CPU时间,而高速I/O设备能够以接近内存速度传输信息。如果CPU需要对每个字节的中断做出响应,那么它就没有多少时间来执行其他进程了。通常,这些设备的中断优先级较低,这样其他更重要的中断就可以先被处理。
存储结构
主存储器
主存能存储数据和指令,是CPU可以直接访问的唯一大型存储介质,以随机访问存储为主。
缺点:容量无法存储所有需要永久需要的程序和数据,关闭电源时丢失的内容损失
辅助存储器
辅助存储是主存的扩展,提供了非易失的足够大的存储容量,通常为磁盘等覆盖了磁记录材料的硬金属或玻璃盘片。
高速缓存
内置在CPU中的高速存储能保存近期访问的数据,包括数据缓存、指令缓存、代码缓存等。
缓存引入存储层次结构中的另一个级别,并且需要同时存储多个级别的数据才能保持一致。
存储层次
缓存把信息复制进较快的存储系统,主存可看作为二级存储器的最后一个缓存。
硬件保护
单用户系统
程序员可完全控制系统;
早期操作系统称为常驻监督程序,没有保护;
简单批处理系统需要一些保护;
多道程序批处理系统,程序可能会偶然或故意/恶意修改另一个程序的代码或数据。
多用户系统
程序员需要保护磁盘上的文件和数据,当遭遇非法指令,访问不属于自己的地址空间的内存,进程终止时硬件陷入到操作系统。
保护操作类型
1)两状态操作
2)I/O保护
3)内存保护
4)CPU保护
两状态操作
共享系统资源要求操作系统确保有误程序不会引起其他程序的运行错误。
其要至少在以下两个运行状态之间提供硬件支持:
用户态——代表用户执行,执行用户进程
管态——代表操作系统执行,进行系统引导
出现中断或陷阱时,硬件切换到管态。
两状态操作系统能回避错误用户之间的伤害,也要求特权指令必须在管态下执行。
关于特权指令:
用户模式——实施系统调用的方式或通过寄存器或堆栈将模式更改为内核
内核模式——直接运行
I/O保护
所有的I/O指令都是特权指令,用户不能直接用I/O指令,而是必须通过系统调用,这确保用户程序不能在管态下控制计算机。
内存保护
内存保护至少需要保护中断向量和中断服务程序,这要求加入两个寄存器以确定进程可以访问合法空间。
基址寄存器——拥有最小的法律物理记忆地址
界限寄存器——包含范围的大小
用户态下所生成的每个地址都要经过硬件检查,基本和限制寄存器只能通过使用特殊特权指令来通过操作系统加载。
在管态执行时,操作系统对监视器和用户的内存无限制访问:
1)更改基础寄存器和限制寄存器
2)将用户的程序加载到用户的内存中
3)这些程序的转储记忆图在发生错误的情况下
4)访问和修改系统调用参数
CPU保护
CPU保护要求防止用户程序陷入死循环或者不调用系统服务且不将控制权返回到操作系统。
定时器:在指定期间中断计算机以确保操作系统维护控制
加载定时器是一项特权指令,在将控制权转换为用户程序之前,操作系统确保计时器设置为中断,然后将控制权转移到操作系统。计时器通常用于实现分时系统,也用于计算当前时间。