2012-04-11 5 views
0

Ich versuche, beide Begriffe/Techniken nach ihren Eigenschaften und Verwendungen klar zu unterscheiden. Ich interessiere mich hauptsächlich für den Unterschied zwischen ihnen.Referenz Monitor Vs. System Call Wrapper

Ich weiß, dass sie auf die gleiche Weise arbeiten, indem Systemaufrufe zwischengeschaltet werden. Oder ich könnte falsch liegen!

Allerdings bin ich immer noch verwirrt über zum Beispiel, welche Schicht und Modus (Benutzer, Kernel) der System Wrapper gehört sowie zu welcher Schicht und Modus der Referenzmonitor gehört.

Mit so wenigen Worten wie möglich. Bitte teilen Sie mir alles mit, was Sie über diese beiden Interpositionstechniken wissen.

Vielen Dank. Diese

Antwort

0

ist, wie ich die beiden interpretieren:

System Call Wrapper Ein Systemaufruf Wrapper-Code im Benutzermodus, die Systemaufrufe wickelt. Das heißt, es wird vor und/oder nach einem Systemaufruf ausgeführt, um bestimmte Eigenschaften zu überprüfen. Ein einfaches Beispiel hierfür wäre das Hinzufügen einer Codeebene um execve, um Berechtigungen zu prüfen oder diese Aktion aufzuzeichnen. Libc und andere Bibliotheken wickeln bereits Systemaufrufe ab. In der Regel verwenden Sie nicht direkt execve, clone, open, read oder write - stattdessen gibt es Versionen wie execv, fork, fopen, fread und fread, um die Arbeit des Programmierers etwas einfacher zu machen.

Referenzmonitor Auf der anderen Seite, ich denke, ein Referenzmonitor dient eine etwas andere Funktion. Es versucht, den Zugriff auf Ressourcen zu vermitteln, und dies kann sowohl im Benutzer als auch im Kernel erfolgen und kann bei Systemaufrufen oder sogar noch darunter liegen.

Ich denke, der beste Weg, um die beiden zu unterscheiden ist, dass man (Systemaufruf Wrapper) ist eine Implementierung, während der andere (Referenzmonitor) ist eine Idee oder Politik, die Sie erzwingen möchten. Das heißt, Sie können Systemaufrufe in ein Programm einfügen, um die Zugriffssteuerung und die ordnungsgemäße Ressourcenzuweisung zu gewährleisten, aber die Idee und die Implementierung sind nicht ein und dasselbe.

Hinweis: Referenzmonitore sind mir nicht vertraut. Ich habe http://en.wikipedia.org/wiki/Reference_monitor und http://www.cse.psu.edu/~tjaeger/cse544-s10/papers/refmon.pdf als Teilquellen verwendet.