この言葉を聞いて某巨大掲示板群を想像した方は猛反省してください
前回のOS演習の課題がプロセス管理だったのですが, 今回はもう少し小さなレベルでスレッド管理を使ってみることに
スレッドとはCPUは瞬間瞬間ではひとつの事しか出来ないけれど, 時間を細かく割いてあたかも同時に実行しているように見せているのです擬似的に並列処理を行わせることによって同時に複数の処理をすると言うもの
たとえばこの日記を見ているブラウザ(テキストベースだと実感がないかもしれないけど…)日常使っているプログラムでもあるスレッドではせっせと表示処理を行って, 別のスレッドではマウスやキーボードの入力を処理していって, あるスレッドでは内部でいろいろ計算をやっていたりするもっと細かく分かれているかもしれないし分け方が根本的に違うかもしれない, だって聖狐が作ったプログラムじゃないのだから…かもしれないのです
でも, 似たような作業を2つのスレッドがやっていると使う道具も似たようなものになってしまって作業がぶつかって混乱が起こっちゃうとか
それが起こらないように道具に『使ってますよ~』というマークをつけたり出来るような機構があったりと, 一筋縄では行かないものだったりするのです
で, それを使って実際に作業がぶつかって嫌な感じになると言う例を起こしてみて, それを解決するのと実際にスレッド上で動く…とか書いたらまずいのかなぁ…, でもこれを直接利用する価値はあるのだろうか…玩具を作るのが今回の課題
そんなに面倒ではないので即解決, 前回のShellみたいに前々から用意していたわけではないので課題が正式に出題される前に提出と言う暴挙(その後1週間もの間, 誰一人課題を出さなかったらしい)にまでは出れませんでしたが…即提出と相成りました
で, 速攻受け取りのメールが来ているし…
TODOをちゃんと消化できたので明日からはCPUのレポートまとめに費やしたいなと思っています
Comments (0):