2020年5月の記事一覧
リピータ
お店に繰り返し来てくれる人・・・ではなく、コンピュータネットワークにおいてある機器(機能)を指します。
電気信号や電波は離れるほど減衰して正しく伝わらなくなってしまいます。そこで、リピータを使い信号を増幅してその先まで中継することができます。リピータ「ハブ」の場合には接続端末すべてに信号を伝送する装置になります。
コミットとアボート
オンラインで処理される銀行システムやチケット発行など、不具合でお金につじつまが合わない結果が発生することは許されません。
データベースシステムでは、一連のデータ処理(トランザクション)が確実にできる機構を備える必要があり、処理の成功をコミット、失敗をアボートと呼びます。基本的に一連の処理後に、さらに「コミット処理」という正常に一連の作業がなされているかの処理がなされ「コミット済」ではじめてデータ確定となります。データ処理中はもちろんコミット処理中でも異常があればすべて「アボート処理」に入り、さらに「アボート済」でデータ更新なされていない状況に戻ります(ロールバック)。
Mnemonic
ニーモニック(ニモニック)コードという言葉はアセンブリ言語を扱うときによく出てきますが、アセンブリ言語にかかわらず意味が連想できる英数字や記号の組合せをコードとして割り当てる方式のことです。(表意コードともいう)
アセンブリ言語は数値のみの機械語をLDやADDなど動作の略語で対応させたものですが、身近なところでWebサイトのアドレスでも、「~.jp」「~.uk」「~.us」のように国名から略してつけられています。
一時期流行ったKY(空気読めない)などの略語も当時としては、日常の一言をコード化したニーモニックといえるかもしれません。
揮発性と不揮発性
アルコールなどすぐ蒸発して揮発性が高いといいますね。でもコンピュータ分野では記憶装置であるメモリに関する用語になります。
通電していないとデータが消える揮発性メモリ(DRAMやSRAMなど)と、電源が切れてもデータが消えない不揮発性メモリ(EEPROMやフラッシュメモリなど)があります。CPUなど処理の中枢に近い部分には揮発性メモリが、所謂USBメモリなど保管したり持ち歩いたりするものは不揮発性メモリが現在使われています。
コンピュータのタスク管理
どんなコンピュータでもOSをはじめ幾つものプログラムが動作して成り立っています。そしてCPUの作業単位をタスクといいます。
細かいタスクを優先順位などでOSが管理する形式をプリエンプティブといいます。タスクは「実行状態」と、CPUの順番を待つ「実行可能状態」と、入出力などを待つ「待ち状態」としてOSに管理されます。優先順位の高いタスクが発生すると実行状態でも一旦に実行可能状態になり(プリエンプション)、先のタスクが終わって実行可能状態から実行状態になります(ディスパッチ)。
これに対し、個々のプログラム基準でタスク実行から離れるか待ち状態で順次タスクが実行される形式をノンプリエンプティブといいます。
排他的論理和の活用
排他的論理和(Exclusive OR)は入力の0・1の組み合わせが異なるときに1を出力します。見方をかえると、入力の片方が0なら一方の信号をスルー、片方が1ならもう一方の信号を反転します。
常に反転するNOTと違い、必要なときだけ反転させたりビット列の特定部分だけを反転できます。電子素子でも実装できるので高速な処理やプログラミングの演算としても四則演算とは異なる結果が得られるので様々な活用が考えられます。実際には通信データの誤り検出などに使われています。
ゼロ除算
10÷0=?
数学的には不定や計算不能などありますが、プログラミングでも計算するデータ型によって違う結果が得られたり計算不能としてエラーが返されたりします。重要なシステムに限らず、突然止まったりとんでもない結果が返ってきたら困ります。より安定した動作実現のために、除算する変数をチェックしたり例外処理を組み込んだりすることが重要になります。
(プログラミング言語や変数の型によって結果が異なることも是非試してみましょう)
RGB
プログラムなどでディスプレイ画面で見る「色」を指定する場合、基本的に光を合わせて表示するので加法混色(additive mixture)が用いられます。Red,Green,Blueの3色の組み合わせで表現します。多くの場合、各色8ビット(256段階)であらわしますが、3色の値が少ないほど黒に近づいて大きくなるほど白に近づきます。(3色×256段階=1677万7216種類の色が表現できる)
16進数で各色を連ねた「カラーコード」という表記がWebページでよく扱われます。黒(black)なら#000000,赤(red)なら#ff0000,紫(purple)なら#800080 になります。「カラーコード」などで検索すると色と数値の対応が紹介されたページが多くあります。
COBOL
COBOL(COmmon Business Oriented Language)は1959年に開発されたプログラミング言語です。この言語で新たにシステム開発が行われることは無いかもしれません。
役割別に4つの部(DIVISION)とさらに節(SECTION)で構成されていて高い可読性があります。コード内で帳票入出力の設計がしやすいなど、非常に事務処理に特化しています。
(画像は https://paiza.io で給与算出を想定してコードを作成したものです。正式には何を何文字目から記述するかについて決まりがあります。)
H.264/MPEG-4 AVC
スマホやパソコンなどインターネット経由で動画を見るときによくお世話になるコーデックです。テレビの地上デジタル放送やDVDビデオは主にMPEG-2が使われています(ワンセグ放送やBlu-rayDiscビデオはMPEG-4)。MPEG-2でもかなりのデータ圧縮(元データに比べ10分の1など)が行われていますが、MPEG-4では更に倍程度のデータ圧縮率が実現されています。