フラミナルフラミナル考え方や調べたことを書き殴ります。プロセススケジューラについて、自己理解のために内容をかいつまんで要約します。素晴らしい書籍で理解が進むと思いますのでぜひご購入を検討ください。楽天ブックスAmazonKindleプロセススケジューラとはコンテキストスイッチプロセスの状態プロセスの状態遷移スループットとレイテンシ複数のCPUでのスケジューリングまとめプロセススケジューラとは1つのCPU(1コア)では一度に1つのプロセスしか動作させることができません。私たちは同時に複数のアプリケーションを同時に立ち上げたいものです。Excelを使いながらYouTubeを見たいですね。これを実現しているのがプロセススケジューラです。プロセススケジューラはプロセスがCPUを使うタイミングをコントロールして並行的にプロセスが動作できるようにしています。この図のようにプロセスを切り替えてCPUで動作させることで複数のプロセスの同時実行を可能にしています。(あまりに切り替えが早いので人間には同時に動いているように見えています)よく間違えがちなのが並列化(Parallel)と並行化(Concurency)は別物になります。こちらの記事で解説をしていますので並行化についておさえておきましょう。blog.framinal.lifeコンテキストスイッチCPUを触れるプロセスを切り替えることをコンテキストスイッチと言います。コンテキストスイッチはプロセスがどんなコードを実行しても実行される点に注意してください。何らかのイベント発生待ち。[kworker/0:0H]STAT列にでているSsやSが状態を表しています。親プロセスとの切断されたゾンビ状態プロセスの状態遷移プロセスは生成されてから終了されるまで以下の図のような状態の遷移を行います。スループットとレイテンシつづいてこちらのキーワードについて紹介します。スループット:単位時間あたりの処理量レイテンシ:ある処理にかかった時間レイテンシは文脈によっては遅延を意味することがあるため注意してください。ここではCPUのアイドル時間(CPUがプロセスの処理を行なっていない時間)とスループット・レイテンシについて話します。CPUのアイドル時間が存在する場合はスループットを向上させる場合があります。いうのもCPUが働いていない時間を使って新しくプロセスを動かすことができるので、単位あたりの処理量を増やすことができるからです。CPUにアイドルがあった場合でもプロセスを増やした場合はコンテキストスイッチが発動する回数が増えるためレイテンシが増加します。複数のCPUでのスケジューリングCPUを複数ソケット積んだり、ハイパースレッディング等の技術により複数のコア使うことが当たり前になりました。そのためスケジューラは複数の論理CPUに処理を分散させるためにロードバランサやグローバルスケジューラという機能を持っています。この機能を使って複数のプロセスに対して平等にCPU時間が分配されるように、各論理CPUに処理を分散しています。まとめこの章ではプロセススケジューラについて整理しました。書籍にはより詳しい情報や、基礎的なため今回は端折った内容も豊富に掲載されていますので勉強の際はぜひお買い求めください。});引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。