syscall をカーネル モードに切り替える必要があるのはなぜですか?
-
03-07-2019 - |
質問
私はオペレーティング システムの最終版を勉強しているのですが、システムコールのために OS がカーネル モードに切り替える必要がある理由を誰かが教えてくれないかと思っていました。
解決
syscall は、セキュリティ上の理由から通常のユーザー コードではこれを行うことができないため、カーネル モードでオペレーティング システムを実行するために特に使用されます。
たとえば、メモリを割り当てたい場合、オペレーティング システムにはそれを行う特権が与えられます (オペレーティング システムはページ テーブルを認識し、他のプロセスのメモリにアクセスすることが許可されているため) が、ユーザー プログラムとして、ピークしたり破棄したりすることは許可されるべきではありません。他のプロセスのメモリ。これはサンドボックス化する方法です。したがって、オペレーティング システムにメモリを割り当てるように要求する syscall を送信します。これはカーネル レベルで行われます。
編集:今では、 ウィキペディアの記事 これに関しては驚くほど役に立ちます
他のヒント
これには「宿題」というタグが付いているので、答えを教えるだけではなく、ヒントも提供します。
カーネルは、コンピュータのハードウェアにアクセスし、アプリケーションが互いに干渉しないようにする責任があります。アプリケーションがカーネルの協力なしでハードウェア デバイス (ハード ドライブなど) にアクセスできたらどうなるでしょうか?
所属していません StackOverflow