• ベストアンサー

実行優先度 CPU I/O

基本情報技術者の問題で タスクAとタスクBがそれぞれ A CPU 10→I/O 50→CPU 60 B CPU 40→I/O 50→CPU 30 の時に二つのタスクが完了するまでの時間 何ミリ秒でしょうという問題があって 答えは140なのですが、私が計算すると 150になりました。I/Oは資源Rを排他的に 利用するという事はAが資源Rを占有している間 はタスクBはRを操作できませんよね? お願いします。 実行優先度はありません。 また、実行優先度がAだった場合はどうなりますか? お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hisappy
  • ベストアンサー率46% (184/392)
回答No.1

情報処理試験で頭を悩ませる処理時間の問題ですね。 久しぶりに計算してみましたが、 I/Oが排他であろうとなかろうとCPUが1つである限り 150になりました。 処理順序と実行タイミングは下記のような感じでしょうか。  A 10-50---60---     B   40(10)-50(10)-30 (括弧内は処理後のアイドルタイム) 実行優先度無し、もしくはA優先の時に150ですね。 B優先だと、前後関係が逆になるので・・・ 200ですか。 ・・・答えが140とは、どういうことなんでしょう??

Judau_MSZ-010
質問者

お礼

ありがとうございます。 問題をよく読んでみたら、 CPUが二台と書いてありました。 大変申し訳ありません。 二台で計算すると確かに140になります。 本当にすいません。

