2.操作系统运行环境和运行机制

 

2.1处理器状态

中央处理器(CPU):由运算器控制器、一系列的寄存器高速缓存构成。

两类寄存器:

  1. 用户可见寄存器:高级语言编译器通过优化算法分配并使用之,以减少程序访问内存次数;
  2. 控制和状态寄存器:用于控制处理器的操作,通常由操作系统代码使用。
  • 用于控制处理器的操作
  • 在某种特权级别下可以访问、修改

常见的控制和状态寄存器:

  • 程序计数器:记录将要取出的指令的地址
  • 指令寄存器:记录最近取出的指令
  • 程序状态字:记录处理器的运行状态如条件码、模式、控制位等信息

操作系统对硬件的需求——保护:需要硬件提供基本运行机制:

  1. 处理器具有特权级别,能在不同的特权级运行的不同指令集合;
  2. 硬件机制可将os与用户程序隔离。

因此,现代处理器通常将CPU状态设计划分为两种、三种或四种。在程序状态字寄存器PSW中专门设置一位,根据运行程序对资源和指令的使用权限而设置不同的CPU状态。

操作系统需要两种CPU状态:

  1. 内核态:运行操作系统程序——特权指令:只能由操作系统使用,用户程序不能使用的指令;
  2. 用户态:运行用户程序——非特权指令:用户程序可以使用的指令。

CPU状态之间的转换:

  1. 用户态——>内核态:唯一途径——>中断/异常/陷入机制,其中陷入指令又称访管指令,提供给用户程序的接口,用于调用操作系统的功能。例如(int,trap,syscall)
  2. 内核态——>用户态:设置程序状态字PSW

 2.2中断与异常机制

操作系统是由“中断驱动 ”或者“事件驱动”的。

中断/异常机制主要作用:

  1. 及时处理设备发来的中断请求;
  2. 可使OS捕获用户程序提出的服务请求;
  3. 防止用户程序执行过程中的破坏性活动。    

中断/异常的概念:CPU对系统发生的事件作出的一种反应。

中断的引入是为了支持CPU和设备之间的并行操作,设备完成输入/输出后,通过向CPU发送中断报告此次结果。

异常的引入是表示CPU执行命令时本身出现的问题。如算术溢出、除零、取数时的纠错,这时硬件改变了CPU的执行流程,转到相应的错误处理程序或异常处理程序或执行系统调用。       

事件:

1、中断(外中断)

  • I/O中断
  • 时钟中断
  • 硬件故障   

2、异常(内中断)        

  • 系统调用
  • 页故障/页错误
  • 保护性异常
  • 断点指令
  • 其他程序性异常(如算术溢出等)

2.3中断/异常机制工作原理

中断/异常机制:硬件和软件相互配合而使计算机系统得以充分发挥能力。

硬件——中断/异常响应:捕获中断源发出的中断/异常请求,以一定方式响应,将处理器的控制权交给特定的处理程序。

软件——中断/异常处理程序:识别中断/异常类型并完成相应的处理。

中断响应:发现中断、接受中断的过程,由中断硬件部件完成。

处理器控制部件中设有中断寄存器。

中断响应过程:开始——>取下一条指令——>执行指令

中断向量表:由若干中断向量组成,即若干内存单元,存放中断处理程序入口地址和程序运行时所需的处理机状态字

中断处理程序:设计操作系统时,为每一类中断/异常事件编号相应的处理程序,并设置好中断向量表。

系统运行时若响应中断,终端硬件部件将CPU控制权转给中断处理程序:

  1. 保存相关寄存器信息
  2. 分析中断/异常的具体原因
  3. 执行对应的处理功能
  4. 恢复现场,返回被事件打断的程序。

2.4 X86处理器的中断/异常机制

中断:由硬件信号引发,分为可屏蔽中断和不可屏蔽中断。

异常:由指令执行引发的,比如除零异常,80X86处理器发布了大约20种不同的异常,对于某些异常,CPU会在执行异常处理程序之前产生硬件出错码,并压入内核态堆栈。

系统调用:特殊异常,从用户态到内核态的唯一入口

中断控制器(PIC或APIC):负责将硬件的中断信号转换为中断向量,并引发CPU中断。

实模式:中断向量表,存放中断服务程序的入口地址。入口地址=段地址左移4位+偏移地址;不支持CPU运行状态切换;中断处理与一般的过程调用相似。

保护模式:中断向量表改为中断描述符表,采用门描述符数据结构表示中断向量。

中断向量表/中断描述符表:

  • 任务门
  • 中断门:
  1. 给出段选择符,中断/异常程序的段内偏移量
  2. 通过中断门后系统会自动禁止中断
  • 陷阱门:a.与中断门类似,但通过陷阱门后系统不会自动禁止中断。
  • 调用门

