私はこのOSの本を読んでいるので不思議ですI/Oのような命令はユーザーモードでどのように動作しますか?
"ユーザープログラムは常にユーザーモードで実行され、命令のサブセットのみを許可します[...]。 OSからサービスを取得するには、ユーザープログラムがシステムコールを作成し、カーネルにトラップしてOSを呼び出す必要があります。
一般的にユーザーモードでI/Oが許可されていないが、入力を求めるC++やJavaのプログラムがあるとしよう。あるいは、プログラム内の検索バーのようなものを言う。検索バーを選択すると(何かを書くことを意味する)、TRAP命令が呼び出されて(OSがカーネルで実行されているため)、I/O、つまりキーボードにアクセスできるようになります。私が正しく従うか、何がうまくいかないかはわかりません。
ユーザモードではI/Oは許可されていませんが、OSのアプリケーションには入力を使用します。また、OS自体にもキーボードコマンドがあります。キーボードコマンドを使用できる場合、OSはいつでもI/Oの準備ができていることを意味します。その後、ユーザーモードではI/O命令に関する原文は許可されません。
私の知らないことは申し訳なく思っていますが、私はこれらの用語とユーザーとカーネルの違いとちょっと混乱しています。私はOSがカーネルモードで動作し、アプリケーションがOSで動作することを知っているので、最終的にアプリケーションはI/Oにアクセスできます。