第 2 回 コンピュータの仕組み

本日の内容


このドキュメントは http://edu.net.c.dendai.ac.jp/ 上で公開されています。

2-1. コンピュータの仕組み

コンピュータには、ハードウェアと呼ばれる装置と、それに与え るソフトウェアという情報があります。

2-2. ハードウェア

基本構成

コンピュータは次のような部品で成り立ってます。

  1. 情報を記憶する「メモリ」という装置と、
  2. 記憶されている情報を元に制御を行う「CPU(Central Processing Unit)」と、
  3. 情報を入れたり出したりする「I/O(Input/Output)」

これらが「バス」という配線方式でつながってます。
コンピュータの基本構成図

最近のコンピュータ

最近のコンピュータは、さらに次のようになってます。

  1. メモリは情報を順番に記憶できるようになっている。各記憶はアドレ スと呼ばれる番号で読み出せる。任意のアドレスの情報を取り出せるメモリ のことをRAM(Random Access Memory)と呼ぶ。通常 RAM の内容は電 源を切ると消えてしまう。
    メモリの概念図
  2. CPU はノイマン型と呼ばれる方式により設計されている。 ノイマン型では、コンピュータが実行するプログラムはメモリーに置かれ、 CPU は 0 番地、 1 番地と番地順にプログラムを処理する。
  3. I/O として、次のようなものが接続されている
    入力装置
    キーボード、マウス
    出力装置
    画面、スピーカ
    補助記憶装置
    フロッピーディスク、ハードディスク、CD-ROM
    通信装置
    イーサーネットカード、モデム
  4. コンピュータの電源を入れると、「接続されている装置を把握して、補助 記憶の一部をメモリーに読み込み、実行する」というプログラムがコンピュー タに内蔵されている。これは不揮発性(電源を切っても消えない)メモリに蓄え られている。不揮発性メモリをROM(Read Only Memory)と呼ぶ。 「コンピュータの電源を入れた時にコンピュータの状況を把握して補助記憶上 のプログラムを読んで実行する」というプログラムを通常 BIOS(Basic I/O System)と呼ぶ。

演習2-1

  1. BIOS の画面(ハードウェアを管理する画面)にする方法をマニュアルとし てまとめなさい。
  2. 接続されているハードディスクの会社名を調べなさい

2-3. ソフトウェア

ノイマン型コンピュータではプログラムは配線などせず、全てメモリーに記憶 されるデータになります。 プログラムはコンピュータを動作させるのに必要なものですが、「装置(ハー ドウェア)」ではありません。 コンピュータを動作させる装置以外の、データやプログラムのことをソフ トウェアと言います。

オペレーティングシステム(OS)

ハードウェアの項で説明したように、CPU は基本的には 0 番地から一つのプ ログラムを実行するだけの機能しかありません。

ハードウェアを変更せずにコンピュータに幾つかのプログラムを処理させるた めには、複数のプログラムを取り扱うようなプログラムが必要です。 そのようなプログラムをオペレーティングシステム(OS)とか「基本 ソフト」と呼びます。OS に与えるプログラムをアプリケーションソフト ウェアとか「応用ソフト」などといいます。

OS はプログラムの管理の他に次のような管理もします。

家電に組み込まれているコンピュータのように一つのプログラムしか実行しない コンピュータには、基本的にはオペレーティングシステムは必要ありません。 但し、画面に字を出すなど複数の製品でも同じような機能が必要なので、最近 は「組み込み用 OS」が入ってます。 日本製の携帯電話の多くには ITRON が入ってます。

OS は、複数のプログラムを実際に動かしたり機器を管理したりする部分 (カーネル(核))と、 利用者とコミュニケーションをする部分(シェル(殻))に分けること ができます。 ユーザからは複雑な核の部分は見えず、殻の部分だけが見えます。 シェルには、文字によるコミュニケーションをするシェル(CUI シェル)とグラフィックによるコミュニケーションをするシェル(GUI)シェルが あります。

演習2-2

MS-DOS プロンプトやコマンドプロンプトに次のコマンドを入れ、何が返って くるか調べなさい。 そして、どんな意味のコマンドなのか想像しなさい。

  1. ver
  2. time
  3. date
  4. echo abc
  5. rem abc
  6. cls
  7. exit