関連するQ&A

  • タスク管理

    以下の問題の答えとその解き方を詳しく教えてください。    2つのタスクA,Bを同時に実行した場合、2つのタスクが処理を終了するまでにかかる時間は    何ミリ秒か。    なお、タスクAの優先度の方が高いものとする。    タスクA: CPU(10ミリ秒)→I/O(50ミリ秒)→CPU(60ミリ秒)    タスクB: CPU(40ミリ秒)→I/O(50ミリ秒)→CPU(30ミリ秒) よろしくお願いします。

  • タスクスケジューラに登録したタスクの実行優先度を上げたい

    Excel-VBAで作成したデータ処理プログラムを, タスクスケジューラにて定時実行させてるのですが, 処理が遅くて苦慮しています。(OS:Win2000Server) 単独実行だと5分(CPU使用率max100%)で完了するものが, タスクスケジューラからの実行だと30分(CPU使用率10%以下)もかかります。 タスクスケジューラへ登録したタスクの優先度を上げる術はないものでしょうか。

  • EXCEL VBAマクロの実行優先度を下げたい

    いつもお世話になっております。 EXCEL VBAであるマクロを実行させています。 このマクロは終了するのに丸1日以上掛かるもので、それを実行している間、EXCEL.EXEのCPU使用率が100%になってしまいます。 私の所有するPCパワーが乏しい&所有PCが1台だけのため、このマクロを実行している間、EXCEL以外の他の作業の動作がとても遅くて困っています。 例えば、テキストエディタで文字を打って変換するのに数秒かかったりします。 タスクマネージャでEXCEL.EXEのプロセス優先度を下げることができるのは知っていますが、以前別のマクロでそれを実行して他の作業をやっていた時にEXCELが強制終了された経験があり、私のPCではタスクマネージャによるプロセス優先度の変更はシステムが不安定になることに繋がるようです。 ですので、できることなら、実行中のVBAマクロのみ優先度を下げたいんですが、そのようなことは可能なのでしょうか。 よろしくお願いいたします。

  • CPU優先度

    アラド戦記というゲームをしているのですが、重たいのでCPUの優先度をタスクマネージャーから「高」に変更するのですが、しばらくしてタスクマネージャーを見ると、優先度が勝手に「通常以下」に下がります。 常に優先度を上げる方法はありますでしょうか? またできるだけゲームを快適にできる方法があれば教えていただきたいです。 現在、ゲーム開始後30分くらいするとだんだん重くなり、落ちます。 ゲームを再起動すると、また30分くらいはできるようになります。 スペックの問題でしょうが、他にも原因ありそうでしょうか? ~環境~ VAIO VGX-TPIS 「プロセッサー」 (動作周波数) / キャッシュメモリー・システムバス インテル Core 2 Duo プロセッサー T7200(2 GHz) 2次キャッシュメモリー 4MB(CPU内蔵) システムバス 667MHz 「チップセット」 インテル 945GM Express チップセット   「メインメモリ」  2GB(1GB×2)/2GB(ビデオメモリー共有) 「グラフィック」 アクセラレーター インテル グラフィック・メディア・アクセラレーター 950 (チップセットに内蔵) 利用可能な全グラフィックスメモリー*1 最大224MB 「OS」 VISTA ホームプレミアム sp2 「ブラウザ」  IE7 「モニタ」 REGZA(TV共用) 32型

  • 優先度の設定とは

    タスクマネージャーのプロセスから右クリックで、優先度の設定というものがあります。 これは一体何なのでしょうか。変更ことによって、どういった事が生じるのでしょうか?例えば、起動しているソフトやブラウザの優先度を上げておくと、そのソフトやブラウザが軽くなったりしますかね? 例えば、IE上で再生している動画をキャプチャソフト(今回はBandicam)でキャプチャー録画していると、若干カクカクしてしまい、重くなってしまいます。(タスクマネージャー上に表示されているCPU使用率はそこまで上がっていません) なので、起動しているIEの優先度を上げておくと、少しは負担を減らしてキャプチャ出来るのかと疑問に思いました。 ご回答宜しくお願い致します。

  • Windowタスクマネージャのプロセス優先度設定

    今、複数のアプリを立ち上げて仕事をしています。 アプリをA,Bとします。 アプリAがときどき、非常に重くなり、これだけでCPU負荷100%を食ってしまうことがあります。 ですが、アプリBは使う頻度は少ないのですが、常時起動しておいて、使うときは極めて重要で、アプリAでCPU100%消費しているときに、Bを使おうとしても、なかなか、これが動かなく、極めて重たくなってしまいます。 そこで、最近、見つけたのが、Windowタスクマネージャで右クリックして出てくるなかでの優先度設定です。 ここには、 リアルタイム 高 通常以上 通常 通常以下 低 とあり、ほとんどのアプリは通常になっていました。 ここで、アプリBを、通常以上にしてみましたところ、アプリAが100%CPUを使っているときでも、問題なく軽く動くようになりました、 しかし、通常以上に設定したとき下記の警告がでます。 ”システムが不安定になるなど予期しない結果になることがあります” 普通の一般的なアプリについて、通常以上、通常、 通常以下で設定を変えることは、どうなのでしょうか。 今のところ特に大きな問題は起きてはいないのですが。 また、高、低にするとさすがに怖いのかな。。。 最後に、わたしは今、ウイルスバスターを使用しています。 しかし、ときどきこれがバックグラウンドで動いて、めっちゃ重たくなることがあります。 本来、ウイルスバスターみたいなものは優先順位を低くして動かすように設計すべきものと認識しているのですが、これらを通常以下に設定すると、問題が生じるのでしょうか。 以上、よろしくお願いいたします。

  • CPU利用率の求め方。

    CPU利用率の求め方。 (1)ある計算機において、n個のプロセスがメモリ中で実行されているとする。 プロセスが実行されている時間中に確率p(0<=p<=1)でI/O待ち等の理由で待ちとなる場合、CPU利用率R(0<=R<=1)をpとnで表せ。 (2)プロセスにおけるI/O待ちとなる確率pが0.8、かつ実行に必要なメモリ容量が40MBであり、搭載もメモリで可能な限りプロセスの多重度を上げると仮定した場合、CPU利用率Rが0.7(70%)以上になるために必要なメモリ容量を求め理由と共に述べよ。ただし、メモリは64MB単位で搭載可能であり、仮想記憶は用いていないものとする。 という問題なのですが、(1)からして分かりません。 nに関係なくR=(1-p)な気がするのですが、違いますよね。 すみませんが考え方教えてください。

  • I/Oデバイスエラー

    パソコンのデータをバックアップする為、Memorex製のDVD-R25枚セットを購入しました。 さっそく書き込もうとしたところ、「I/Oデバイスエラーが発生したため、要求を実行出来ませんでした」または「ディスクを挿入してください」といったメッセージが表示され、25枚とも全て認識しません。 TDK製DVD-R、PRINCO製DVD-Rでも試してみたのですが、それらは通常通り認識するみたいです。 相性などの問題でしょうか…?

  • なぞなぞです。R O Y ? B I P?に入る文字はどれでしょうか?

    なぞなぞです。R O Y ? B I P?に入る文字はどれでしょうか? ・・・という問題がわかりません。どなたか宜しくお願いします。

  • タスク実行

    教えてください。 現在、WindowsServer2003である特定のサービスが実行されたのが確認された場合、タスクから特定タスクを実行する仕組みを作りたいと考えています。 具体的には、「タスクA」をタスクスケジューラにて定期実行し、サービスに「A.exe」というサービスが確認できた際、タスクに登録してある「タスクB」を実行したいです。 この「タスクA」にて実行させるスクリプトの中身を教えていただけないでしょうか。 個別のコマンドとして「タスクB」の実行は「schtasks /Run /tn "タスクB"」で起動出来ると思います。 サービス:「A.exe」の起動確認と「A.exe」の起動が確認できた後の処理方法がわかりません。 お分かりになるかたがいらっしゃいましたらお手数ですが教えてください。 よろしくお願いします。