私がマルチタスクを読んだことは、コンテキスト切り替えが本当に速いスピードで起こっていて、並列性の錯覚を与えていることです。コンテキストの切り替えだけでなく、すべてのプロセスを同時に終了してもマルチタスクは可能ですか?
しかし、私は混乱しています。コンテクストの切り替えがあっても、データ全体を処理しなければならず、同時にCPUがどのようにそれを達成するのでしょうか?
たとえば、私はVLCで5分の長さの曲を聴きながら、KMPで5分の別の曲を聴いています。したがって、CPUは10分の長さのデータを処理する必要があります。しかし、両方の曲が同時に終わる。どのように可能ですか?私がいくつかの概念を誤解している場合は、修正してください。
シングルプロセッサとマルチコアプロセッサの両方に回答できますか?
'コンテキストを切り替えてもデータ全体を処理する必要がありますが、同時にCPUがどのように処理するのですか?'ほとんどの場合、プロセス/スレッドはI/Oを待機しているため、I/Oが完了すると空きCPUが十分にあるためです。最新のプリエンプティブなマルチタスク・カーネルは、すべて高性能I/Oに関するものです。 CPUの実行は、IOや他のスレッドからの信号を待っているため、スレッドを使用できないスレッドから保留され、進行可能なスレッドに供給されます。複数のコアを持つだけで、カーネルがそれらのコアに準備スレッドをディスパッチする機会が増えます。 –