Linuxは複数のプロセスをどのように処理しますか?

Linuxは複数のプロセスをどのように処理しますか?

私はLinux技術とbashスクリプトに初めて触れました。

現在、私は動作する単純なbashスクリプトを持っていますmkvextract

知りたいのですが:複数のユーザーが同時に同じまたは異なるmkvファイルでこのスクリプトを使用している場合(例:bashコマンドを介して)、Linuxはどのように反応しますか?

独自に「シーケンシングシステム」を生成しますか、それとも各コマンドを並列に処理しますか?

ベストアンサー1

これは仕事です。プロセススケジューラ(また見てこれ)。

一般的に、どのコマンドを使用する場合(詳細は説明せず)、Linuxカーネル(オペレーティングシステムの考え方)に別のコマンドを生成するように要求するとします。プロセスこれはそれを処理します。

これでプロセスがキューに追加され、すべてのプロセスにPCリソースへのアクセス権が付与されます。これは一種のスケジューリングアルゴリズムによって処理される。私が考えることができる最も簡単なのはFIFO(先入れ先出し)です。要求された最初の項目は、リソースを最初に取得することです。短期間にリソースを提供してからキューに入れます。

並列処理は状況によって異なります。通常、Linuxはマルチコアを使用し、いくつかのタスクは並列に実行されると言うことができますが、多くのタスクは並列実行のファンタジーを作成して実行されます。早すぎて切り替えて並列だと思うかもしれません。

あなたの質問に正確に答えるには、データを抽出するときに削除されるのではなく、単に読んでいます。したがって、同じまたは異なるmkvで複数の読み取り専用コマンドを実行することは問題ではありません。

詳しくは、Google「Scheduler」、「Linux Scheduler」をご覧ください。

おすすめ記事