-3

この質問に問題があります コード クラッキング システムを実装する必要があります。システムは 4 つのプロセス (p1、p2、p3、p4) を展開して、暗号化されたコードのパスワードを推測しようとします。暗号化の場合、式は次のようになると考えられます: C = P XOR K、ここで

C = encrypted code
P = plain text
K = key

復号化の式は次のとおりです。P = C XOR K. したがって、プログラムはこの式を使用して K を見つけようとします。XOR 演算子は ^ です。暗号化されたコード C とプレーン コード P が与えられた場合、プログラムは 3 つのプロセスをデプロイして、プレーン コードの暗号化に使用されるキーを見つけようとする必要があります。これら 3 つのプロセスは、プロセス P1 の制御下にあります。すべてのプロセスは結果をプロセス P1 に送信し、プロセス P1 は 3 つのプロセスを終了し、3 つのプロセスのいずれかがキーを見つけると、暗号化キーと復号化されたテキストを表示します。簡単にするために、元の数値 P が plain.txt というファイルに保存され、暗号化されたコードが cipher.txt というファイルに保存されているとします。これらのファイルには数値のみが保存され、範囲は 0 から 100000000 であると考えてください。したがって、P と C があり、プログラムはキー K を見つける必要があります。

私の質問は、いくつのセマフォを使用できるかということです。そして、それぞれの価値は何ですか?? セマフォの数だけでコードを手伝う必要はありません

4

1 に答える 1

1

これが問題の正確な削減である場合:

3つのワーカープロセスのいずれかが作業を完了すると、マスタープロセスは3つのワーカーすべてを終了します

次に、マスターが待機するセマフォを1つだけ必要とします。すべてのワーカーは、終了時にシグナルを送信します。最初のセマフォは、マスターのブロックを解除して、ワーカーを終了できるようにします。実際、必要なのはミューテックスだけで、完全なセマフォは必要ありません。

于 2013-01-01T13:03:17.753 に答える