電子書籍の厳選無料作品が豊富!

プリエンプティブ・マルチタスク、ノンプリエンプティブ・マルチタスクの違いがよくわかりません。もう少しわかりやすく解説してもらえませんか?
Http://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF

A 回答 (4件)

テーブルが1つした無い食堂で、複数の人が食事をする際


テーブルの前に皿を持って並んで

1皿食べ終わってから次の人に変わる、皿が残っている場合
は列の後ろに並び直すのが、ノンプリエンプティブ・マルチ
タスク
#1皿の量が多いとその人が食べ終わるまで他の人の食事が
#できなくなる。

1皿食べ終わっていなくても、時間がくれば強制的に次の人に
変わらされ、列の後ろに並び直すのが、プリエンプティブ・マ
ルチタスク
    • good
    • 2

don_goさんの説明面白いですね。


つまり、
今食っている人が、自ら譲るのが、ノンプリエンプティブ、

OSという管理人が食ってるのをとりあげて、後ろにまわす
のがプリエンプティブです。

ノンプリエンプティブの場合食いつづけるアプリがいると
他が動けなくなるので、協調性が求められます。
協調型マルチタスクとも呼ばれますよね。
    • good
    • 0

ANo1.捕捉


>#1皿の量が多いとその人が食べ終わるまで他の人の食事が
>#できなくなる。

普通はそうならない様に、食事をしている人が自分で
次に人に席を譲ります。
    • good
    • 0

ノンプリエンプティブは、プロセスがCPUを制御しなければならない。

よって、プログラムの反応が無くなってしまった場合などは下手するとシステム毎しんでしまう。

プリエンプティブはシステム側でCPUの制御をしているため、割り当てが終わると強制的にCPUを別のタスクに渡してしまう。プロセスが死んでしまってもOSまで巻き込むことはない。

昔はCPUが貧弱だったため、OSの機能が軽いほうがのぞまれノンプリエンプティブなOSがメインだった。しかし、ハードウェアの進歩とともにコンピュータにいろいろと処理をいっぺんに任せることが多くなったのでプリエンプティブなOSがメインになっていった。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!