操作系统小结

1.实时操作系统和专用操作系统,需要向操作系统预定运行时间,比如预定多少秒后发射火箭
2.编译器是操作系统上层的应用,不是操作系统提供的
3.批处理对内存的大小要求要看实际应用场景,它主要缺点是没有交互性
4.常见特权指令:输出输出指令(in指令、out指令)、开中断指令、关中断指令、修改psw寄存器的指令
5.访管指令(trap指令)不是特权指令,负责由用户态转换为内核态
6.通道是一种硬件(cpu的小马仔),通道可以执行i/o指令,从而管理i/o设备的工作
7.屏蔽中断指令:实现关中断,使当前操作不可被终端。相当于一个门。
8.用户及其应用程序是通过系统调用提供的支持和服务来使用系统资源完成其操作
9.程序接口(允许用户通过程序间接使用):由一组系统调用组成(程序接口=系统调用)
10.系统调用的存在目的:为了使系统更稳定、安全,要防止小白用户、恶意用户进行非法的越权操作
解决方案:将系统的核心功能封装为系统调用
引出的问题:系统调用过程需要用户态与核心态的切换,降低了效率
在一些专业性较强、实时性要求较高的操作系统中,可不提供系统调用,以换取效率,如nasa在火箭、卫星上使用的vxworks系统。
11.计算机的各种错误的处理、进程切换等都需要中断处理。没有中断就不会有并发,所以中断处理是操作系统必须提供的功能
12.由访管指令(trap指令)引起的内中断叫访管中断,访管中断不是指用户执行任意一个特权指令所引发的中断,而是指程序为了请求操作系统的服务而故意引发的中断
13.用户程序在用户态下要使用特权指令引起的中断属于程序中断(这里的程序中断是指软件中断,有人给翻译成了程序中断,software interrupt)
14. 时钟管理,地址映射,中断系统三者的实现需要特殊硬件的支持,进程调度只需要软件(os)加以cpu便可以实现
时钟管理–时钟部件是cpu用来得知过了多长时间的来源,需要硬件定时器,定期发出时钟脉冲,cpu通过记录收到的时钟脉冲数来判断过了多长时间
地址映射–虚拟地址到物理地址地址变换相关的硬件机构,需要页表寄存器、快表寄存器(TLB)
中断系统–中断向量地址形成部件,及中断向量表,用来提供对应类型的中断地址入口的。
中断向量表

15.区分中断处理的程序(存放中断服务程序的入口地址的中断向量表)与中断服务程序。开机时操作系统会初始化各中断向量写入内存特定的地方形成中断向量表区分中断处理程序与中断服务程序
16.计算机通过硬件完成操作系统由用户态到核心态的转换,这是通过中断机制来实现的。
17.置时钟指令:更改cpu中记录时钟个数的寄存器,特权指令
18.操作系统本质也就是一个软件,一堆代码,一堆函数调来调去从而完成了操作系统内核的那些功能,比如删除功能,就是调用了代码里的delete(…)函数,
而这个功能不能交给用户直接完成,因为用户可能会误删系统重要代码。只能让用户访管指令触发一个异常,进行系统调用,然后操作系统审视他这个删除要求是否合法再进行相应的处理
19.一定要区分执行和调用,广义指令(系统调用)并不是一条具体的机器指令,而是一系列指令的封装(类似c语言函数的封装,这也是为什么叫广义指令的原因),调用广义指令是用户态,执行广义指令是在核心态
20.常见指令
21.Windows的小黑窗就是命令解释程序,让用户可以直接和操作系统交互,它属于命令接口中的联机命令接口。
22.可以依据下图判断哪些程序需运行在内核态内核功能
23.关于pc寄存器
在这里插入图片描述在这里插入图片描述

pc是在当前指令取数完成后就加1,子程序的地址是在cpu执行指令后将子程序地址放入pc,此时pc中的主程序地址会压入栈中以保护现场,在执行完子程序后将栈顶元素出栈送入pc中继续执行子程序,中断程序亦如此
24.关于调用子程序通用数据寄存器中的内容(考虑的是N+1行代码需要的是N-1行a,b两个寄存器中数据的值,而不是子程序修改后的),此时就需要在调用子程序前将通用数据寄存器的值保存。
但有时也不需要保存通用数据寄存器的值,那就是子程序没有对这两个数据寄存器的数据进行覆盖的操作 (通用地址寄存器也是同样的道理)
在这里插入图片描述
25.由图可见:需要压栈保存程序状态字寄存器,在某层完成中断服务返回上层时需要以此判断是cpu的状态是否需要改变
在这里插入图片描述
26.中断分类
![!](https://img-blog.csdnimg.cn/8cf19c10405d4e51a262e5d87720ea71.png)
27.关于关中断、开中断指令
在这里插入图片描述
28.中断处理保存现场时,必须保存的数据由硬件保存(psw、pc);有时需要保存,有时不需要保存的数据由操作系统(软件)保存(如某些通用寄存器)。像cache和tlb中的内容是主存中数据的副本,丢失了还可以再获取,不需要保存

29.操作系统会把主存分成系统区和用户区,系统区的内存单元普通用户是无法访问的,如果有一个用户的指令正在强行的访问系统区的单元,此时就会发生”存储保护错“的异常(内中断,因为与当前执行指令有关)。
30.参数是用来指定调用哪个系统资源在这里插入图片描述
31.关于时钟中断
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
注:当前进程占用cpu时间记录的是该进程占用cpu的总时间
在这里插入图片描述
32.系统调用的过程在这里插入图片描述
33.关于单重中断和多重中断
在这里插入图片描述
34.一道题
普通编程员都能打断点调试程序,故设置断点指令肯定是非特权指令在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值