• ベストアンサー

タスク管理

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

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

  • ベストアンサー
  • ur2c
  • ベストアンサー率63% (264/416)
回答No.1

タスク管理にはいろんな方法があります。たとえば参考 URL を見てください。その方法が明示されないと計算ができません。特にプロセス用コンピュータでは実時間性に関する要求が接続機器によって異なるので、凝った管理をすることがあります。そうなると方法が明示されても、なかなか計算はできません。 だから授業では多分 overhead は無視し高優先が CPU を占有するとかの単純化が仮定されていたはずです。 そう仮定すると、 A は 10 + 50 + 60 = 120 ms で終わり、 B は 10 + 40 + (10) + 50 + (10) + 30 = 150 ms で終わります。 (10) は B が A を待っている時間です。 結局、答えは 150 ms というのが題意なのでしょうね。

参考URL:
http://www.kumikomi.net/archives/2008/12/32rtos.php?page=6
pinks420
質問者

お礼

回答ありがとうございます。

関連するQ&A

  • 実行優先度 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だった場合はどうなりますか? お願いします。

  • osのタスク管理

    OSのタスク管理で1実行可能状態、2実行状態、3待機状態があって、待機状態というのはCPUの処理を終えて入出力装置の処理を待っている状態なのですか? タスクが生成されると[実行可能状態]にドンドン溜まるのでしょうか?そして優先的に[実行状態]に送られるのでしょうか? あと[実行可能状態]と[待機状態]は1次キャッシュで待機している状態なのでしょうかそれともメモリで待機している状態なのでしょうか? タスクの状態偏移について詳しく教えて下さい。

  • タスク実行

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

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

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

  • ソフトウェア開発技術者~タスク管理について

    OSのタスク管理について、ある問題集で不明な点が…。以下その問題です。 「プロセスを、実行状態、実行可能状態、待ち状態、休止状態の4つの状態で管理するプリエンプション方式のOS上で、A、B、Cの3つのプロセスがロードされている。各プロセスの現在の状態は、Aが待ち状態、Bが実行状態、Cが実行可能状態である。プロセスAの待ちを解消する事象が発生すると、それぞれのプロセスの状態はどのようになるか。ここで、プロセスの優先順位は、A>B>Cの順に高いものとする」 正解はA:実行状態、B:実行可能状態、C:実行可能状態、となっています。ただ、以前他の文献で「待ち状態から直接、実行状態に移ることはなく、必ず実行可能状態を経由して実行状態になる」といった主旨の説明を読んだ記憶があります。すると、Aが待ち状態から実行状態に移るのは正しくないということになりますが、これはどのように解釈すればいいのでしょう?

  • スケジュール、タスク管理ソフトについて

    スケジュールやタスク管理をEXCELで行っていたのですが、同様の働きをするソフトウェアを探してみようと思っています。 そこで、以下の条件を満たすスケジュール管理、タスク管理(TODOリスト管理)ソフトを有償、無償を問わないので、紹介して頂けないでしょうか? また、全ての要素を満たさなくても、部分的に満たしているものであれば、紹介して頂きたいと思います。 既に、Microsoft Office Projectをご紹介頂いたので、他のソフトで良いものがあれば、ご紹介頂ければと思います。 (1)タスク管理(TODOリスト)において、作成・修正・変更した内容がスケジューラー側で連動すること (2)タスク管理において、内容に応じて、各タスクを階層分けできること (可能な限り、深く階層分けできたほうが良いです。)  例.○○会社プロジェクト(階層1)     2009/6プロジェクトA(階層2)      タスクA      タスクB・・ (3)タスク管理において、各タスクを一覧で表示可能で、各タスクの締切期限までの日数(現在日~締切日までの残日数)を表示できること (4)タスク管理において、各タスクの進行状況(開始前、実行中、終了等)を変更できること (5)タスク管理において、開始前のタスク、終了したタスクを非表示にし、かつ、開始前、終了後のタスクだけを一覧で表示・管理できること (6)タスク管理において、各タスクの全体作業量、実行済作業量、残作業量(各要素とも数値を入力できれば構いません)を表示・管理できること (7)タスク管理、スケジュール管理が印刷可能であること 以上、お手数ですが、ご回答よろしくお願い致します。

  • タスクマネージャーの見方

    エクセルマクロを実行してフリーズすることがよくあるんですが タスクマネージャーで確認した時に 「CPU」や「CPU時間」が動いていれば 回復する見込みがあるのでしょうか? いつも 「アプリケーション」から「タスクの終了」で強制終了していますがデータが最初からで泣きそうです。 (エクセル2003、vista 2Gです)

  • CPUと同時処理の関係

    こんにちは。 CPUの同時処理について疑問に思ったので質問させてください。 例えば以下のような流れの処理をソフトか何かで同時に複数実行したとします。 (1)A→B→C (2)A→B→C (3)A→B→C (4)A→B→C 初心者ながら私の認識では同時処理できるタスク数=スレッド数だと認識していたので corei5の4コア、4スレッドのPCの場合、上記の作業は問題なく同時に処理してくれると認識していました。 しかし、ある方より「core i5はパワフルな性能なんだからクリック程度の動作なら50でも80でも処理できるよ。あとはメモリ次第だね」と言われ、疑問に思ったのですが 質問1 4スレッドのCPUであっても (1)A→B→C (2)A→B→C (3)A→B→C (4)A→B→C (5)A→B→C (6)A→B→C ・ ・ のように軽い動作であれば同時に処理できるのでしょうか? 私の認識ではスレッド以上の処理ですと、 (1)A→(5)A→B→(5)B→C→(5)C (2)A→(6)A→B→(6)B→C→(6)C (3)A→B→C (4)A→B→C このような感じになると思ってましたが・・・ 質問2 メモリが関係してくるというのは、どういうことでしょうか。 わかりやすく質問しようと長文になってしまい申し訳ありません。 よろしくお願いします

  • タスクやプロセス管理について

    このカテゴリでよいか迷ったのですが質問させていただきます。 私は今までの仕事で、某セキュリティ会社の防犯監視システム開発、某携帯電話開発(UI)に携わってきました。 そこではリアルタイムOSマルチタスク環境でのプログラム開発だったのですが、マルチタスクといっても当然タスク毎に"実行可能状態"、"待ち状態"、"実行中状態"等(その他いろいろ)、各種状態を持ち、タスクプライオリティに従いOSがタスクのスケジューリングを行い順次タスクが切り替わって制御されているという感じだったのですが(何が言いたいかというと優先順位の違う複数のタスクが並列で動くことはないですよね?と言いたいのですが)、 今回LinuxOS(MontaVista)でのプログラム開発を行ってみて違いに戸惑いを感じました。(マルチ)プロセスとは何ぞや?から始まり、さらにそのプロセス内で作成されるスレッド、そのプロセス・スレッドは他のプロセス・スレッドと並列で動く等等。(正確にはあたかも同時に動作しているかのように見えるってことですよね?) 前半の"タスク"と後半の"プロセス"とはこのように別物なのですよね? 今までの経験では並列動作という概念が無かったもので、どうもしっくりこなく意見をあおぐ為投稿させていただきました。 かなり漠然としたことで恐縮なのですが、今まで述べたことでなにか勘違いしているんじゃないかとか間違えていることとかありますか? 長文となり申し訳ありません。

  • タスクスケジュールについて

    Windows2000を使用しています。 batファイルで作成した処理をタスクスケジュールで定時に実行していますが、何時に終了したか確認したい場合は、どこかで確認ができますか? 正常に終了したかの判断はどこかをみればわかりますか?