第2回 - コンピュータのソフトウェア

0. ソフトウェアとは?

1. すべての情報を 0 と 1 であらわす (つづき)

文字を 0 と 1 であらわす

数値 = 文字と考え、数値の列を文字列とする。

テキストファイル

ascii.txt
Hello!
48 65 6c 6c 6f 21
sjis.txt
日本
93 fa 96 7b

画像を 0 と 1 であらわす

00000000 00011000 00100100 01000010 01111110 01000010 01000010 01000010

ひとつの点 = 「ピクセル

色を 0 と 1 であらわす

色とは何か?

R, G, B それぞれを 8ビット (256段階) の数値で表す = 256×256×256種類の色

ビットマップ形式

データ圧縮方式

文字の描画と文字認識

音声を 0 と 1 であらわす

音とは何か?

0

音声合成と音声認識

プログラムを0と1であらわす

32ビット用プログラム

  00401066: 57                 push        edi
  00401067: 33 FF              xor         edi,edi
  00401069: 85 DB              test        ebx,ebx
  0040106B: 7E 26              jle         00401093
  0040106D: 8B F5              mov         esi,ebp
  0040106F: 8B 6C 24 18        mov         ebp,dword ptr [esp+18h]
  00401073: 2B E8              sub         ebp,eax
  00401075: 8B 0C 2E           mov         ecx,dword ptr [esi+ebp]
  ...

64ビット用プログラム

  0000000140001164: E8 B7 03 00 00     	  call        0000000140001520
  0000000140001169: 85 C0              	  test        eax,eax
  000000014000116B: 74 0F              	  je          000000014000117C
  000000014000116D: 45 33 C0           	  xor         r8d,r8d
  0000000140001170: 41 8D 50 02        	  lea         edx,[r8+2]
  0000000140001174: 33 C9              	  xor         ecx,ecx
  0000000140001176: FF 15 04 1F 00 00  	  call        qword ptr [40003080h]
  000000014000117C: 48 8B 0D 25 0F 00 00  mov         rcx,qword ptr [400020A8h]
  0000000140001183: 48 8B 05 A6 1E 00 00  mov         rax,qword ptr [40003030h]
  ...

データ形式

コンピュータ上では、すべての情報は 0 と 1 からなる。 その意味は、解釈する方法によって決まる

2. オペレーティングシステムとは

ソフトウェア上の課題

ソフトウェアの階層

これらの要素が変わるたびに、毎回すべて作り直すのは大変。 → いくつかの取り替え可能な「部品」から作る。

アプリケーション ソフトウェア
オペレーティング システム (OS)
デバイスドライバ

実際のWindowsの構造

アプリケーションソフトウェア (応用ソフトウェア)

いわゆる通常の「ソフトウェア会社」が作る。 個々の目的に特化されている。

デバイスドライバ

周辺機器を特定の OS の標準機能として動かすためのプログラム。 ハードウェアメーカー (Canon, Epson, Samsung など) が作る。

オペレーティングシステム (基本ソフトウェア)

ハードウェアメーカー (Apple)、 あるいは大規模ソフトウェアメーカー (Microsoft, Googleなど) が作る。

オペレーティングシステムの機能

現在の OS には、多くのアプリケーションで よく使われる標準機能があらかじめ搭載されている。

これらの多くの機能は実際には幻影である。

こうした「コンピュータをコンピュータとして認識させない」傾向は とくに Apple製品で顕著である。

3. ソフトウェアと比喩

コンピュータ上で使われる「ファイル」「電子メール」などの単語は、 現実世界での日本語とは違う意味をもっている。 これらはすべて現実世界と似たものに使われる「比喩」にすぎない。

「作る」「消す」「入れる」「落ちた」などの動詞も同様。

さらに「認証する」などの抽象的な用語が使われる場合もある。

注意:


Copyright (c) 2015 Yusuke Shinyama