首页 > 代码库 > 操作系统学习笔记:保护

操作系统学习笔记:保护

保护是指一种控制程序、进程或用户对计算机系统资源进行訪问的机制。

操作系统中的进程必须加以保护,使其免受其它进程活动的干扰。为此。系统採用了各种机制确保仅仅有从操作系统中获得了恰当授权的进程才干够操作对应的文件、内存段、CPU和其它的资源。

一、保护目标
提供保护的理由是首先须要防止用户的恶意操作。其次是以规定的策略一致的方式使用系统资源。

二、保护原则
最小特权原则。

三、保护域
进程仅仅能訪问那些已经获得了授权的资源,并且。仅仅能訪问完毕当前任务所须要的资源;其次是须要才知道原则(need-to-know)。

1、域结构
<对象名,权限集>

2、实例:UNIX
以用户ID为域。能够切换。

3、实例:MULTICS
保护域组织成环状层次结构,每一个环对应一个单独的域。

四、訪问矩阵
将保护模型抽象为一个矩阵,是为訪问矩阵。矩阵的行代表域。列代表对象。矩阵的每一个条目是一个訪问集合。訪问条目access(i,j)定义了在域Di中运行的进程在调用对象Oj时被同意运行的操作的集合。

如图所看到的:
技术分享

訪问矩阵为进程和域之间的静态和动态关联提供了一种定义和实现严格控制的机制。

当进程须要切换域时,能够将域加入到訪问矩阵。也能够更改矩阵的内容。

五、訪问矩阵的实现
1、全局表
一个有序三元关系<域,对象,权限集合>的集合。当在某域操作某对象时,就查找这个三元表,找到则继续,否则产生异常。


缺陷是这张表通常非常大, 以至于无法将整张表存放在内存中。一般会採用虚拟内存技术来管理这张表。

2、对象的訪问列表
訪问矩阵中每一个列实现成一个对象的訪问列表,抛弃空条目。列表由有序对<域。权限集>组成。

3、域的权限列表
相似对象訪问列表。

4、锁-钥匙机制
訪问列表和权限列表的折中。每一个对象有一个位模式组成的列表,称为锁;每一个域也有一个位模式组成的列表。称为钥匙。

仅当域拥有打开对象锁的钥匙,在该域运行的进程才干訪问对应的对象。

六、訪问控制
基于角色的訪问控制。

七、訪问权限的撤回
撤回訪问权限有很多方式,难度各不同。

八、基于语言的保护
编译器提供的保护与仅基于内核的保护相比。优势是 安全、灵活、效率。

<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

操作系统学习笔记:保护