在虚拟存储系统中,通常采用页表保护、段表保护和键式保护方法。
1. 页表保护和段表保护
每个程序的段表和页表本身都有自己的保护功能。每个程序的虚页号是固定的,经过虚地址向实地址变换后的实存页号也就固定了。那么不论虚地址如何出错, 也只能影响到相对的几个主存页面。不会侵犯其他程序空间。段表和页表的保护功能相同,但段表中除包括段表起点外,还包括段长。
2. 键保护方式
这种方法是为主存的每一页配一个键,称为存储键,每个用户的实存页面的键都相同。为了打开这个锁,必须有钥匙,称为访问键。访问键赋予每道程序,并保存在该道程序的状态寄存器中。当数据要写入主存的某一页时,访问键要与存储键相比较。若两键相符,则允许访问该页,否则拒绝访问。
3. 环保护方式
环保护方式可以做到对正在执行的程序本身的核心部分或关键部分进行保护。它是按系统程序和用户程序的重要性及对整个系统的正常运行的影响程度进行分层,每一层叫做一个环。在现行程序运行前由操作系统定好程序各页的环号,并置入页表中。然后把该道程序的开始环号送入CPU的现行环号寄存器。程序可以访问任何外层空间;访问内层空间则需由操作系统的环控例行程序判断这个向内访问是否合法。
1. 页表保护和段表保护
每个程序的段表和页表本身都有自己的保护功能。每个程序的虚页号是固定的,经过虚地址向实地址变换后的实存页号也就固定了。那么不论虚地址如何出错, 也只能影响到相对的几个主存页面。不会侵犯其他程序空间。段表和页表的保护功能相同,但段表中除包括段表起点外,还包括段长。
2. 键保护方式
这种方法是为主存的每一页配一个键,称为存储键,每个用户的实存页面的键都相同。为了打开这个锁,必须有钥匙,称为访问键。访问键赋予每道程序,并保存在该道程序的状态寄存器中。当数据要写入主存的某一页时,访问键要与存储键相比较。若两键相符,则允许访问该页,否则拒绝访问。
3. 环保护方式
环保护方式可以做到对正在执行的程序本身的核心部分或关键部分进行保护。它是按系统程序和用户程序的重要性及对整个系统的正常运行的影响程度进行分层,每一层叫做一个环。在现行程序运行前由操作系统定好程序各页的环号,并置入页表中。然后把该道程序的开始环号送入CPU的现行环号寄存器。程序可以访问任何外层空间;访问内层空间则需由操作系统的环控例行程序判断这个向内访问是否合法。