コンピュータについて


  • ハードウェアについて
     パソコンのハードは基本的に次のものから成り立ちます。
    • マザーボード
    • CPU(中央演算処理ユニット)
    • メモリ
    • 外部記憶装置
    • 入出力装置
    • その他(電源、CPUクーラー等)

       マザーボードは、各部品を配置したり、各装置を接続したりするのに欠かせないものです。これには、BIOSが入っています。BIOSは、基本的IOシステムのことです。

       CPUは、メモリからプログラムやデータを読み込み、プログラムの手順を実行するものです。これは、基本的には1ステップづつ実行するのですが、パイプラインを使って、同時に後続の何ステップかを実行しています。パイプラインの数が多いほど、同時に実行できるステップ数が多くできることになります。各ステップの実行タイミングは、動作周波数(クロック)によって決まります。

       メモリは、記憶装置からプログラムやデータを読み込み、それを貯えるものです。これは、基本的にビットデータからなります。つまり、0/1のデータからなります。したがって、状態として2値をとることができるなら、何でも良いということになります。しかし、大量にしかも電子部品として使えるものということになると、集積回路以外にはありません。集積回路上では、状態の2値はフリップ・フリップ回路によって保持されます。

       外部記憶装置もしくは外部記憶デバイスとしては、ハードディスクやFDD,CD−ROMが挙げられますが、システムを立ち上げるのに必要なものはハードディスクです。これらの記憶装置も、基本的にビットデータからなります。
       ハードディスクやFDDの場合、ビットデータの記憶は、磁気状態によって保持します。つまり、磁性体の各磁区に磁界を与えて、隣同士の磁区の磁気の向きを反転させたりして、0/1を表現しようとしているものです。
       しかし、ハードディスクとFDDとでは、動作の仕方に大きな違いがあります。それは、ハードディスクは、非接触型であるのに対して、FDDは接触型であることです。ここでいう、接触/非接触というのは、記録媒体であるディスクとそれを読み出すヘッドのことをいいます。
       FDDの場合、接触型なので、当然摩擦により、ディスクが擦り減ったりします。ですから、定期的に新しいものにコピーし直す必要もあります。もっともほとんどしようしない場合には、その必要はありません。
       ハードディスクの場合、ディスクとヘッドが非接触に保たれているのは、ヘッドがディスクに対して揚力を持つからです。つまり、ディスクが回転することにより、周囲の空気もそれにひきずられるようにして、回転することになります。一方、ヘッドはディスクに対して相対的に運動を行うことになりますが、このことは空気に対しても運動を行うということになります。そこで、ヘッドが揚力を持つような形状を持てば、ヘッドは浮き上がるということになります。
      ただし、この場合の浮き上がりは、極めて僅かなものです。また、このようにする必要があります。なぜなら、そうしないと記録密度を高くすることができないからです。しかし、この結果、少しの振動を加えただけで、ヘッドがディスクと接触したりするという事態になります。
       この衝撃が非常に強かったり、そのことが頻繁に起こるとディスク障害が生じたりします。したがって、パソコンがグラグラするような場合には、ディスク障害が起こり易くなります。それが昂じてディスクそのものが壊れてしまうこともあります(私は何度か経験しました)。この場合には復旧の手だてが無くなることになりますので、その兆候を見つけたら(書き込みに異様に時間がかかるなど)、重要なデータのバックアップをとり、早急にディスク交換するべきです。
       しかしながら、最も頻繁に起こるディスクエラーは、ヘッドがディスク書き込み中における突然の電源断等による書き込み異常によるものです。その場合には、一般にその付近のデータが書き換えられてしまいます。
       しかも、このことはファイルシステムをも書き換えてしまうことが少なくない為に、その障害はその付近だけに止まらないことがよくあります。ですから、その場合には被害を最小限に押さえる為に、ディスクチェックを行う必要があります。
      次にCD−ROMの場合ですが、これはレーザー光の反射を利用して、状態の2値を表すものです。これもその表現原理はハードディスクの場合と同じです。ただし、CD−ROMの場合には、書き込みを行うことができないので、読み出しオンリーとなります。このことが、ROMの由来です。つまり、ROMというのは、Read Only Memoryを表します。ROMは本来は、メモリに対して使われてのですが、それがCDの場合と性質が同じなので、同様に使われることになりました。
       最近では、CDにも何度も書き込むことができるようなものが現われましたが、それは従来のCDとの互換性がありません。

       入出力装置としては、次のものが挙げられます。

      • キーボード
      • マウス
      • ビデオカード
      • サウンドカード
      • SCSIカード
      • モデムカード
      • プリンタ
      • スキャナ
      • デジタルカメラ
      • タブレット

       上記で必須なものが、キーボードとマウスとビデオカードです。いずれもIO装置なので、それぞれIRQが必要になります(ただし、SCCI接続のものは除外されます)。ところが、MS−DOSの場合ですが、IRQの数は16までであり、しかも多くが使われていますから、多くの装置を接続したりすることがてできなくなることに注意する必要があります。また、それぞれは特有の接続の仕方がありますから、IOがその数分サポートしていないと使えないという状況になることに注意する必要があります。例えば、デジタルカメラとタブレットは、シリアルポートに接続したりしますが、そのポートが一つしかないと片方は接続し直して使わなければならないという不便が生じます。

    • ソフトウェアについて
       コンピュータのソフトウェアは基本的に次のものから成り立ちます。 
      • BIOS
      • OS
      • ドライバ
      • アプリケーションソフト

       BIOSは 基本的入出力システムのことです。
      これで、入出力装置に対する設定を行います。特にハードディスクに対する設定が重要になります。というのは、これが正しく設定されていないとハードディスクを正しく認識できないからです。

       OSはオペレーティングシステムのことですが、これは単に基本ソフトと考えればよいでしょう。これは、少なくともディスクのファイル構造・形式を定めます。ですから、OSが異なるとファイル構造が異なるということになります。この為、一つのシステム上に異なるOSを入れることができないのが普通です。もっとも互換性があれば問題はないですが。

       ドライバは、各入出力装置に対して直接的制御を行うプログラムのことです。この為、各入力装置は必ずドライバを持つことになります。

       アプリケーションソフトは、OSやドライバを使用して、ある処理を行うプログラムです。

       ソフトは、いずれも最終的にはマシンコードに落とされます。このマシンコードは、CPUに依存して作成されます。したがって、CPUが異なると全く動作しなくなるということが起り得ます。良い例が、ウィンドウズとマックのソフトはマシンコード上で互換性がないので、OSが異なると全く動作しません。そこでそのような場合、無理矢理動かすことを目的として、エミュレータがあります。これは、マシンコードを解析して、それと同様な命令に置き換えて実行するものです。しかし、この結果として動作速度の低下が生じることになります。

    • コンピュータの起動や動作について
       コンピュータを起動する場合には、OSの最も基本的プログラムが書かれたブート・セクターを読み込みます。次に、各ドライバやOSを読み込むということになります。
       この場合、各装置からの入出力を受け付けるための割り込みの設定を行います。一般に、OSに他からデータを受け付ける際には、割り込みルーチンが利用されます。つまり、何番目かの割り込みが入ったら、その割り込みルーチンが起動されて、処理が行われます。この割り込みによって、現在動作中のプログラム(正確にはタスクと言われるものですが)の実行が中断されます。この結果、別のプログラムが動いたりします。
       なお、IRQというのは、Interrupt Request すなわち割り込み要求のことです。パソコン(DOS/VまたはNECのPC98)の場合、この数は16までしかないので、この数を使い切った場合には装置を接続することはできません。

    • Windows95について
       現在、Microsoftのウィンドウズといえば、Windows95以降のものを言うようになっています。これがそれまでのWindows3.1とは何が違うかということは今では問題にされませんが、これとの違いを把握しておくことはやはり重要です。
       まずWindows3.1はMS-DOSで Windowsをサポートしたものでした。また、擬似的にマルチタスクを実現しています。このMS-DOSというのは、16bit のアドレスで書かれたプログラムを実行するものです。つまり、データのアドレス表現が16bitであるプログラムを実行するものです。16bitですから、0から216-1(65535)までのアドレスを表すものということになります。つまり、1Mbyteのアドレス空間で実行されるものということになります。(1Mbyte以上のアドレス空間をサポートする技術が開発され、擬似的にnMbyteのアドレス空間が取り扱われるようになりましたが、これは、元々の1Mbyteのアドレス空間にもう1Mbyteのアドレス空間を加えたものです。そこで、この付加した1Mbyteのアドレス空間を切り替えて、擬似的にnMbyteのアドレス空間をサポートしています。)
       このような制限があることより、OSはかなり小さくならざるを得ません。このことが、MS-DOSが他のOS例えばUNIXより遥かに簡略されたコマンド体系になった原因の一つであるように思えます。また開発体制の違いも大きかったといえます。Microsoftも初期は今のように巨大なソフトウェア会社ではなかったので、あまり複雑なものは作れなかったのだと推測されます。一方、UNIXの方は大学をも巻き込んでさまざまなコマンドが付加されるようになりました。また、機能面での充実が図られました。
       しかしながら、コマンドの場合は比較的少数の人によって作ることができるのですが、Windowsのような場合になると、勝手が違ってきます。これはプログラム自体がかなり大きなものになるので、結局は組織力がものをいうようになります。この点パソコン側の方がサーバー側よりも優位になるということになるでしょう。なぜなら、パソコン側の方が圧倒的にユーザーが多いからです。つまり、ユーザーが多いことによって、それから得る利益が多くなるということを意味します。このことは資本主義社会ではそれだけ多くの人をソフトウェアの開発に従事させることができるということになります。

    • Windows95等の環境設定について
      (1)Windows95を拡張するツールとしては、 PowerToys があります。これには、Tweak UIが入っていて、これを用いれば、ゴミ箱などをデスクトップ上から消去することができます。

      (2)タスクバーの移動
       タスクバーの移動は次のようにします。まずタスクバーを表示させます。次に [Alt]と[Space]を押します。 そのままの状態で、タスクバーをクリックします(この必要がない場合もある)。すると、メニューが現れるので、その中の[移動]を選択(クリック)します。次に、タスクバーをクリックして、移動したい場所にドラッグします。

      (3)コントロールパネルをスタートメニューに追加する。
       通常、コントロールパネルは[設定]をクリックして、コントロールパネルを選択して表示させますが、スタートメニューに登録することで直接的にその中の機能を実行することができるようになります。これは次のようにします。
       まずスタートメニューを右クリックすると、メニューが表示されるので、その中の{開くを選択します。次にスタートメニューの画面が表示されますので、その中の[ファイル]を選択して、[フォルダ]の[新規作成]を選択します。
       これでスタートメニューの中に、"新らしいフォルダ"という名前のフォルダが作成されます。このフォルダを選択して、F2キーを押して、このフォルダの名前を次のように変更します。
        Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}

      (4)Windows95のロゴを非表示にする
       パソコン起動時にはWindows95のロゴが表示されますが、これを表示しないようにするには、Msdos.sysファイルに以下の行を追加します。
        [Options]
        Logo=0 …追加した行

      (5)Windows終了ロゴを変更する
       Windowsの開始ロゴおよび終了ロゴは、それぞれWindowsディレクトリにある"Logos.sys"と"Logow.sys"になります。終了ロゴを変えるには、"Logow.sys"を変更すればよいことになりますが、これは次のように作成されている必要があります。
       320×400ドットの大きさの256色BMP形式ファイル。

      (6)起動ディスクをセットアップ後に作成する
       コントロールパネルの[アプリケーションの追加と削除]をダブルクリックして、[起動ディスク]タブの[ディスクの作成]ボタンをクリックする。

      (7)コマンドラインをアイコン化する
       定型的なコマンドラインは、ショートカットのアイコンを作成して、このアイコンをダブルクリックするだけで実行できるようになります。

      ただし、そのときに"パラメータの値が許容範囲を超えています"というエラーメッセージが表示されることがあります。これは、プロパティの[メモリ]タブで全ての項目を"自動"にすれば、表示されないようになります。

      (8)ショートカットアイコンの矢印を消去する
       Regeditを起動して、「HKEY CLASSES ROOT」の「lnkfile」にある「IsShortcut」の名前を「**IsShortcut」にします。 (9)CD-ROMの自動挿入の通知を行なわないようにする。
       コントロールパネルの「システム」をダブルクリックして、「デバイスマネージャー」タブを開きます。該当のCD-ROMを探して、そのアイコンをクリックして、「プロバティ」をクリックします。設定タブの「自動挿入」をクリックして、パソコンを再起動すると、自動挿入の通知が行われなくなります。
       CD-ROMを挿入していない場合、CD-ROMのアクセスランプが点滅する場合には、この設定によってアクセスランプが点滅しないようにすることができます。

      (10)ファイルの関連付けを変更する。
       エクスプローラで関連付けをしたいファイルを[Shift]キーを押しながら、右クリックすると、メニューが表示されので、その中の[アプリケーションから開く]を選択します。
       次に、ファイルを開くアプリケーションを選択して、[この種類のアプリケーションを開くときには、いつもこのアプリケーションを使う]をチェックして、閉じます。

      (11)モデムの音を鳴らさないようにする。
       インターネットへの接続でモデムを使っている場合には、接続の度に耳ざわりな音が生じます。この音を発生させないようにするには、以下の設定を行ないます。(ただし、現在ではインターネットへの接続には高速で常時接続のADSLが主流になっているので、その場合には以下の設定は必要ありませんが。)
       マイコンピュータからダイヤルネットワークを開き、該当接続アイコンを右クリックして、[プロパティ]をクリックします。[設定]ボタンを押し、その[接続]タブの[詳細設定]をクリックして、[追加設定]に"M0"を書き込みます(他の設定は、ATコマンドを参照のこと)。
      (結構、耳ざわりな場合もあるので、この設定が必要になるかと思います。ただ、これをすると、モデムが勝手にダイヤルアップしてしまうことの確認ができなくなりますが。)

      (12)ダイヤルアップ接続でパスワードを保存できるようにする。
       コントロールパネルの「パスワード」をダブルクリックして、「パスワードのプロパティ」画面を開きます。この画面の「ユーザー別の設定」タブを開き、「ログイン時に各ユーザーのデスクトップ設定に変更する」を選択します。
       この後、ウィンドウズを再起動し、ユーザーとパスワード(これは空欄でもよい)を設定すれば、パスワードの保存ができるようになります。

      注.上記設定を行って「パスワードの保存」をチェックしても、パスワードを要求されるときは、パスワードファイルが壊れている可能性があります。その場合、パスワードファイルを削除して再起動すると保存できるようになります。
       パスワードファイルは、ウィンドウズ・ディレクトリの拡張子がPWLのファイルになります。

      (13)FDに意味もなくアクセスしてガリガリと音を鳴らすのをやめるようにする。
       FDにアクセスもしていないのに、勝手にアクセスしてガリガリと音をさせる場合がよくあります。これは、「最近使ったファイル」の中に、FDのファイルがあるためです。したがって、これに対処するためには、「最近使ったファイル」をクリアすれば良いということになります。これは、スタートメニューから「設定」の「タスクバー」をクリックして、「メニューの設定」タブを開いて、「クリア」をクリックします。

      (14)MS-DOSプロンプトを起動させる場合、コマンド履歴を残すようにする。
       ウィンドウズのMS-DOSプロンプトのコマンド名はウィンドウズ(これはC:\WINDOWSにあると仮定します)のディレクトリにあるcommand.comとなりますが、これを実行させる場合に、次のようにオプションを指定します。
        C:\WINDOWS\COMMAND.COM /K DOSKEY

      (15)ハードディスクの交換
       ハードディスクをもっと容量の多いものに交換するという場合や調子が悪くなってきたので交換するという場合には、ハードディスクの交換が必要ということになります。この場合、元のファイルを復元する必要がありますが、OSを除いては、単に全ファイルをコピーすればよいのですが、OSのものはそれができません。ということで、そのドライブは、ドライブコピーにするしかないでしょう。もちろん、OSその他を再度インストールする方法もありますが、その手間はかなりのものになります。
       ドライブコピーをするソフトはOSには入っていないので、市販のソフト等を利用するということになります。私の場合、これとしてはNorton Ghostのものを購入しました。そこで、この手順を以下に書くことにします(ただいろいろと実験できなかったことより、無駄な手順があるかもしれませんが)。
      @新規のハードディスク(これはSCSIのものではなく、IDEのものとする)をスレイブに設定して(普通、マスターの設定になっています)、スレイブHDとしてパソコンに接続します。
       ただし、このことは新規のハードディスクをSecondaryのマスターとして接続する場合には必要ありません。
      AFDISKを起動して、新規のハードディスクのMS-DOS領域を作成します(この場合、ハードディスクの番号に注意して、元のディスクを初期化しないようにします)。このためには、まず最初に基本MS−DOS領域を作成します。起動ドライブ(ブートドライブ)の場合、この領域はアクティブにする必要があるのですが、これはまだ起動ドライブではないので、この設定はしません。もしハードディスクを複数のドライブに分けるという場合には、さらに次のことを行います。まず拡張MS−DOS領域を確保して、この領域内に論理MS−DOSドライブを作成します。上記の作業が終わったら、領域情報を表示して、領域作成が正しく行われたことを確認します。
      B領域を確保しても、フォーマットはされていないので、各領域をフォーマットします。これは、FORMATコマンドを使って行ないます。この場合、起動ドライブには、システムを転送して初期化する必要があります。つまり、次のようにします。

        FORMAT ドライブ文字: /S
      (FORMATコマンドをDOS窓から実行した場合、メモリが足りませんというメッセージがでるかもしれません。この場合には、起動用のFDから立ち上げて、FORMATコマンドを実行すればよいでしょう。このFDには、FDISK.EXEやFORMAT.COMをコピーしておくと便利です。さらには、JIS106キーボードが読めるように設定しておくと良いのですが、そうすると余計なドライバを読込むことになって、使用可能なメモリの不足を招くことにもなのであまりよくないかもしれません。なお、いくらメモリを多く積んであっても、もともとMS-DOSが利用できるのは1Mバイトの空間なのです。)
      それ以外の領域は、"/S"なしで実行します。
       フォーマットの際には、元のハードディスクのドライブをフォーマットしないように注意して下さい。
      C新規ハードディスクの各ドライブをSCANDISKを実行して、ハードディスクが正常であることを確認します。これは結構時間がかかるので、まずは起動ドライブのみにして、他のドライブは後でするという方がよいかもしれません。
      D起動ドライブのコピーを行ないます。Norton Ghostの場合、このコマンドはGhostpeとなるので、これを起動します。これは対話型となっているので、パラメータの指定は必要ありません。起動後は、パーティションコピーにしたがって、起動ドライブをコピーします。
      Eハードディスクのマスターとスレイブの設定を変更して、新規のハードディスクをマスター側にします。
       ただし、このことは新規のハードディスクをSecondaryのマスターとして接続した場合には、Primaryの方に接続するということになります。
      F起動用FDで立ち上げて、FDISKを起動して、新規のハードディスクの起動ドライブをアクティブにします。
      G元のハードディスクの残りのドライブについて、全ファイルのコピーを行ないます。もちろん、元のハードディスクをそのまま使用するという場合には、この必要はありません。しかし、ハードディスクの増設によって、ドライブ番号が変更することになるので、この必要が生じたりします。なお、ドライブ文字の順は、ハードディスク毎にはならないことに注意する必要があります。つまり、元の起動ハードディスクのCドライブがDドライブになり、間に割り込むことになります。これは、起動ドライブを優先しているということのようです。
       最後に、ハードディスクの交換をするという場合、各カードを外して行なう必要がある場合、再度各ドライバのインストールや設定が必要となるものがあるので注意して下さい。したがって、各インストール用のFDやCD-ROMがあることを確認してから行なう方がよいでしょう。

      (16)レジストリデータの修正
       アプリケーションの設定情報がレジストリに書き込まれるという場合がありますが、これをテキストデータとして書き出して修正するという場合には、以下のようにします。
      @regeditを起動して、レジストリメニューの「レジストリファイルの書き出し」でテキストファイルとして書き込みます。
      Aテキストエディタで設定内容を修正します。
      この場合、キーデータの追加を行った場合には、その数(16進数で指定)も修正する必要があります。
      例.
      [HKEY_USERS\.Default\Software\EPSON\EPSON TWAIN 5\ES0016\Tone Correction]
      "Number of Tone Correction"=dword:00000006
                          ↓
      "Number of Tone Correction"=dword:00000022
      Bregeditを起動して、レジストリメニューの「レジストリファイルの取り込み」でテキストファイルからレジストリデータを復元します。
      なお、このことは危険な作業でもあるので、Windowsをバックアップしてから行うことを御薦めします。
       このようなツールとしては、たとえば「プリーズ・カムバック」というツールがありますが、これはDOSで動作させるものなので、その知識が多少必要となります。
       これが面倒だという場合には、ドライブを丸ごとコピーして戻すという方法が簡単かもしれません。

      (17)ハードの取り外しに伴うドライバの再インストール作業を省く方法
       カードを取り外してハードディスクの交換をする必要がある場合等には、カードの取り外しに伴うドライバの再インストールが要求されます。
      これは結構、面倒であったりするので、なんとか回避したいものです。
       これを回避する方法として、以下のことが有効であることが分かりました。
      @Windowsを別ドライブにコピーします。(この場合、仮想メモリを使用しないという設定にしておきます。)
      A別ドライブにコピーしたものを元のドライブに別名でコピーします。(これはWinAとします。)
      BWindowsを終了させます。C起動FDで立ち上げて、WindowsをWinB、WinAをWindowsに変えます。
      DFDを取り外して、Windowsを立ち上げます。
      Eハードを検出して、ドライバのインストールが要求されますが、全て「インストールしない」を選択します。
      FWindowsを終了させます。
      G起動FDで立ち上げて、WindowsをWinA、WinBをWindowsに変えます。
      HFDを取り外して、Windowsを立ち上げます。(これで元に戻る筈です。)
      IWinA以下を削除します。(別に残しておいても良いですが。)

      注.上記作業の意味が分からない場合には、危険ですので実行しないで下さい。

    • Windows98の環境設定について
      (1)Windowの最小化ボタン、最大化ボタンまたは閉じるボタンにカーソルを合わせた時、ポップアップ表示しないようにする。
      @Window98のDiskより、"Tweak UI"をインストールする。これは以下のようにします。
        \tool\reskit\powertoyフォルダの"tweakui.inf"を右クリックして[インストール]を実行する。
      Aコントロールパネルより、"Twaek UI"を実行して、[General]タブの[Mouse hot tracking effects]のチェックをoffにする。
       他にも、"Tweak UI"によりWindowsの表示の仕方などについてカスタマイズができます。

    • WindowsMeの環境設定について
      (1)Windows95/98/Meにおけるメモリ搭載容量制限の解除
       Windows95/98/Meにおいては搭載できるメモリ容量は、512MBもしくは768MBまでとなっています。このため、もしそれを超えてメモリを搭載した場合、Windowsが立ち上がらないという現象が起きたりするようです。
       この容量制限を解除するには、まず増設したメモリを外してから、Windowsを立ち上げて、system.iniファイルの[386Enh]セクションに 
        MaxPhysPage=30000
      という行を追加します。ただし、これでも944MBまでしか使えないようです。

    • Windows関連の書籍について
      (1)Windowsの開発秘話については、次の本がお薦めです。
       "ビル・ゲイツの罪と罰"
        マーリン・エラー+ジェニファー・エズトロム著 三浦明美訳 (株)アスキー社出版
      (2)Windowsプログラム作成の参考書籍としては、次の本がお薦めです。
       "VisualC++逆引き大全 500の極意"
        住吉乱著 (株)秀和システム出版