様々な学問/勉強課目をシミュレーションで解説!シミュレーター/ツール/ゲームで、いろんな学問を楽しく分かりやすく解説するサイトです!思考の改善や、効率化の話題も!
⇒ 本ブログの詳細/連絡先はコチラ!
学問系TOP AI/ChatGPT 数学 物理 統計学 コンピューター 経済学 Webツール
  1. ホーム
  2. 〇学問シミュレーター/改善・効率化
  3. 情報科学/コンピューター
  4. コンピューター概論
  5. 「マルチタスク(ファイルアクセス時のCPU有効活用)」をシミュレーターで体感してみよう!
■注目記事一覧

高校数学 教科書用シミュレーターの制作に携わりました!!

マルチタスクのCPUの動きをシミュレーターで見てみよう!

ページングをシミュレーターで体感しよう!

コンピューターの全理基礎:半加算器の原理をシミュレーターで理解しよう!

本サイトの「サイコロ シミュレーター」が熊本の特別教育テレビ授業で使われました!

コンピューターの半理基礎:半加算器の原理をシミュレーターで理解しよう!

浮動小数点型の仕組みをシミュレーターで理解しよう!
 
全テーマ共通記事一覧

「マルチタスク(ファイルアクセス時のCPU有効活用)」をシミュレーターで体感してみよう!

$$\newcommand\CB[1]{\textcolor{blue}{#1}} \newcommand\CR[1]{\textcolor{red}{#1}} \newcommand\CG[1]{\textcolor{magenta}{#1}}$$

前回に続いて、CPUを複数のタスクを動かす「マルチタスク」について解説します!

前回、時間ごとにタスクにCPUを「タイムシェアリング方式」だとCPUに無駄が発生するという話をしました。今回はその無駄を省くために、ファイルアクセス時にコンピューターは何をしているのかを解説します!

「マルチタスク(ファイルアクセス時のCPU有効活用)」をシミュレーターで体感してみよう!

「ファイルアクセスは時間がかかる」⇒「他のタスクに代わってもらう」

前回のシミュレーターでは、ファイルアクセスをしたらCPUはがら空きになりました。これではもったいないですよね!貴重なCPUなので、無駄なく処理させたいのです。

そこで、タスクに優先順位をつけて、!

ファイルアクセスが終わったら再度そのタスクを実行させる!

「ファイルアクセスが発生⇒他のタスクにCPUを渡す」だけだと、ファイルアクセスが多く発生する処理(大量ファイル読み込み、データベース処理)などでは明け渡しばかりになってしまいます。

そこで、タスクに優先順位をつけて、「ファイルアクセスが終わったら、そのタスクにCPU処理を戻す」ということを行うのが一般的です。これを「IO発行によるコンテキストスイッチ」といいます。

「マルチタスク(ファイルアクセス時のCPU有効活用)」をシミュレーターで確認してみよう!

実際にファイルアクセス時のタスク切り替えの動作を確認してみましょう!

シミュレーターの説明
  • 上3つのグラフはタスク1~3の実行時間を示すものです。赤線がある時間帯でCPUを使えて、そのタスクを実行できたことを指します
  • タスク1,2,3の順番で優先順位をつけて稼働します
  • タスクはCPUとメモリを相互アクセスして実行していきます
  • ファイルアクセスボタンを押すと、実行中のタスクでストレージアクセスを発生させる事ができます

 



 

POINTファイルアクセスをすると、下位のタスクにCPUが移ることを確認しましょう!

「マルチタスク(ファイルアクセス時のCPU有効活用)」シミュレーターの要点解説

ファイルアクセス時に他のタスクにCPUを渡すことで、CPUが有効活用できる

前回のタイムシェアリング方式では、ファイルアクセスをするとCPUに空き状態が出来ていました。それに対して、今回は↓のようにタスク2,3にCPUを明け渡すことで、効率的にCPUが使えています。

 
タスク1のファイルアクセスが終わったら、またタスク1を優先して実行することにより、隙間なくCPUが使えるわけです!

このままだとタスク1だけがCPUを占有してしまう可能性有り

この方式だと、タスク1でファイルアクセスが発生しなかった場合、タスク1だけが永遠に処理されていきます。不平等ですよね。なので、実際はこれにタイムシェアリングを混ぜたような方式で実行されていく形になります。

平等性と、効率性のトレードオフを考えて、タスク処理の計画を練るわけです!

「ファイルアクセスCPU切り替え」まとめ

  • コンピューターはファイルアクセス時にCPUが無駄にならないよう、他のタスクに順番を明け渡す
  • ファイルアクセスが終わるまで、優先度低のタスクに処理させることで隙間なくCPUが使える
  • 優先度高いタスクがファイルアクセスがないと不平等になるため、実際は時間によるタスク切り替えも発生する

 


⇒「コンピューター概論」カテゴリ記事一覧

その他関連カテゴリ




お気軽にコメントお願いします!

Your email address will not be published. Required fields are marked *




記事カテゴリ