演習2-3

次のウィンドウ上のアイコンにはどのようなメッセージが送れるか調べなさい。

ヒント: アイコンを右クリックしてみる

  1. コマンドプロンプト(2) (または MS-DOS プロンプト(2))
  2. ゴミ箱

2-4. コンピュータでの情報の扱い方

OS は人間が情報を扱いやすくするために、さまざまなサポートをしてます。

OS はファイルと、ディレクトリ(フォルダ)とい う機能を提供しています。

ファイル

ビット、バイト

コンピュータのデータの基本は 0 と 1 です。 この 0 または 1 という 2 通りの情報を記憶する単位を bit(ビッ ト)と言います。 8 bit を 1 Byte(バイト)と言います。 1 Byte には 28=256 通りの情報を記憶することができます。 英字や数字などは一文字 1 Byte で記憶されます。 ひらがな、かたかな、漢字などは 2 Byte で記憶されます。 1000 Byte を 1kB と言うこともありますが、 1024=210Byte を 1KBと表すこともあります。 bit, Byte などもともと 2 進数と関係 がある単位なので、 2 の巾乗の数で区切ることが多いです。

演習2-4

次の情報を記憶するのに必要なビット数を求めよ。

  1. 勝ち負け
  2. 男か女か
  3. 0 から 9 までの数のうちの一つ
  4. A から Z までの文字のうちの一つ
  5. 0 から 9 と A から Z と a から z までの文字のうちの一つ

ヒント: log2(場合の数) の切り上げを考える

データ、レコード、ファイル

データとは数字や文字列など、情報を表現しているものをいいます。 例えば、「10」「東京電機大学」「(1,2,3)」などはデータです。

レコードとは情報の意味のある組合せです。 例えば、「コンピュータ基礎および演習 I, 月曜日3,4 限, 1C1 , 必修, 前期」 や、「飲み会、お茶の水駅前、4/15、18:00、会費 3000円」のような複数のデー タの組合せはレコードになります。

ファイルは処理の対象となるひとまとまりのレコードの集まりを言 います。 クラスの名簿、スケジュール表などはファイルの例です。 また、文字列を改行で区切ったファイルをテキストファイルと言い ます。 改行で区切られた文字列をということがあります。行はレコード に対応します。 電子メールの内容やコンピュータのプログラムはテキストファイルでで きています。 テキストファイルはほとんどのコンピュータで取り扱えるため、情報をやりと りする際に便利です。

コンピュータではファイルに名前をつけ、名前で管理します。 通常のコンピュータの処理はファイルを対象にします。 CUI シェルでは通常命令は次の文法になってます。

コマンド名 対象ファイル名

MS-DOS やコマンドプロンプトのコマンドの例

type ファイル名
ファイルの内容を表示する
del ファイル名
ファイルを消去する

ディレクトリ(フォルダ)

複数のファイルをまとめる仕組みをディレクトリフォルダ と言います。ディレクトリも名前をつけて管理します。 ディレクトリはディレクトリも含むことができます。

例!1!

ディレクトリ A がファイル B とファイル C を含んでいる。

例!2!

ディレクトリ A がディレクトリ B とファイル C を含んでいる。

例!3!

ディレクトリ A がディレクトリ B とファイル C を含んでいて、ディレクト リ B がファイル D を含んでいる

例!4!

ディレクトリ A がディレクトリ B とディレクトリ C を含んでいる。 ディレクトリ B はファイル D とファイル E を、ディレクトリ C はディレク トリ F とファイル G を含んでいる。

「A が B を含んでいる」という関係をA→Bで表すと上の関係はそれ ぞれ次のようになる。

例!1!

ディレクトリ A がファイル B とファイル C を含んでいる。

例!2!

ディレクトリ A がディレクトリ B とファイル C を含んでいる。

例!3!

ディレクトリ A がディレクトリ B とファイル C を含んでいて、ディレクト リ B がファイル D を含んでいる

例!4!

