2012-04-14 8 views
0

私たちは、学生の計算幾何学問題の解決策をテストするオンラインジャッジシステムを開発しています。現時点では、テスト環境が必要です。(最適なソリューションのみを受け入れるために)時間とメモリの使用を制限する必要があり、信頼できないコードを実行するため、システムコール(フォークなど)やネットワークの無効化などを禁止する必要があります。このタスクのための最も簡単な(オープンソースの)仮想化ソリューションでしょうか?私が理解する限り、(OpenVZのような)パッチされたカーネルを使わなければならないでしょうか、あるいは制約と信頼できないプログラムを引数として受け入れて実行する簡単なツールを見つけることは可能でしょうか? P.P. C++コードを実行することが重要な場合は、ユニバーサルソリューションを使用したいと考えています。簡単な仮想化の方法

答えて

1

問題にstdin/stdoutのみが含まれる場合、たとえば、次のようになります。いくつかの入力を読んでから出力を計算すると、seccompを見ることができます。これは本当に簡単です。

また、近い将来、second mode of seccompがカーネルに追加される可能性があります。