存储保护-数据安全

目录

存储区域保护  

访问方式保护


通常所说的"存储保护"是指防止程序间相互越界访问,破坏其他程序或系统的存储区。存储保护就是对主存中的程序和数据进行保护。为了降低开销,以页或者段为单位进行存储保护。


       在采用虚拟存储技术的存储系统中,一个多任务的操作系统经常将多个不同的程序同时调入主存执行,因此,首先需要保证这些程序间不会相互覆盖,并且,一个程序不能访问其他程序的数据以及不是分配给他的主存区域。其次,一个程序出错不会破坏其他用户程序和系统程序。通过一些限制方式保护主存中程序的技术被称为存储保护。

简单的说,存储保护主要包括以下两个方面内容:存储区域保护和访问方式保护

存储区域保护  

为了防止地址越界。常用的存储区域保护方式有基于页表或段表的保护键保护环保护
(1)基于页表或段表的保护。

       在分页式虚存中,每个程序的虚页号是固定的,经过地址变换后的实存页号也是固定的。这样,程序只能访问或影响到相应的主存页面,不会影响或访问其他程序空间。
      在分段式虚存中,段表和页表的保护功能类似,但段表还需要记录段的上界,下界和段长,这样就很容易保证程序访问的地址不越界。

(2)键保护方式

       操作系统为主存中的每一页分配一个键,通常被称为存储键,用于指明保护的等级。

       存储键相当于一把锁,只有拥有打开这把锁的钥匙才能访问相应的页面。而钥匙就是操作系统为每道程序分配的访问键,该访问键通常保存在该道程序的状态寄存器中。当程序要访问主存的某一页时,程序的访问键要与该页的存储键进行比较。若两键相符,则允许访问该页,否则拒绝访问。
(3)环保护方式

       操作系统按照系统程序和用户程序的重要性及对整个系统正常运行的影响程度,将程序分为多个保护级别(层),每个级别称为一个环,这样,各个级别就构成了同心环。在现行程序运行前由操作系统为程序设置每个页的环号,并置入页表中。并将该道程序的开始环号保存在CPU的现行环号寄存器中。程序可以访问任何外层空间。访问内层空间则需要由操作系统的环控例行程序判断这个向内访问是否合法。pentium微处理器采用环保护方式。


访问方式保护


       为了保证程序不能对主存执行非授权的操作,对页表或者段表设置访问权限标志位来实现。
对内存信息的使用可以有以下三种方式:读(R),写(w)和执行(E),因此相应的访问权限就是R,W,E三种方式形成的逻辑组合。例如,R+W+E表示可以进行任何访问(全权限),(R+W)*E表示能够读和写但不能执行。
        通常,操作系统对每个程序访问方式保护的规定如下:

对本程序所在存储区域拥有全权限。

对共享数据区域(或获得授权的其他用户数据区域)可读不可写。

对共享程序区域(或获得授权的其他用户程序区域)可执行。

对操作系统内核等非授权区域不可访问。


   这种访问方式经常和存储区域保护结合起来实现。例如基于页表和段表的保护方式下,通常将访问方式“位”保存在段表和页表中,使得同一个段内的不同页有不同的访问方式。这样可以提高保护的灵活性。存储保护一般以硬件保护为主,以降低系统实现开销,提高保护效率。当发生访问越界等非法操作时,硬件产生中断,进入操作系统处理。
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值