ノイマン型コンピュータの3大要素
・CPU
・メモリ
・I/O

これら3つの要素はOSで管理する基本要素で、とりあえずこれらが管理できればOSと呼べるかなとのこと。

で、OSはCPUの機能を各タスクにリスク低で配分するために、割込みを応用したスレッド機能をサポートをすることで管理を実現しているわけだ。それをいままで作ってきた。



次なる管理対象はメモリ。

P.92の図3.1のイメージがとりあえずメモリの議論に入る前の前提で通番のアドレスが配置された記憶領域。ROMとRAMの違い位は意識してきました。

そのメモリのざっくり管理視点を今度はよりミクロなタスク視点に変更して考えていく。
スレッド機能をサポートしている中だと、いろいろなタスクが同時に動いているわけです。

そのなかであのタスクでもメモリに情報を記憶して、まだ処理が終了しないうちに、あっちのタスクでもメモリに情報を記憶してという具合にメモリに情報を記憶したいという必要性は滞ることがないわけです。

そんななかでトラブルも出てきます。あるタスクAでメモリ1の場所に書いて情報を記憶しておいたのに別のタスクBでもメモリ1の場所に書いてメモリAの情報を消してしまったりというのが出てくる。

そうなってくるとタスクAもうかうか別のことをやってるわけにもいかなくなり他のタスクが自分のものだと思っているメモリ1にタスクBが情報を書くのを防止しようと躍起になってくる。しかしタスクBも自分のメモリ領域だと躍起になってメモリ1を自分のものにしようと頑張る。メモリ1はタスクAのものかタスクBのものかなんて絶対的なことが決められるわけもなく相手のタスク終了を終わるのを祈るくらいしかできなくなってくるわけです。そうなるとシステムとして成り立たない。その問題を解決するために第三者が必要でその仲介役のような存在をOSに委ねるというストーリーなのかなと勝手に作ってみました。

仲介役はメモリ資源を全体最適にすることも考えていて調査したら、静的なものと動的なものがシステムにはあるのではないかと考えた。要は、システムが動いている間にはずっと保持しておきたい静的な情報と必要に応じて確保して解放したいというテンポラリに保持したい動的な情報が2つ大きくあるという調査結果をまとめた。

そこでそれに応じたOS設計を開始する。

静的な情報は実行形式ファイルの作成時にメモリの領域の場所を決めてしまう。

そして動的な情報は・・・(つづく)。



■非ノイマン型コンピュータの説明

現在のほとんどのコンピュータの基本設計にあたる「ノイマン型コンピュータ」とは異なる基本設計のコンピュータの総称。

ノイマン型コンピュータはアメリカの数学者、ジョン・フォン・ノイマン(John von Neumann)氏によって1946年に提案された方式で、主記憶装置(メモリ)にプログラムをデータとして格納し、これを順番に読み込んで実行していく方式である。現在普及しているコンピュータのほとんどがノイマン型コンピュータである。

コンピュータの性能が飛躍的に向上したことにより、メモリから命令を読み出す速度が律速になってしまうといったノイマン型の抱える弱点が目立ってきたため、様々な非ノイマン型の設計が提唱されている。脳神経回路をモデルとしたニューロコンピュータや、量子力学の素粒子の振る舞いを応用した量子コンピュータ、DNAを計算素子に利用するDNAコンピュータなどである。
なんだよ、
以下の記事、Windows内部のはなしか。。


OS シェア、Windows 7 が Windows XP を抜き初の1位に
japan.internet.com 4月14日(木)12時11分配信
Web 分析会社のアイルランド StatCounter が公表している Web アクセス パソコンの OS 種別調査データによると、Windows 7 が2011年4月11日、北米における OS 使用シェアで Windows XP を初めて上回り1位となった。

全 OS に対する Windows 7 の使用シェアは4月11日時点で32.5%強あり、32.4%の Windows XP をわずかに追い越したという(編集部注:日本時間4月14日11時現在、Windows 7 は32.3%、Windows XP は32.89%で、Windows XP が1位に戻っている)。2008年に Windows XP の使用シェアは 69 %あったが徐々に減少し、2009年10月発売の Windows 7 にとうとう追いつかれた。

米国 Microsoft は Windows XP から Windows 7 への移行を促進するため、Windows XP 向け技術サポートの提供打ち切りといった対応をとってきた。2011年2月に Windows 7 用サービス パック「Service Pack 1(SP1)」をリリースしたことも、企業などが Windows 7 へ移行するきっかけになったのだろう。

Microsoft は2011年1月、Windows 7 の累積ライセンス販売数が3億本を超えたと発表した。最新の販売状況は、同社が4月28日に行う予定の2011会計年度第3四半期の決算発表で明らかにされる見込み。

なお、Windows XP の後継 OS として 2007年1月に登場した Windows Vista の使用シェアは、Windows 7 リリース時に記録した31.9%が最高。現在は20%弱まで落ちている。
スレッド切り替え契機はシステムコールですが、サポートしたシステムコールを一応明示しておいたほうがよいかなと思ったので列挙しておきます。

①kz_wait
カレントのスレッドをレディキューの後ろに繋ぎなおすことができます。

②kz_sleep
スレッドをレディーキューから外してスリープ状態にします。
UNOでいう

③kz_wakeup
スリープ状態のスレッドをレディーキューに繋ぎなおしてレディー状態に戻します。

④kz_getid
自身のスレッドIDを取得します。

⑤kz_chpri
スレッドの優先度を変更します。