Previous
Topへ
Next
なんちゃってなIT用語辞典12
多分何の役にも立たないIT用語辞典
How that IT term sounds funny
bps
bit per second
ITの特番の取材を始めた当時、多少パソコンが扱えるといってもITについてはどちらかというとアパシーだった。
突然そういう取材をすることになった時に、予備取材で専門家のアドバイスも聞いたが、内容を掘り下げる前にまず彼等専門家が使う言葉が分からなくて困ったということを前にも書いた。
何に困ったかというと、彼らの話の中で数字が頻繁に出てくるのだがその数字の意味が解らないということが多かった。
例えば、インターネットに接続する時にクライアントPCからアクセスポイントまでどれくらいのスピードでつながっているかという話だが、これはブロードバンド環境が行き渡ってきてかなり人口に膾炙するようになってきた。
しかし当時まだダイアルアップが主流だった時代なので、しかも他のつなぎ方もあまりなかったので電話でインターネットにつながっているということは知っていたが、どれくらいのスループットなのかということは全く知らなかったし、大方の人は関心もなかったのではないだろうか。
普及し始めたブロードバンド環境だとxDSLで8~16Mbps、光ケーブルを使うと10~100Mbpsという速度が実現するという。
「ダイアルアップモデムの速度は28.8kbps、高速モデムでも56kbpsという速度だからいかに劇的に速くなるかがわかるでしょう?」
というふうに説明される。
彼としては素人にもわかりやすいように精いっぱい平易に話しているつもりなのだろうが、素人の頭の構造を侮ってもらっては困る。
キロとかメガとか言われた時点で素人の思考力はフリーズしてしまうのだ。
まずこの
bps
という単位の意味が分からないうえに、キロとかメガとか立て続けにいわれるから
「きっとすごいんだろうな」
とは思うが、どれぐらいすごいのかがわからない。
ここで平易に説明することにトライするならこういうことだ。
デジタル信号というのは究極に突き詰めたら0と1という信号ですべてを表現する。
数字は勿論、文字も文字コードを使ってそれぞれの文字に割り当てた番号で表現し、その番号を最終的には2進数に変換して通信に流す。
つまり通信段階で使われる信号はすべて0と1、あるいはオンとオフという二者択一の信号に変換する。このデジタル信号の最小単位ひとつの大きさを
1bit
と呼ぶ。
(このビットという単位はBinary Digit、つまり2進数の桁という言葉をつづめた造語なのだそうだ)
これが1000bit で1kbit、100万で1Mbit、10億で1Gbitということになる。
このデジタル信号を1秒間にいくつ送ることができるかというのが
bps
つまりbit per second、ビット毎秒という単位になる。
当然たくさんのデジタル信号を送ることができる=高速ということになる。
と、ここまではたいていのIT用語集には書いてあるが、
問題はそれがどの程度すごい数字なのかという実感が無かったことだ。
今でこそADSLが2軒に1軒は普及しているという状況になって、bpsという単位も皆スループットの単位として気にするようになってきた。
実感のためにいうと、56kbpsの高速ダイアルアップモデムでダウンロードに24時間かかっていたファイルをADSLの8Mbpsでダウンロードすると10分弱、100Mbpsの光ケーブルでダウンロードすると40秒強で落ちてしまうという計算になる。
道理で最近のwebサイトはどこも重くなっているはずだと納得してしまう。
(人のことはいえないが)
100Mbpsのブロードバンドはどれくらいの速度が出るのかというのを、当時はまだ珍しかった光ケーブル完備だった東大の研究室で体験させてもらったところ、1024×768のムービーファイルもダウンロード開始と同時に再生を始める。
再生のスピードよりもダウンロードの速度の方が速いからこういうことができるのだ。
とここまで有線のブロードバンドの話をしてきたが厄介なのは携帯電話などのスループットなのだ。
モバイルの通信はいろんな規格が乱立しているので、いろんなスループットがある。
問題は技術者が新製品の携帯電話のデモをする時に
「この携帯電話はデータ通信時には256kbpsのスループットを出せる」
という説明をする時に
「それってすごい数字なんだろうか?」
ということがすぐにピンと来なくてはいけないということだ。
256kbpsってダイアルアップの5倍じゃないか。大したこと無いじゃないかというくらいの実感ではモバイル通信の事情はまだよく解っているとはいえない。
iモードのヒットで普及したPDC方式のデジタルケータイはせいぜい10kbps程度の通信速度だった。
PHSが高速通信を可能にしたが、それだってせいぜいダイアルアップモデムと同じ程度の64kbpsだった。
そんな速度で写メールなどの画像転送もやり始めたわけだから、技術的には無茶なサービスではあったわけだ。
第3世代電話がスループットの高速さを売り文句にしたがるのもよくわかるし、200k程度のスループットでも技術者が自慢げに話すのはそういう背景があるのだ。
そういうことがわかってくると、技術者達の難解な話も意味が分かってくる。
得意げな表情の意味も理解できるというわけだ。
ディレクトリ
Directory
かなり前の話だが、音楽用のMIDIシーケンサ専用機を使っていた時、これのフロッピーディスクが不調になり、上書きをするとそれ以前に書き込んだファイルが全て消えてしまうという不調が起こった。
メーカーに修理に出したところフロッピードライブの不調によるトラブルだという。
それで消えてしまったデータの復活ができないか聞いたところ、サポートの彼がいうには
「ディレクトリデータが消えてしまっているんでどうにもなりません。」
ということだった。
ディレクトリという言葉はこの時に初めて聞いた言葉だったので、どういうことか解らなかった。
「そこをなんとか」
と食い下がったが、要するにこのディレクトリデータが消えてしまうと過去のファイルデータは全て無意味な記号になってしまうという。
「ということは完全に消えたわけじゃないんだな? それなら復活させる方法はあるんじゃないの?」
とさらに食い下がってみた。
それを再現するにはその記号を読むために再現作業に立ち会ってもらわなくてはならないし、その間専門の技術者を拘束することになるので、かなりの費用も発生する。
それで一般的にはそういう問い合わせには
「不可能です」
と答えるようにしているということだった。
問題はこのディレクトリ領域という用語の意味なのだが、彼の説明によると
「データはディスク本体にアトランダムに分割して書き込まれる。そのデータをどこに書き込んだかを記録するインデックス(目次)のような領域がある。これをディレクトリ領域と呼んでいるのだ。」
ということだった。
分かったようなよく分からない説明だが、彼としては精いっぱいに平易に説明したつもりだったのだろう。
この話はコンピュータのデータ管理の方法という話に深い関わりがある話だ。
コンピュータにはおおまかにいって5つの部位があるというのは技術屋さんがよくいう話だ。
簡略化して書くと
制御、演算、記憶、入力、出力
ということになる。
制御と処理は良いとして、処理を待っている、または処理が終わったデータを置いておく場所が必要になってくる。
そういう領域が記憶領域ということになる。
それは具体的にはメモリという回路的な記憶保持装置だったりするが、それは大きさにかなり制限があるし、電源を落とせば全て消えてしまう。
そこでさらにその記録を置いておく倉庫のような部位が存在する。
昔のコンピュータだとテープだった時代もあるし、今ではハードディスクだったりする。
(メモリにファイルを置いておかない主な理由は、コストの問題だ。メモリはそれこそムーアの法則よろしく等比級数的に高密度化、低価格化が進んでいるが、それでも数百MBのメモリは1万円以上する。
最近は個人ユースのパソコンが扱うファイルの大きさだって大きくなっている。なんせ子供の写真を扱ったり、ホームビデオも編集したりしなくてはいけない。
そういう数GBから数十GBのファイルをメモリで保持していたら、恐ろしいコストがかかってしまう。しかしハードディスクはかつては大変高い記憶用ストレージだったが、今では数十GBから数百GBのものが1万円前後で買える。
ファイル容量当りのコストを考えたら、ハードディスクは実は圧倒的に安い記憶メディアなのだ。)
ここにデータを書き込むわけだが、
ここでは順番もアトランダムに書き込まれるファイルをどう効率的に管理されるかが問題になる。
それにはいくつかの理由がある。
例えば書き込んだ日付けの順番にディスクに並んだデータだが、日付け順にしか閲覧できないとすると困ったことが起きる。
ファイルにはシステムが使うもの、アプリケーションが使うもの、ユーザが使うものなど目的に応じた種類がある。
ユーザが何かファイルを探している時に日付け順にシステムファイルやアプリケーションファイルも一度にずらずら並んでしまうと目的のファイルにたどり着くのに大変な時間がかかってしまう。
そこで使用目的別にファイルを種類分けしてそのファイルを呼び出す道順を作ってやらないといけない。
目的毎に細分化していってその中の細かい項目が数十個程度になれば、必要なファイルに到達するのはたいして時間がかからない。
実際、最近のコンピュータにはシステム用も何もかも含めると数十万から数百万のファイルが内蔵されているのだ。
いちいちその中から探していたらひとつ探すのに1時間かかって、毎日探し物するためにコンピュータを使っているようなざまになってしまう。
そういう仕組みづくりは間違いなく必要になる。
それでファイルを分類する階層を作った。
コンピュータの中にシステムが使用する領域、ユーザが使用する領域、アプリケーションが使用する領域などの区分け項目を作る。
さらにシステムが使用する領域をシステムを動かす手順用ファイルと設定用ファイルというふうに区分けするというふうにだんだん詳しく分類していく。
この最初の区分け、2番目の区分けというふうに進んでいくことを「階層」と呼ぶ。
さらにこういう階層を降りていくごとに項目が枝分かれしている構造を、ディレクトリと呼ぶ。
実際には項目表にそういうディレクトリの情報が書き込まれ、そのディレクトリの中身のこのファイルは、「ディスク上のトラック○○番からトラック△△番までの領域に書かれている」という情報があわせて記録される。
ユーザがディレクトリをおりていってそのファイルを開くように指示すると、コンピュータはそのディレクトリ表に従って、トラック○○番からトラック△△番までの領域を読みにいくわけだ。
こうすることで、頭からいちいち該当する項目を検索しなくても良いので、読み出しの効率も上がる。
こういうディレクトリの構造をコンピュータの操作画面上でどういうふうに表現するかで、コンピュータの使いやすさが決まってくるわけだ。
通常UNIXのようなCUI環境ではこれはパスと呼ばれる暗号のような文字列で表現される。
UNIXなら
"/Applications/Utilities/Carbon Copy Cloner/Carbon Copy Cloner.app"
というふうに表記されるし、
Windowsなら
\\C:WINDOWS\system\...
というふうに表記されるあれだ。
GUI環境は全く違う表現がされている。
アイコンを開くとその中にフォルダがいくつかあって、そのフォルダを開くとその下の階層のフォルダがさらにある...
というふうに表現されている。
このフォルダがディレクトリなわけだ。
ハードディスク上にはアトランダムな順番に記録されているが、GUI環境ではあたかも起動ボリュームのアイコンを頂点にその下にフォルダごとに整然と格納されているように見えるわけだ。
もうひとつの理由は、上書きをした時の問題だ。
A、B、Cという3つの100MBのファイルをディスクに書き込んだとする。
普通ディスクにはアルファベット順でA、B、Cという3つの領域ができて、100MBずつ合計300MBの連続した領域ができる。
しかし後日このBというテキストに大幅に加筆したとする。
そしてもしBというファイルが200MBのファイルになってしまったとする。
これをディスクに書き込もうとすると、Bの領域は100MBしかない。
Cを後ろにずらすなんてことはできない。
これがもし後ろにC、D、E、F、G...というふうにつながっていたとしたら、これを全部どかすのは大変な作業になってしまう。
こういう作業をトランケートというが、ハードディスクが書き込みの度にいちいちトランケートをやっていたら大変な時間がかかるし、その間にエラーを起こして他のファイルを壊してしまうということになりかねない。
ましてその作業中にクラッシュなどしようものなら、ディスク上のそれ以降のファイルが全滅するなんていうとんでもないトラブルも考えられる。
そこでトランケートは後日バックアップを取りながらユーザにじっくりやってもらうことにして、取りあえずディスクにはその後の空き領域を探して、そこにB'とでも名前を付けて加筆部分だけを記録することにする。
読み出す時にはこのBとB'という二つの領域を読み込んでひとつのファイルに組み立てるわけだ。
または例えばG領域の後に空き領域があったとして、そこに加筆部分も込みの新しいBを書き込んで、古い100MBのBというファイルは削除することにするという手もある。
こうするとAという100MBの領域のあとに100MBの空き領域ができて、その後にCという100MBの領域が続くことになり、
その後にはD、E、F、Gという連続した領域の後にBという200MBの領域ができることになる。
次にHという90MBのファイルを保存すると、AとCの間にこれが書き込まれるわけだ。
ファイルは常にバラバラの順番でディスクに書き込まれるという意味はこういうことだ。
またひとつのファイルがあちこちに分散してバラバラに書き込まれるフラグメンテーションという状態もこのように起きてくる。
こういうファイルをどこに書き込んだのかということを覚えておく必要があるので、そういう目次のような情報を書き込むのがディレクトリ領域ということになる。
この領域はファイルの書き換えと同時に常に上書きされることになる。
ディスクの中身が実際にはどうなっているのかなんていうことは、日常コンピュータを普通に使っている時には知る必要が無いことだ。
そういうことを知らないでもコンピュータを扱えるように、ユーザインターフェイスというのは考えられているからだ。
それはGUIでもCUIでも同じことだが、しかし一度トラブルに見舞われた時、あるいはデフラグを実行してくれるソフトが本当に必要なのかどうかとか、コンピュータを安全にシュアに使うにはどうしたら良いかという判断を迫られた時に、ディスクの中身が全くブラックボックスなのか、ちょっとはこういう概念を知っているかによって判断は変わってくるように思う。
たとえばWindowsユーザの中にはスピードが速くなるような気がするからといって毎日スキャンディスクをかける人がいるが、こういうのは私から見たら「自殺行為」という気がするのだ。
スキャンディスクやMacユーザの場合はノートンのディスクドクターのSpeedDiskなんてのは一生のうちに何回使うことがあるだろうかというくらいの使用頻度にとどめるべきなのだ。
というかMacOSXの場合は必要ないと私は考えているのだが。
また技術者はためらいもなくこの「ディレクトリ」という言葉を使うので、そういう人物の話を理解する必要がある立場の人はこの言葉の概念を理解しておいて損は無い。
ちなみにディレクトリの本来の意味は「指令書」「手順書」という意味もあるし、「入居人名簿」という意味もある。
オフィスビルの場合、店子が入れ替わって大きなフロアを使っていた大口のテナントが出ていって、小口のテナントが沢山入ってくるためにフロアが細分化することを
「フラグメンテーション」
というふうにいうそうだ。
こういう言葉の「コンバージェンス」というのが面白いと思う。
2004年4月26日
Previous
Topへ
Next