現在地

ソフトウェア

パーソナルなコンピュータのメモリ事情 (第8回: 80386以降)

日本ではPC-9801RAから(PCではPS/2の一部から)搭載された80386になるとCPUのメモリ空間は4GBとなり、しばらくこの4GBの時代が続くことになります。
しかし当時本当にありがたかったのはメモリ空間が増えたことより、仮想86モードが使えるようになったことでしょう。プロテクトモードにいながら8086互換の環境を提供できるようになり、ソフトウェアのみでメモリの再配置が可能になりました。

これにより1MB超にあるメモリの好きな部分を1MB内の好きなエリアに割り当てることができます。これはコピー操作を伴わないので時間はかかりませんし、同じメモリを複数個所にマップしても矛盾は生じません。

  1. ソフトウェアのみでバンクメモリをエミュレーション
  2. ソフトウェアのみでEMSをエミュレーション
  3. 拡張ROMエリアなどメモリ未実装のエリアにメモリを割り当てる

といったことが可能です。1,2ができるので増設メモリはプロテクトメモリ用のみですべての機能が実現できるようになるのでメモリボード選択の悩みもなくなります。3はメモリ管理チェーンに組み込むことでドライバや常駐プログラムのエリアとして使うことができます。

パーソナルなコンピュータのメモリ事情 (第7回: 80286期)

80286が使われるようになるとCPUのメモリ空間は16MBありますのでメモリ問題は解決(一時的なものなので先送りと言った方が良いかもしれません)したかと思いきや、そう簡単ではありませんでした。

80286にはリアルモードとプロテクトモードという2つの動作モードがあります。リアルモードでは8086のソフトウェアがそのまま動作しますが、メモリ空間は1MB (実は「+α」があり、後で出てきます)のままです。リセット後は自動的にリアルモードになるので特別なことはせずに高速な8086として使用できます。一方プロテクトモードでは16MBのメモリ空間が使えますが、ソフトウェアの変更が必要になり、OSもMS-DOSは使えず専用のもの(OS/2など)が必要になります。

ここで皆がOS/2へ移行していれば良かったのですが、DOS互換機能に難(後に80386で解決)があったこともあり多くの人が移行せずDOSを使い続けたためメモリ問題に悩まされ続けることになります。
MS-DOS環境で大きなメモリを使う工夫は8086時代の延長ですが、新たなものも加わりました。

パーソナルなコンピュータのメモリ事情 (第6回: 8086後期)

8086/8088に移行して1MBというメモリ空間を手に入れましたが、すぐに不足をきたすようになります。

PC-9801の発売から4年後のPC-9801VM21で標準搭載のメインメモリは640kBとなり、拡張は限界に達しました。同じ頃、メモリ空間が16MBの80286搭載の上位機種も発売されていますが、8086やV30(NEC製の8086改良版でメモリ空間は1MBのまま)の機種もラインナップとして残りました。また従来機を640kBにまで拡張して使い続けるユーザも多くいました。
これらの機種でも大容量のメモリを使いたいということでいくつかの方式が考えられました。

私のエディタ遍歴

カテゴリー:

先日のVzエディタの記事で予告したとおり、過去に使っていたエディタについて書いて見ます。

ここで言う「エディタ」は勿論テキストファイル編集用のソフトウェアのことですよ。
  1. BASICのエディタ
    最初はN-BASICのエディタでした。あくまでもBASICプログラム入力用のものですが、他の用途に使用したこともありました。
    一つはTL/1のソースコードです。PC-8001用のTL/1コンパイラはBASICのREM(コメント)としてソースコードを入力します。
    もう一つはMC68000のクロスアセンブラのソースです。これはREMではなく文字列として下記のように入力します。
    10 "entry:
    20 " mov d0,#$3400
    30 " rts
        

    BASICのプログラムとしては文法エラーですが、そのまま(中間コードに変換されたりせず)保存されるのでアセンブラはそれを読み取って処理するという寸法です。

Vzエディタ

テーマ:

カテゴリー:

一時期愛用していたVzエディタのマニュアルを発見しました。