中断/异常的硬件处理过程:

  1. 确定与中断或异常关联的向量i;
  2. 通过IDTR寄存器找到IDT表,获得中断描述符;
  3. 从GDTR寄存器获得GDT的地址;结合中断描述符中的段选择符,在GDT表获取对应的段描述符;从该段描述符中得到中断或异常处理程序所在的段基址;
  4. 特权级检查;
  5. 检查是否发生了特权级的变化,如果是,则进行堆栈切换(必须使用与新的特权级相关的栈)
  6. 硬件压栈,保存上下文环境;如果异常产生了硬件出错码,也将它保存在栈中;
  7. 如果是中断,清IF位;
  8. 通过中断描述符中的段内偏移量和段描述符中的基地址,找到中断/异常处理程序的入口地址,执行其第一条指令。

2.5系统调用机制——操作系统向用户程序提供的接口

系统调用:用户在编程时可以调用的操作系统功能。

系统调用的作用:

  1. 系统调用是操作系统提供给编程人员的唯一接口;
  2. 使CPU状态从用户态陷入内核态。

典型系统调用举例:每个操作系统都提供几百种系统调用(进程控制、进程通信、文件使用、目录操作、设备管理、信息维护等)

系统调用机制的设计:

  1. 中断/异常机制:支持系统调用服务的实现
  2. 选择一条特殊指令:陷入指令(亦称访管指令):引发异常,完成用户态到内核态的切换
  3. 系统调用号和参数:每个系统调用都事先给定一个编号(功能号)
  4. 系统调用表:存放系统调用服务例程的入口地址

参数传递过程问题:常用以下三种方法实现用户程序的参数传递给内核 :

  1. 陷入指令自带参数:陷入指令的长度有限,且还要携带系统调用功能号,只能自带有限的参数;
  2. 通过通用寄存器传递参数:这些寄存器是操作系统和用户程序都能访问的,但寄存器的个数会限制传递参数的数量,常用;
  3. 在内存中开辟专用堆栈区来传递参数。

系统调用的执行过程:当CPU执行到特殊的陷入指令时:

  1. 中断/异常机制:硬件保护现场,通过查中断向量表,把控制权转给系统调用总入口程序;
  2. 系统调用总入口程序:保存现场,将参数保存在堆栈里,通过查系统调用表把控制权转给相应的系统处理例程或内核函数;
  3. 执行系统调用例程
  4. 恢复现场,返回用户程序。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 系统运行环境风险是指IT项目在运行过程中受到外部环境变化的影响,导致系统无法正常运行运行出现异常的风险。常见的系统运行环境风险包括: 1. 硬件故障:如服务器、网络设备等硬件设备出现故障,导致系统无法运行运行异常。 2. 软件问题:如操作系统、数据库软件等出现问题,导致系统无法正常运行。 3. 网络问题:如网络中断、带宽不足等问题影响系统的正常运行。 4. 安全问题:如黑客攻击、病毒感染等安全问题,可能导致系统瘫痪或数据泄露等情况。 5. 人为错误:如误操作、误删除等人为错误,可能导致系统数据丢失或系统崩溃等问题。 为避免系统运行环境风险,可以采取以下措施: 1. 加强硬件设备的维护和管理,及时发现和解决硬件故障。 2. 定期对软件进行升级和漏洞修补,提高系统的安全性和稳定性。 3. 建立完善的网络监控和安全管理机制,及时发现和解决网络问题和安全问题。 4. 加强员工培训,提高员工对系统操作的熟练程度,减少人为错误的发生。 5. 定期备份数据,确保数据的安全性和完整性。 ### 回答2: 在IT项目中,系统运行环境风险指的是系统运行所面临的各种不确定因素和潜在问题,这些因素和问题会对系统的正常运行和性能产生影响。系统运行环境风险的存在会导致系统性能下降、数据破坏、业务中断等问题,从而影响项目的成功实施。 系统运行环境风险主要表现为以下几个方面: 首先,硬件设备问题可能成为系统运行环境的风险。包括硬件设备故障、硬件兼容性问题、设备容量不足等。例如,服务器故障可能会导致系统无法正常运行,硬盘容量不足可能会导致数据丢失。 其次,操作系统问题也是系统运行环境风险的一部分。操作系统的不稳定性、漏洞和安全性问题可能会导致系统受到病毒攻击、黑客攻击或系统崩溃。例如,系统在Windows XP等过时操作系统运行可能会受到更多的安全威胁。 其次,网络问题也是系统运行环境风险的重要方面。网络连接不稳定、网络带宽不足、网络延迟等问题都可能导致系统运行缓慢或无法正常连接。例如,在网络状况较差的地区运行系统可能会导致用户体验差、业务无法顺利进行。 最后,系统组件和第三方软件的不稳定性也是系统运行环境风险的一部分。系统所依赖的组件和软件版本的更新、兼容性等问题可能导致系统崩溃或功能异常。例如,系统在新版本的浏览器上可能无法正常显示,或是在与其他软件集成时出现不兼容的情况。 为降低系统运行环境风险,可以采取如下措施:选择稳定可靠的硬件设备和操作系统;保持网络的稳定连接和足够的带宽;定期更新系统组件和第三方软件;建立恢复备份机制,保证数据的安全性和可靠性。此外,还应该进行系统运行环境风险的评估和规划,在项目实施前就对潜在的风险进行充分的预测和准备,制定相应的应对措施。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值