一个程序在加载过程中会发生分页缺失中断,为什么?

答: 一个进程在启动后会分配一块特定的区域。程序语句的调用会有两种方式:

  1. 在程序开始,或发生跳转等语句的时候,先加载硬盘中需要的语句到内存,再执行。
  2. 在发生这些跳转的时候,先不加载,之间跳转,执行失败后,再加载硬盘中的语句到此内存。

在运行过程中可能发生多出跳转,或需要多次访问一个内存地址。此时,第二种方式的优势体现出来。因为程序的运行过程中并不需要多次进行硬盘数据的读取。大大提高了程序运行的效率。

分时系统的目的

分时系统的初衷是为了增强交互能力。也就是说,在一个程序运行过程中,还能够响应用户的操作。其实现方式是使用时间片,每个程序运行一段时间后(很短),先暂停,看看有没有其他任务(如用户输入,声音输出等)。判断优先级后,执行下一步操作。

指令调用的安全性

操作系统提供的安全级别实际上是使用了CPU的安全级别机制。

CPU会将指令至少分为两类,核心操作和普通操作。在 intel 芯片中,具有0~3,4 个级别(就是我们了解的Ring0~Ring3),0~2 的状态叫管态,3叫目态。操作系统运行在管态上。能直接进行核心操作。而普通的应用程序运行在目态,若进行核心操作。CPU 会禁止其直接操作,而将此请求发送给操作系统,使操作系统判断后,由操作系统调用。

这就实现了核心操作的安全管理。

内存访问权限

界地址寄存器:CPU 给当前运行的进程进行了内存地址的界定。该进程只能自由读写指定区域的内存地址。

仅作总结,非常不全,而且可能有很多错误。

posted on 2011-03-07 11:15  Tankery  阅读(230)  评论(0编辑  收藏  举报