一个程序在加载过程中会发生分页缺失中断,为什么?
答: 一个进程在启动后会分配一块特定的区域。程序语句的调用会有两种方式:
- 在程序开始,或发生跳转等语句的时候,先加载硬盘中需要的语句到内存,再执行。
- 在发生这些跳转的时候,先不加载,之间跳转,执行失败后,再加载硬盘中的语句到此内存。
在运行过程中可能发生多出跳转,或需要多次访问一个内存地址。此时,第二种方式的优势体现出来。因为程序的运行过程中并不需要多次进行硬盘数据的读取。大大提高了程序运行的效率。
分时系统的目的
分时系统的初衷是为了增强交互能力。也就是说,在一个程序运行过程中,还能够响应用户的操作。其实现方式是使用时间片,每个程序运行一段时间后(很短),先暂停,看看有没有其他任务(如用户输入,声音输出等)。判断优先级后,执行下一步操作。
指令调用的安全性
操作系统提供的安全级别实际上是使用了CPU的安全级别机制。
CPU会将指令至少分为两类,核心操作和普通操作。在 intel 芯片中,具有0~3,4 个级别(就是我们了解的Ring0~Ring3),0~2 的状态叫管态,3叫目态。操作系统运行在管态上。能直接进行核心操作。而普通的应用程序运行在目态,若进行核心操作。CPU 会禁止其直接操作,而将此请求发送给操作系统,使操作系统判断后,由操作系统调用。
这就实现了核心操作的安全管理。
内存访问权限
界地址寄存器:CPU 给当前运行的进程进行了内存地址的界定。该进程只能自由读写指定区域的内存地址。
仅作总结,非常不全,而且可能有很多错误。