2017年7月9日日曜日

素直でケナゲな機械とあくどい人間たち【回路、デジタル自己満説明】

専門外の方に回路、コンピュータの動作原理を解説し興味を持ってもらうためのカテゴリ。機械がどうやって動いてるの?という話から人間のあくどさを考えます。

話の内容

○ケナゲな機械とあくどい人間たち

機械は人間の命令を何らかの形で受け取りますが、その弱点をついて人間がどんなアクドイことをしているかを紹介します。


機械にとっての人間の指令

電気回路の話です。興味の無い方は辛いと思いますので次の項へどうぞ。

電気ポットをお持ちでしょうか。最近は当然のごとく、“再沸騰”や“カルキ抜き”などの機能が付いていて該当するボタンを押すと電気ポットはその指令に従います。

人間はそのボタン(スイッチ)を押すことで電気ポットに対して指令します。そのボタンの動きを具体的に図解します。
機械の受ける指令の一例
電気回路(PullUp抵抗とスイッチ回路)ICのポートをプルアップしてスイッチでGNDにつなぐ。スイッチによる0、1の作り方 “再沸騰”、“カルキ抜き”ボタンの構造

電源、GND(グラウンド)、抵抗、スイッチ、配線S、配線の電圧を検出する端子と、いやーな単語が並んでますね。これが電気回路です。

電気を流れにくくする大きな抵抗を介して電源につながれた配線Sはスイッチを介してGNDにつながっています。それが配線S。その配線Sを“配線の電圧を検出する端子”につないでおきます。
電気回路(PullUp抵抗とスイッチ回路)ICのポートをプルアップしてスイッチでGNDにつなぐ。電荷の動きと電圧 上図がスイッチOFFのとき、下図がスイッチONのときの図。

電源から+の電荷が抵抗を介して少しづつ配線Sに流れ込みます。+の電荷が溜まってくると配線Sの電圧が上昇していきます。

スイッチOFFの場合は、電源の電圧と同じになるまで溜まり続けます。

スイッチONにした瞬間、配線Sの電荷はGNDに向かって放出されます。

※GNDというのは電気の世界の海。“スイッチをONにする”=配線Sをドブ川に繋げるというイメージです。

スイッチONにしても、電源から抵抗を介して流れ込んでいますが、放出する流れに対して無視できるような位大きな抵抗を使用します。
電気回路(PullUp抵抗とスイッチ回路)ICのポートをプルアップしてスイッチでGNDにつなぐ。タイミング波形(チャタリングは今は除外) 横軸を時刻にしたグラフでこの動きを表します。

①:人間がスイッチを押したタイミング
②:人間がスイッチを離したタイミング

配線Sの電圧は、①で0に向かい、②で再び上昇します。

“配線の電圧を検出する端子”はこの電圧を見ることで、人間の指令を受け取ります。

※端子が電圧を検出する仕組みはここでは触れません。人間の指令をこの端子に伝えるまでを説明しました。

ここで一つ考えます。スイッチが壊れてしまい、“カルキ抜き”ボタンを連打してるのにも関わらずカルキ抜きを始めようとしてくれない場合です。

このような場合は、スイッチを交換すれば直ります。理由は、電気ポットが“カルキ抜き”を始める条件は、“人間がボタンを押す”ではなく、“配線Sの電圧を0にする”であるから。

電気の世界の話をしたかったので無駄に電気回路で具体例を出しましたが、ドアのノブでも同じ。両手がふさがっている場合でも、頑張れば足で回せます。ドアのロックが外れて開く条件は、“手でノブを回す”ではく、“ノブを回す”であるから。

機械というのはそういうもんです。誰が指令したのか、親切丁寧にボタンをゆっくり指令したのか、無礼にも足の指で指令しやがったのか、そんなことは気付きません。(それを検出する機能が無ければ)


ケナゲな機械を騙くらかす

いきなり話が大きくなります。

OS(オペレーティングシステム)という言葉は聞いたことがあるかと。

コンピュータ黎明期には、各社バラバラの仕様でパソコンが発売されていました。バラバラの仕様ですのでA社のものはB社のものには当然使用できません。キーボード、プリンタなどの周辺機器も別物。(ディスプレイまで別物)

