実験室-Danger-では大変危険な実験をしています。
このサイトの記事をまねして行った、制作、実験により起きた事故については一切責任を負いません。
きちんと危険性を理解して実行し、友達等に簡単に貸し出さないようにしてください。

2012年3月18日日曜日

二回目の投稿です。

お久しぶりです。

一回目の更新から一年以上経ってることにメールを頂いて気づきました。

前のメールでも投稿しますと意気込んで送信していたのに・・・・
(ここでも一年の空白が・・・)

これではヤルヤル詐欺です。

本当に申し訳ないと思います。



では・・・情けないですが今度こそは本格的な更新をしていきたいと思います。


で、今回記事にしようと思ったのが組込み制御系のお話なのですが・・・

ここで問題が1つ。

素材が足りない・・・・と言うこと。

プログラム開発する環境は整っているのですが、実は紹介できるのが競技用のマイコンカーしか無いのです。

なので此処で少々方向転換し、貴方のPCでも出来る!!系統な記事を作ろうと思ったのですがこれでは自分の知識やスキルが身につかない様な気がスルので、少しだけ制御&情報系の人が見ても満足出来る記事を更新していくつもりです。

なので、電気でバリバリしたりレーザーを使った実験は自分の記事では無い可能性が非常に高いです。(でも何時かはやってみたいという・・・)

場違い感が半端ないですが・・・

で、せっかくなので最初の記事を。

Windowsのアプリケーション開発をメインにサーバーやその他諸々について記事を作っていきます。

さて、パソコンのアプリケーションというかソフトというか開発に入る前に知っておきたい事が沢山あります。
その1つにOSとハードの関係です。

OSとは何ぞや? その1

これが今回の記事のサブタイトルです。

案外知ってる人少ないですよねOSの存在。
でも知ってる人も沢山いるんですよね。
特に此処のブログに集まってくる人たちは皆知っていると思われます。
なので概要は省いていきなりですが少し具体的に書いてきます。

OS内で行われること。
システムの管理
  • メモリーのスワップ
  • 入出力系等の管理
  • 文字に対する処理
  • 起動時にブートストラップローダの実行
  • API関数呼び出し&実行のサポート
以上が動作中に行われてる処理の概要です。

メモリー(RAM)のスワップって何ぞ?

メモリーの長所はズバリ速さです。
HDDよりも遥かに速い速度で通信をしています。
差がどれくらいなのかと実感できないと思いますので↓に画像を





















↑がHDDの転送速度です。見方はSeqが「シーケンシャル速度」と呼び。プラッタ上の連続に並んだデータの読み書き速度です。512Kと4Kがランダムでの読み書き速度です、512kバイト毎にランダムアクセス、4Kバイト毎にランダムアクセスすると言う意味です。
最後は、4kバイト毎にHDD内のアームがHDD自体に搭載されてる機能で最適な順番で読み書きする速度で解釈はOKかと。

そして↓がRAMの速度です。




















お話になりませんね、充分すぎる位速いです。

因みにメモリーは転送速度の速さをMhzで表しています。
これを動作クロック数といい

8バイト×動作クロック=毎秒転送速度

で式を立てる事ができます。

まぁ、ぶちゃっけ細かい数字を見ていてもしょうがないので次に進みます。

HDDから呼び出されたデータは一時的にRAM(メモリー)に転送されます!

つまりアプリケーションのショートカットをクリックした時、下の流れ図でデータの受け渡しが行われます。

アプリケーションの実行が命令される。

HDDのアーム(ヘッド)が内側に向かって読み込みを開始。

円盤状(プラッタ)から探しだしたデーターを
一時的にHDDのキャッシュに保存する。

メモリー(RAM)に順次、HDD内のキャッシュから読み込みを開始する。

メモリーにアプリケーションが実行可能になるまで読み込みを続ける。

HDDからの転送が完了
HDDの設定によってはその後一定時間が立ってもイベントが起きない場合
自動的にドライブの電源を切る物がある

CPUがメモリーからの呼び出しを開始する。

CPUが演算結果を出力

操作によっては再度メモリーにアクセスする。

以上です。
そしてスワップ機能というのはどんな時に起こるのかと言うと・・・・・

アプリケーションの容量<メモリー(RAM)



アプリケーションの容量>メモリー(RAM)

に、なった時です。
(ここでのアプリケーション容量というのは実行しているすべてのソフトが該当します。)
そして、メモリーがお腹いっぱいになったのを察知したOSはスワップを行います。

そう

メモリーに一度転送したデーターの一部&これから呼び出すデータをHDDに専用のフォルダーを作って書き込むのです。

これがスワップ機能の正体です。

しかし、最近ではメモリーの大容量化が進み、スワップ機能自体がオワコンな存在になってきています。

まぁ何で今回、こんなダラダラとオワコンなスワップ機能を紹介したかと言うと、プログラムが呼び出されるまでの経路とHDDとメモリーの関係を再確認して欲しかったからです。

では今回の更新はこの程度にしておきたいと思います。
今度来週にでも更新しようかな?

5 件のコメント:

田舎小僧 さんのコメント...

今は、SSD(ソリッドステートドライブ)が
有りますからね~200万くらいしますが3.5TBのSSDとかも出てますよねいや~恐ろしいww

DOZOU さんのコメント...

>田舎小僧さん
初めましてです。
自分も丁度小6の時に自作PCの世界に足を踏み入れてハマった者ですよ。
SSD確かにいいですよね・・・
使い始めて手持ちのノートの鈍足さを実感しましたです。今はCPUよりも補助記憶の方に力を入れて欲しいばかりです。

robo さんのコメント...

ども!
自分は最近パソコンかいまして、初めは乗り気ではなかったんですが、SSDにしました。起動速度は自慢できますw

Журавлик さんのコメント...

どうもはじめまして。
プログラムといえば、親からもらったポケコンでBASICを遊びでした程度ですね。
家には『OS自作入門』とか、トラ技増刊のH8マイコンとか、ばらした基板から入手したマイコンとか、プログラム開発環境も整ってるんですがね(汗)
そのうち、C、VC++を習得したいです。あとアセンブラ(ぇ

あと、下のほうになってますが、僕の記事もみてやって下さい。
長文失礼

DOZOU さんのコメント...

>roboさん
わかりますよ、その気持ち。
起動凄く速くなりましたよねぇ。
逆にBIOS画面でイラつく時が来るとは・・・
>Журавликさん
OS自作入門ですか?
もしかして猫ちゃんのですかね?
もしそうなら自分もだいぶ前にバイナリエディター使って弄ってた時期もありますよw

因みにこの名前もしかしてですがソ連の戦闘機という認識であってますか?