• 締切済み

仮想的なプロセッサー

仮想プロセッサーとは一体何なのでしょうか?また1つの仮想プロセッサとはどういうのをいうのでしょうか??またまた複数の仮想プロセッサーもどういうのを言うのでしょうか?例えばどんなのが仮想プロセッサなのでしょうか?

みんなの回答

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.6

横から失礼ですが、質問者様は、マルチタスクと、 マルチプロセッサ、あるいはマルチコアの概念が ごちゃごちゃになっているように思われます。 もう少し、使う言葉の意味を辞書レベルで下調べを してから質問された方がいいのではないでしょうか? 興味を持たれている事は応援したいのですが。

79562
質問者

お礼

勉強不足でした。もう少し勉強して出直してきます。回答ありがとうございました。

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.5

#3の本を紹介したzwiです。 >質問したいのですが、昔使っていたのは、シングルタスクなので、Aが実行中のときはBは待機する。 シングルタスク(MS-DOS等)のOSであれば、AとBの同時実行は出来ません。AからBを子としてなら起動できますが当然Bが動いているときはAは停止します。 >そして今はマルチタスクなので、Aが実行中でもBにキューが溜まっていたら実行されるという認識でよろしいのでしょうか? マルチタスクOSの場合はタイムスライス時間で強制的にタスクは切り替わります。Aしかユーザータスクが走っていなくてもOS系のタスクは常に動いていますので常に切り替わっています。AとBが動いているならば、両方とも実行キューには入っていますので優先順位に従ってOSのスケジューラが実行するタスクを決めてAやBにコンテキストがスイッチされます。 >コンテキストスイッチは、昔も今も変わらず行われるとういことでよろしいのでしょうか?勉強不足ですみません。 昔と言う意味が不明確ですが、WindowsでしたらWindows3.1からプリエンプティブな仕組みで動いていたと思います。

79562
質問者

お礼

大体この認識でよろしいのでしょうか?OSのタスクは常に動いているのですね。わかりました。回答ありがとうございました。

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.4

ANo.1です。 どの仮想プロセッサにおける追加質問でしょうか? また、質問のレベルを整理してもらえませんか? 全てのコンピュータはストアードプログラミング 方式である前提ですよね? 正直、質問で意図しているところが見えません。

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.3
79562
質問者

お礼

そうですね。このURLを参考に勉強したいと思います。回答ありがとうございました。

回答No.2

たぶん,私が質問#4858079に対して答えた内容での質問だと思いますが……。 今読み返すと,仮想ではなく論理ですね。 プロセッサの個数と単に書くと物理的なプロセッサ数に読めてしまうので,仮想と書いてしまったのですが……。

79562
質問者

お礼

質問したいのですが、昔使っていたのは、シングルタスクなので、Aが実行中のときはBは待機する。そして今はマルチタスクなので、Aが実行中でもBにキューが溜まっていたら実行されるという認識でよろしいのでしょうか?コンテキストスイッチは、昔も今も変わらず行われるとういことでよろしいのでしょうか?勉強不足ですみません。

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.1

仮想プロセッサーだけでは幾つかのものがあります。 ・CPUのハイパースレッドにおけるプロセッサー  1つのCPUを2つの仮想プロセッサーにして動かす。 ・Virtual Machineにおけるプロセッサ定義  仮想PCには一般にプロセッサ定義をしませんが、  一般的な仮想マシンでは、開発中のマシンを仮想  プロセッサ定義し、マシンの開発と平行してOSの  開発をバーチャルマシン上で行い、開発期間を短く  する方法があります。 ・しかし、ここではC/C++のカテゴリーなので、超並列  C言語NCX関連のことと思われます。  超並列処理においては、仮想プロセッサが無限個数  あると仮定してプログラムが作られます。  しかし、現実には有限個数のプロセッサしかないので、  仮想プロセッサを前提にした処理でも、実プロセッ  サに割り当てられている仮想プロセッサはアクティブ、  まだ割り当てられていないものは非アクティブとなります。  ここで、プログラミングでプロセッサ数を意識すること  自体が異に感じるかもしれません。  しかし、超並列プログラミングは、プロセッサ数を意識  したプログラムでないと性能が出ないとしたものです。  その点、C言語NCXは物理プロセッサ数でなく、仮想プロ  セッサ数でプログラミング出来る、画期的なアイデアだ  と思います。  

79562
質問者

お礼

1つ質問なのですが、この仮想プロセッサはハードディスクの中にあって、実プロセッサに割り当てられるときは、ハードディスクからメモリーに渡す、そしてCPUに処理されるという認識でよろしいのでしょうか?

関連するQ&A