ノイマン型コンピュータの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コンピュータなどである。
・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コンピュータなどである。