何か創りたい。
http://toshirr.blog13.fc2.com/
* Toshi's Recess Room - Toshi Creates. - Enter を押してからページが表示されるまでに何が起こっているのか
<< 2017/07 - 2017/08 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 - 2017/09 >>

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[ No. ]
[ 日時 : --/--/-- (--.) --:--:-- ]
[ カテゴリ : スポンサー広告 ]


Enter を押してからページが表示されるまでに何が起こっているのか

ふと思ったことがあります。
人間はコンピュータに命令を入力して結果の出力を得ます。
人間が「こうしてほしい」と頭で思うことは言うなればアナログの世界ですが、
それをコンピュータというデジタルの世界が受け取って、その結果を再びアナログの世界に返すわけです。
これってよくできているなぁと。

例えば人間が「Google のホーム ページを見たい」と思ったとします。アナログの世界の願望です。
その願望を人間が実現されたと満足するまでには、かなりの紆余曲折を経るのです。
デジタルの世界では表現できない「望む気持ち」というものが、デジタルの世界に伝わり、
そして再びデジタルの世界では表現できない「満たされた気持ち」になって帰ってくるのです。

実際、このアナログ→デジタル→アナログの流れがどうなっているのか見てみましょう。
Google のホーム ページを表示するという例を挙げますが、

・Windows の IE のアドレス バーにアドレスを直接入力し Enter キーを押すことによって表示する
・コンピュータは有線でルータに接続されており、ルータを介して ISP に、ひいてはインターネットに接続している

といういくつかの補足をあらかじめ提示しておきます。

●アナログな人間の思いと行動
・「Google のホーム ページを見たい」と思う
・IE のアドレス バーにキーボードで「http://www.google.com/」と入力し、Enter キーを押す
★ここでアナログ→デジタル
●OS やアプリケーションなどのソフトウェア レベルの動き
・キーが押されたことにより割り込み発生、対応するハンドラを実行
・Windows がアドレス バーにウィンドウ メッセージをポスト
・アドレス バーのウィンドウ プロシージャが、入力されているアドレスを元にして
 IE コンポーネントに対し IWebBrowser2->Navigate2 メソッド(例)を呼び出す
・IE コンポーネントは受け取ったアドレスからドメイン名を取り出し、
 必要に応じて DNS サーバから IP アドレスを引き、その IP アドレスに対して GET リクエストを送る
●ハードウェア レベルの動き
・リクエストを NIC が処理し、有線に流す
・リクエストを受け取ったルータは ISP へ流す
・ISP から(場合によってはいくつかのサーバを経由して)
 ドメイン google.com に対応する IP アドレスが割り振られているサーバへリクエストが物理的に届く
●またソフトウェア レベルの動き
・サーバにリクエストが届き、OS がそれを(割り込みか何かで)検知する
・OS はポート 80 を開いて接続を待ち受けているプロセス(HTTP サーバ)にリクエストを渡す
・HTTP サーバは受け取ったリクエストを解析し、Google のホーム ページの内容の HTML を返す
●またハードウェア レベルの動き
・(同じ経路とは限らないが)コンピュータに返された HTML が届く
・HTML はメモリに格納される
●またソフトウェア レベルの動き
・HTML はパーサによって解析される
・解析した結果をウィンドウにレンダリングする(VRAM に格納する)
●またハードウェア レベルの動き
・ディスプレイは VRAM の内容を人間の目に見える形で表現する
★ここでデジタル→アナログ
●そして人間の思い
・「Google のホーム ページが表示された」と思う

と、端折った部分も多々ありますが、
たった一つの人間の思いからこれだけの動きがデジタルの世界には起こっていたのです。
もっと現実的な言い方をすると、キーボードを二十数回叩いただけで、です。
Enter キーを押したあなたの一本の指が、海の向こうにある Google のサーバを動かしているのです。

更に細かくしようとすると CPU の命令解釈と実行レベルまで掘り下げないといけません。
ここまでのことをするのに CPU は 0 と 1 を何度見ているでしょうか。数え切れません。
しかし時間にしてみると、速ければ Enter キーを押してから最後の段階に行くまで 0.5 秒程度でしょう。
それでもデジタルの世界から見れば長いものです。

世界はここまで進んでいるのです。
アドレスを打つだけでホーム ページを見ることができる、当たり前だと思っていることですが、
それはここまでの前提条件がすべて存在しなければ成り立たないのです。
ハードウェアがあって、ソフトウェアがあって、それでその思いを実現することができるのです。

デジタルの世界で自動化されていることはこれに限りません。
自動車も飛行機もテレビもなんでも、アナログな人間とのやりとりでその願望を満たしてくれます。
人間が作ったものではありますが、まるで生きているかのような感覚に襲われます。
暇さえあれば、こういったアナログとデジタルのやり取りについて考えてみるのも一興でしょう。
スポンサーサイト

[ No. 803 ]
[ 日時 : 2009/05/02 (Sat.) 22:40:48 ]
[ カテゴリ : 科学技術 ]
[ コメント : 1 ]
[ トラック バック : 0 ]


コメント

[ No. 196 ]
[ 日時 : 2009/05/03 (Sun.) 15:25:46 ]
[ 名前 : BlogPetのOverhand # - ]
[ URI : http://www.blogpet.net/profile/view/8065ec4f87116c7b89a25bec17649460 ]
[ タイトル : 世界って…なんだ ]

世界って…なんだろう…?


コメントの投稿









トラック バック


トラック バック URI

http://toshirr.blog13.fc2.com/tb.php/803-fce36b95


前後の記事

プロフィール

Toshi

  • Author:Toshi
  • 何かを創りたい Toshi の記録


ブログ内の検索


最近の記事


最近のコメント


最近のトラック バック


カレンダー

07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -


月別の記事


カテゴリ別の記事


RSS フィード


<< 2017/07 - 2017/08 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 - 2017/09 >>
* Toshi's Recess Room - Toshi Creates. - Enter を押してからページが表示されるまでに何が起こっているのか
http://toshirr.blog13.fc2.com/
(C) 2005 - 2009 Toshi, All Rights Reserved.

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。