“0”と“1”だけの世界のくせに全部バラバラ。こんな効率の悪い話はありません。そこであることを考えます。OSです。各社バラバラとはいえ、やってる仕事は同じ。

ここでのケナゲな被害者は各ソフトウェア(アプリ①~④)。まず、OSがハードウェアが何者なのかを確認するところから始まります。返ってきた反応によって言い換えて上層の各ソフトウェアに伝えます。

OS・ドライバの概念図
OS(オペレーティングシステム)とドライバが書くアプリケーションソフトウェアとハードウェアの間で翻訳作業を行う。 OS(オペレーティングシステム)とドライバが書くアプリケーションソフトウェアとハードウェアの間で翻訳作業を行う。
A社の場合 B社の場合

同じ仕事を、
A社のハードウェアは、“0011011110110001(←この羅列は例えですよ。)
B社のハードウェアは、“0000010000010000(←この羅列は例えですよ。)
と0と1だけの組み合わせではあるものの、別の表現で指令してきます。

その指令をOS・ドライバの層が「翻訳」して各ソフトウェアに伝えます。各ソフトウェアはハードウェアからの指令と思い込んでおりますが、それをチェックする機能がありませんから騙されることになります。

今、ハード→ソフトの方向の指令を例に挙げましたが、反対にソフト→ハードの方向でも同じ。OSは、ソフトがなんか言ってるからこのハード上での同じ機能に翻訳して「お前、これやれ。」とハードへ指令します。この場合はハードがケナゲな被害者ということになります。

こうやって、間に一段噛ませることで翻訳作業が可能になります。そのため、台湾メーカのPC上のWindowsであろうが、Macintosh上のWindowsであろうがそのOSの上では同じソフトが同じように動きます。


あくど過ぎる人間たち

パソコンの中にパソコンを作る輩が出てきてしまいました。(かなり前からですが。)“仮想化”という技術です。

仮想化ソフトOracle製VirtualBoxでWindows7上でWindowsXPを動かしている様子。
Windows7上でWindowsXPを動かしている様子
仮想化ソフトではパソコンのハードウェアもただのファイル。HDDもDVDもすべてただのファイル。OSはこれがハードウェアだと騙される。
実体はただのファイル

この場合のケナゲな被害者は中のWindowsXP。ただのファイルをHDDだと思い込み、イメージ化したDVDもDVDドライブ中で回転されて読み込まれていると思い込んでいます。

“パソコン”自体がただのファイルになってしまいますので、「パソコンをバックアップ」「何十台もパソコンを準備する」ということがいくらでもできてしまいます。

間に「翻訳作業」が入るので、当然処理速度は遅くなります。が、古いOSで動いていた各ソフトウェアを作り直すことなくそのまま使い続けられるのは非常に大きいです。(人間の作り直す作業は人件費が掛かりますが、PCの翻訳は電気代だけ。)

つまり
機械は目と耳と鼻で情報を認識するものではなく、指令を受け取る条件が決まっていて、それをクリアすれば動きます。(ドアのノブ、スイッチの電圧制御、OSの翻訳、仮想化)システムをどんなに複雑にしても各部品のインターフェース(やり取りの部分)が保たれれば、簡単に騙されてしまいます。


あくどい人間たちは「機械だから」と嘘八百並べて利用しています。ひどい話です。


話の内容

こんな話でしたが内容は伝わりましたでしょうか。
○ケナゲな機械とあくどい人間たち


ポク太郎の「俺の説明聞いてくれ」-デジタルの世界って
前の記事次の記事
猫も杓子もコンピュータ不可逆なJPEG圧縮で足元を見られる人間たち


スポンサーリンク



ブログ村へ blogramのブログランキング

ポク太郎の「俺の説明聞いてくれ」 コンテンツ
ポク太郎の「俺の説明聞いてくれ」最キラー記事 コンピュータ(ハード/ソフト)
映画・ドラマ・芸能
変人のつぶやきとトラブル
ホームへ戻る


0 件のコメント:

コメントを投稿