ディレクトリ A がディレクトリ B とディレクトリ C を含んでいる。 ディレクトリ B はファイル D とファイル E を、ディレクトリ C はディレク トリ F とファイル G を含んでいる。

数学では、このように対象物の関係を→の接続で表したもの(グラフ)のうち、 すべてが連結しているが合流がない形を木(tree)と言います。 木やグラフを表す時の特有の用語には、頂点、節(対象物)、枝(関係)などがあ ります。また、木特有の用語として、根(すべての始点)、葉(端点)があります。

さらにある頂点から別の頂点への道筋、あるいは道筋の頂点の列挙を道 (path)と言います。

この場合の道は B,A,C,G と表すことができます。

木の節から見て、自分に接続している節をと言い、自分が接続している 節をと言います。 ディレクトリでは親ディレクトリサブディレクトリとい う言い方をします。

CUI におけるディレクトリ操作

CUI シェルでは命令の次に対象ファイル名を指定します。 Windows はファイルシステムを提供していますので、次に述べるような方法に よりディレクトリを利用したファイルを指定できます。

CUI シェルでは、注目しているディレクトリ(カレントディレクトリ) があります。 カレントディレクトリに関連するコマンドには次のものがあります。

cd
カレントディレクトリを表示する(表示形式は後述)。UNIX では pwd
cd ディレクトリ名
カレントディレクトリを指定したディレクトリに変更する。

Windows では次の特別な約束があります。

.
.(ピリオド)一つでカレントディレクトリを表す。
..
..(ピリオド)二つで親ディレクトリを表す。
ルートディレクトリ
ルートディレクトリには名前がついてない。(正確には名前が空)
英字と同じ幅の¥(円記号)
path を表す時、ディレクトリ名の区切りに使う。 もともと UNIX では /(スラッシュ)を使っていた。それを真似て、 MS-DOS(MS Windows の原型)のアメリカ仕様では\(バックスラッシュ)が使われた 日本向けのコンピュータでは、文字の構成が違い、バックスラッシュの代りに 円記号が登録されているため、枝の表現に似ても似つかないがそのまま円記号 を使うようになった。 キーボードで右shift の左側に ろ というキーがある。 これはバックスラッシュを入力するキーだが、日本語の Windows では¥記号 として扱われる。

Windows でファイルを指定する場合、「カレントディレクトリからのパス (相対パス)」で表現します。 但し、パスの先頭が区切り記号の時は、「ルートディレクトリからのパス (絶対パス)」を表します。

例の表示

MS-DOS やコマンドプロンプトのコマンドの例

mkdir ディレクトリ名
ディレクトリを作る
rmdir ディレクトリ名
ディレクトリを消去する
dir ディレクトリ名
ディレクトリの内容を表示する(ディレクトリ名を省略した時はカレント ディレクトリの内容を表示する)
copy ファイル名1 ファイル名2
ファイル1 をファイル 2 の名前でコピーする。

演習2-5

次の問いに答えなさい。

  1. コマンドプロンプトあるいは MS-DOS プロンプトを起動した時、カレント ディレクトリはなにになりますか?
  2. ルートディレクトリに work という名前のディレクトリを作りなさい。 (もし作れない場合は、「マイドキュメント」ディレクトリに作る)
  3. カレントディレクトリを今作ったディレクトリ work に移しなさい。
  4. 
    echo abc > def
    
    を実行し、dirコマンドやtypeを利用し、カレントディ レクトリになにが起きたか調べなさい。
  5. 次の図の構造になるようにディレクトリを作りなさい。
  6. ファイル def を、ディレクトリ A とディレクトリ B にそれぞれコピー しなさい。
  7. 「スタートボタン」を右クリックして、エクスプローラを動かし、 work ディレクトリに何が入っているか調べて、絵を写しなさい。

余談: 包含関係とパス表示

ディレクトリやパスの表現を説明しましたが、これは一般社会で良く使われて います。 例えば、市区町村の分割と住所表示がその例です。

市区町村の分割
区分け

住所の書き方
figure of tree

2-5. 課題

Almail をダウンロードしておいて下さい。

坂本直志 <sakamoto@c.dendai.ac.jp>
東京電機大学工学部情報通信工学科