実行するプログラムを起動する人は誰ですか?

実行するプログラムを起動する人は誰ですか?

RAMで実行するプログラムを起動する人は誰ですか?カーネルですか?

Linuxで「ls」コマンドを実行したとします。 CPUコアによって処理され、必要に応じてシステムコール(カーネル用)を作成し、システムコールを使用してo / pをフラッシュするRAMで実行されていることがわかります。しかし、実際に誰がRAMで "ls"を実行することを許可しますか?

ベストアンサー1

ls端末に入力すると、その端末で実行されているシェル(bashやzshなど)は、カーネルにプロセスをフォークするように指示するシステムコールを呼び出します。その後、カーネルにシステムコールを使用して、新しいプロセスのプロセスイメージをlsプログラムに置き換えるように指示しますexecve。これにより、lsプログラムコードがディスクからメモリにロードされます。

したがって、どのプログラムにプログラムを実行させるかを言及する場合、これはシェルです。

おすすめ記事