2012-04-11 58 views
0

我试图根据它们的属性和用途清楚地区分两个术语/技术。 我最感兴趣的是他们之间的差异。参考监视器VS.系统调用包装

我知道他们通过插入系统调用以相同的方式工作。或者我可能是错的!

不过,我仍然感到困惑,例如什么层和模式(用户,内核)的系统包装所属以及到参考监视器属于哪个层和模式。

用尽可能少的话。 请告诉我你对这两种介入技术的了解。

非常感谢。

回答

0

这是我如何解释二:

系统调用包装 的系统调用包装在一个包装系统调用用户模式的代码。也就是说,它会在系统调用之前和/或之后执行以验证某些属性。一个简单的例子就是在execve周围添加一层代码来检查权限或记录此操作。就像这样,libc和其他库已经包装了系统调用。你通常不会直接使用execve的,克隆,打开,读取或写入 - 而不是有版本一样execv,叉,FOPEN,FREAD和FREAD使程序员的工作更容易一些。

参考监视器 在另一方面,我认为一个参考监视器供应略有不同的功能。它试图调解对资源的访问,这可以在用户和内核中完成,并且可以在系统调用中插入,甚至更低。

我认为最好的方法来区分这两个是一个(系统调用包装)是一个实现,而其他(参考监视器)是一种想法或者政策要执行。也就是说,你可以将系统调用包装在一个程序中,以确保访问控制和适当的资源分配,但这个想法和实现不是一回事。

注:我不是很熟悉参考显示器。我用http://en.wikipedia.org/wiki/Reference_monitorhttp://www.cse.psu.edu/~tjaeger/cse544-s10/papers/refmon.pdf作为部分来源。