Vzエディタ 表紙
日本では一世を風靡したMS-DOSのエディタです。あの頃はエディタといえばこのVzかMIFESかと言われていました。

私の周りでは高校時代の友人にはVz派が多く、大学時代以降に知り合った人にはMIFES派が多かった印象ですね。私自身は安さに引かれてVzを使い、特に不満も無かったのでそのままになりました。なのでMIFESについてはよくわからないので優劣等については書けません。

さてこのVzですが、いろいろと特徴のあるエディタでした。

Motorola MC6800

テーマ:

このMotorola MC6800はIntelの8080とともに最初期の8ビットマイクロプロセッサです。

MC68A00P
MC68A00P、「A」ですから1.5MHz品で末尾の「P」はプラスチックパッケージです。1979年製でしょうか。

後にクロックジェネレータと128バイトRAMを内蔵したMC6802が作られたことは「Motorola MC6802」に書きました。

X60のHDD換装完了

テーマ:

カテゴリー:

やりかけになっていたX60のHDD換装ですが、なんとか完了しました。

まずエラーが出ていた/dev/sd0g (実際にエラーになっていたのは読み出し側の/dev/wd0gです)ですが、前回書いたようにエラーを無視しつつベタコピーしてみました。ブロックサイズ512バイトでしかもリトライがかかるのでほぼ1日がかりです。ところがfsckかけると大量の不整合が報告されます。面倒なので「-y」オプションで全部修正させたところ、なんと全てが「lost+found」に入ってしまいました。WindowsでいうところのFOUND.000, FOUND.001, ...になってしまったということです。

しょうがないのでファイル単位でコピーすることにします。今度はファイルを選べるので大事なものに絞りました。

/dev/sd0hは幸いエラーが出ることも無くコピーできました。こちらは予定通りファイル単位コピーです。

コピー作業に2日ほどかかり、その間エラーのあるHDDもアクセスしっぱなしの状況だったのですが、特に悪化することも無く動いてくれて助かりました。

ThinkPad X60用にHDDを買ってきました

テーマ:

カテゴリー:

ThinkPad X60のHDDの調子がおかしいので交換用にHDDを買ってきました。

MQ01ABD100
これが買ってきた東芝のMQ01ABD100です。これまでのものは500GBだったのですが、500GBと1TBで値段があまり違わなかったので1TBに増量です。2つあるのはちょっと別の予定があるから(先日の超小型PCではありません)です。

EPSONの超小型PC (インストール編 その2)

テーマ:

カテゴリー:

前回、どうやらキーボードが起動の邪魔をしているということだったのでキーボードを外して試してみます。

すると今回は/etc/rcまでたどり着きました。先頭のパーティション(/dev/wd0a)は問題無さそうです。ところが2つ目の/dev/wd0eの整合性チェック(fsck)が失敗しています。それもスーパーブロック(管理領域)が読めないという致命的なエラーです。少々のエラーなら修復してくれるのですが、これはどうにもなりません。しかもキーボードを接続していないので何もできません。

もしかして起動後に挿せばキーボードが使えるかも、と淡い期待をしつつ挿したところkernel panicで止まってしまいました。

仕方が無いのでまたHDDを外してX60に接続して内容を確認しました。

すると/dev/sd0aは正常だったものの、/dev/sd0e~/dev/sd0gは全てエラーとなってしまいました。

EPSONの超小型PC (インストール編 その1)

テーマ:

カテゴリー:

中を一通り見たところでインストール開始したのですが、実はまだ完了していません。

前回書いたようにSO-DIMMは手持ちの4GBに交換し、HDDはそのまま320GBのものを使用することにします。キーボードはちょうど手元にあったHappy Hacking Keyboard ProfessionalをUSB接続して、ディスプレイはVGA (アナログ)での接続です。

インストール方法はUSBでCD-ROM/DVD-ROMを繋いで行なうのが一般的ですが、その後の環境構築まで考えると結構面倒です。幸いNetBSDを使用中の環境があるのでそのクローンを作ることにしました。
候補となる環境は一つはこのサイトを運用しているPC、もう一つはLenovo ThinkPad X60です。どちらからでもできないことはありませんが、構成の近い後者を採用することにします。

ページ