180203—【操作系统】背景知识

按:

操作系统利用一个或多个处理器的硬件资源,为系统用户提供一组服务,
它还代表用户来管理辅助存储器和输入/出设备。

计算机的基本构成

计算机有四个主要的结构化部件:

  • 处理器 :
  • 内 存:常为易失性的,关机即空。与其相对的是磁盘存储器,关机时内容不会丢失。
    内存通常也叫:实存储器、主存储器。
  • 输入/出设备:
  • 系统总线:

处理器的功能包括和内存交换数据,为此,它需要:
两个内部 (对处理器而言)寄存器:

  • 存储器地址寄存器 MAR: 用于存储下一次执行读写的存储器的地址。
  • 存储器缓存寄存器 MBR:存储将要写入存储器,或从存储器提取的数据。

同理,为实现输入输出功能,也需要:

  • 输入输出地址寄存器 MAR: 用于确定一个输入输出设备的地址。
  • 输入输出缓存寄存器 MBR:用于在处理器和输入输出设备中间传导数据。

内存模块由一组单元构成,这些单元由按顺序编号的地址确定,每个单元存储一个二进制数,可解释为一个指令或数据。

输入输出模块也有自己的内存缓存区,用于临时存储数据直到他们全部到达该去的地方。

这里写图片描述
可以如下总结:
数据的历程包括: 存储—>处理器—>输入/出设备。

指令如何执行

处理器执行的程序是由一组保存在存储器中的一组指令组成的,单个指令所需要的处理称为一个指令周期,该周期在简化之后由两个阶段组成:取指阶段、执行阶段。
相关部位:

  • 存储器:用以存储待执行的指令和待处理的数据;
  • 程序计数器PC:缓存需执行的指令在存储器中的地址;
  • 指令寄存器IR:用以存放当前在执行的指令;
  • AC:用于缓存需要处理的数据。

下图中,展示了把地址为940的存储单元中的内容与地址为941中的内容相加,并把结果保存在后一个单元的过程,该过程需要三条指令:
这里写图片描述

  1. PC取第一条指令的地址为300,该指令的内容被送入IR处理,此后PC递增1。
  2. IR的最初4位,一个十六进制数表示需加载AC,剩下12位指明内容的地址为940,940中的数据被取入AC;
  3. PC递增之后为301,取其中的指令送入IR,PC再增1;
  4. IR表示需要把AC中以前的内容和地址为941中的内容相加,结果保存在AC中;
  5. 从302中取下一条指令(2941),PC增1;
  6. IR指示AC中的内容被存在941中。

中断

中断是用于提高处理器处理效率的一种手段。
例如,绝大多数I/O设备都慢于处理器,遇到需要调用I/O设备时,如果等待该设备准备好,则处理器将会空闲较长时间造成资源浪费。

假设有一台1GHz CPU的PC,它每秒可执行10^9次指令,典型的硬盘转速为7200转/秒,因此旋转半周的时间为4ms,这比处理器慢了大约4000000倍。

这里写图片描述
上图,write指令表示调用一个I/O模块。
a中为未设计中断机制时的情况,write指令执行时,处理器只能空闲;

b中,遇到wirte之后,此时该指令涉及的I/O程序只需要准备代码和真正的I/O指令,在这为数不多的几条指令执行完成之后,控制权被交回到用户程序,在这期间,外部设备忙于从存储器接受数据并打印,这种操作和用户程序中指令的执行是并发的;

c中,考虑如果在中断中间再次遇到中断时的情况。此时,用户程序在第一次调用I/O未完成之时就遇到了第二次wirte指令。
此时用户程序将被挂起,当第一次I/O程序完成之后,才能执行后续I/O程序。
中断和指令周期:
这里写图片描述

多个中断

假设正在处理一个中断时,可以发生另外的中断。
处理多个中断有两种办法:

  • 在处理第一个中断时,禁止再发生中断,即对其他中断请求不予理睬。等第一个中断结束之后再执行。
  • 定义中断优先级,允许高优先级打断低优先级。

第一种方式的缺点在于未考虑相对优先级和时间限制的要求,
比如:当来自通信线路的输入到达时可能需要快速接受,来为更多的输入让出空间,如果在第二批到来时第一批还未处理完,就可能导致缓冲区溢出而丢失数据。

第二种方法可解决该问题:
这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值