マエカワの備忘録的な何か

思い立ったが吉日

オペレーティングシステム 其の七 20170607

CPUスケジューリング

 簡単に言うと、仕事に優先度をつけ、やる順番をつけて実行するということ.これをCPUがやるってだけ.

 プロセスの選び方を理解するためにはプロセスの性質を理解する必要がある.
  ・CPU-boundプロセス
   →CPUをたくさん要求する.数値計算など.
  ・I/O-boundプロセス
   →I/Oデバイスをたくさん使いたいプロセス.ブラウザやシェルなどがその例.

 <評価基準>
  プロセスの良さを知るためには基準が必要.
   ①ターンアラウンド時間:プロセス開始から終了までの時間
   ②スループット:単位時間当たりのプロセス数
   ③応答性:入力に対する応答の速さ(割り込みハンドラに関連する)
   ④資源の利用効率:CPUに遊びがないかどうか
   ⑤公平性:CPUの割り当てに偏りがあってはいけない

続きを読む

オペレーティングシステム 其の六 20170531

スレッドについて(スレッドとはプロセス内の処理の流れ)

写真を挿入

 ブロックされると困ってしまうプログラムがある場合、スレッドという概念が力を発揮する.

 困ってしまう例①
  ユーザーの入力待ちの間、アニメーションが止まってしまう.
   →この場合、入力街でブロックされるスレッドと、アニメーションを動かすスレッドを分岐させれば解決する.

写真を挿入

 困ってしまう例②
  クライアントの応答を待っているとき、ほかのクライアントの接続を要求したい.
   →接続状況に応じてプロセスを派生させたら解決できる.

写真を挿入

 困ってしまう例③
  複数のシステムを管理する場合、一つずつ確認していては時間がかかりすぎる.
   →下の写真のように元から複数に分岐させたら短時間で処理が終了する.

続きを読む