Linux kernel RELNOTES-0.95
今回は RELNOTES-0.95 を和訳してみました。linux-0.12 が比較的安定していた事もあって、linux-0.95 と一気バージョン番号が上がりました。RELNOTES-0.95 もセクション分けされていませんので、一定の区切り毎に引用元の英文と和訳を載せて、私のコメントを付加します。
linux-0.95 の RELNOTES の一番の変更箇所は GNU copyleft の適用です。それ以外にも新機能の追加も幾つかあり、次第に unix like OS としての形が整ってきたバージョンです。RELNOTES-0.12 と重複する箇所もありますが、原文・和訳共にそのまま載せています。
前回 の RELNOTE-0.12 の和訳へのリンクです。
使用したサービス
RELNOTES-0.12 の時と同様に、以下のサービスを使用して和訳しました。
Shaper : 英文の改行・空白を除去する
DeepL 翻訳 : 高精度な翻訳ツール
Google 翻訳 : Google の翻訳サイト
手順も変更ありません。
- 段落毎に Shaper で空白を除去
- 主に DeepL 翻訳、副に Google 翻訳を使用
- 元の英文と比較して内容を確認
- 最終的に括弧等の記号の全角 -> 半角、用語の統一、レイアウトなどを調整
という手順です。
Linux kernel RELNOTES-0.95 和訳
原文は下記のリンク先にあります。
NetNews に投稿したと思われる内容も含まれますが、RELNOTES-0.95 の部分のみの和訳です。この文章でも、RELNOTES-0.12 に引き続き INSTALL-0.11 を参照するように書かれています。
メールアドレスは、現在も使われているか分かりませんので、ドメインを domainname に変更しました。
RELEASE NOTES FOR LINUX v0.95
Linus Torvalds, March 7, 1992
This is file mostly contains info on changed features of Linux, and
using old versions as a help-reference might be a good idea.
LINUX v0.95 のリリースノート
Linus Torvalds, March 7, 1992
このファイルには Linux の変更された機能に関する情報がほとんど含まれており、古いバージョンをヘルプ・リファレンスとして使うのは良いアイデアかもしれません。
公開日付が復活しました 🙂 linux-0.95 は 1992年3月7日に公開されました。古いバージョンとの比較です。
Ver. | 0.01 | 0.02 | 0.10 | 0.11 | 0.12 | 0.95 |
release date | 1991/9/17 | 1991/10/5 | 1991/11/4 | 1991/12/8 | 1992/01/05 | 1992/3/7 |
compressed kernel size (gz) | 73 kB | losted | 95 kB | 96 kB | 130 kB | 141 kB |
kernel sources size | 285 kB | losted | 376 kB | 381 kB | 508 kB | 559 kB |
number of files | 88 | losted | 102 | 100 | 116 | 122 |
linux-0.95 は、linux-0.12 に対して source size が 1.1倍に増加しています。
$ ls -l linux*gz
-rw-r--r-- 1 hiro hiro 141080 Mar 8 1992 linux-0.95.tar.gz
$ du -sb linux
559166 linux
$ find linux -type f | wc -l
122
$ tree -d linux
linux
├── boot
├── fs
│ └── minix
├── include
│ ├── asm
│ ├── linux
│ └── sys
├── init
├── kernel
│ ├── blk_drv
│ ├── chr_drv
│ └── math
├── lib
├── mm
└── tools
16 directories
$ head -n 3 linux/kernel/Makefile
#
# Makefile for the linux kernel.
#
linux-0.95 から kernel/Makefile のコメントが 'linux kernel' になりました 😉
COPYRIGHT
Linux-0.95 is NOT public domain software, but is copyrighted by me. The
copyright conditions are the same as those imposed by the GNU copyleft:
get a copy of the GNU copyleft at any major ftp-site (if it carries
linux, it probably carries a lot of GNU software anyway, and they all
contain the copyright).
The copyleft is pretty detailed, but it mostly just means that you may
freely copy linux for your own use, and redistribute all/parts of it, as
long as you make source available (not necessarily in the same
distribution, but you make it clear how people can get it for nothing
more than copying costs). Any changes you make that you distribute will
also automatically fall under the GNU copyleft.
NOTE! The linux unistd library-functions (the low-level interface to
linux: system calls etc) are excempt from the copyright - you may use
them as you wish, and using those in your binary files won't mean that
your files are automatically under the GNU copyleft. This concerns
/only/ the unistd-library and those (few) other library functions I have
written: most of the rest of the library has it's own copyrights (or is
public domain). See the library sources for details of those.
著作権
Linux-0.95 はパブリックドメインソフトウェアではありません。著作権の条件は、GNU copyleft の課す条件と同じです : 主要な ftp サイトで GNU copyleft のコピーを入手してください (linux を扱っていれば、おそらく多くの GNU ソフトウェアを扱っているでしょうし、それらはすべて著作権を含んでいます)。
copyleft はかなり詳細ですが、その内容は、ソースを利用可能にする限りにおいて、あなた自身の使用のために linux を自由にコピーし、そのすべて/一部を再配布してもよい、ということを意味しています (同じ配布物である必要はありませんが、コピーにかかる費用以上の負担なしに人々がそれを入手できる方法を明確にする必要があります)。改変したファイルを配布する場合も、自動的に GNU copyleft に従うことになります。
注意! linux の unistd ライブラリ関数 (linux の低レベルインターフェース : システムコールなど) は著作権の対象外であり、望むように使用することができますし、バイナリファイルにそれらを使用しても、ファイルが自動的にGNU copyleft の下に置かれるわけではありません。これは、unistd-library と私が書いた他の (少数の) ライブラリ関数のみに関するものです : ライブラリの残りの大部分には独自の著作権があります (またはパブリックドメインです)。その詳細については、ライブラリのソースを参照してください。
著作権表示が変更されて GNU copyleft になりました。
GNU General Public License v2 が COPYING ファイルとして添付されたのは 1992年9月29日に公開された linux-0.98 からです。README 等の各種文書が kernrel source に含まれるようになったのも linux-0.98 から。
linux-0.95 の時点では Linus Torvalds 氏を中心とした開発体制が未だ整っておらず、linux-0.98 の頃から整備されたのかもしれません。
INSTALLATION
This is a SHORT install-note. The installation is very similar to 0.11
and 0.12, so you should read INSTALL-0.11 too. There are a couple of
programs you will need to install linux: something that writes disk
images (rawrite.exe or NU or...) and something that can create harddisk
partitions (fdisk under xenix or older versions of dos, edpart.exe or
something like that).
NOTE! Repartitioning your harddisk will destroy all data on it (well,
not exactly, but if you know enough to get back the data you probably
didn't need this warning). So be careful.
READ THIS THROUGH, THEN READ INSTALL-0.11, AND IF YOU ARE SURE YOU KNOW
WHAT YOU ARE DOING, CONTINUE. OTHERWISE, PANIC. OR WRITE ME FOR
EXPLANATIONS. OR DO ANYTHING BUT INSTALL LINUX - IT'S VERY SIMPLE, BUT
IF YOU DON'T KNOW WHAT YOU ARE DOING YOU'LL PROBABLY BE SORRY. I'D
RATHER ANSWER A FEW UNNECESSARY MAILS THAN GET MAIL SAYING "YOU KILLED
MY HARDDISK, BASTARD. I'M GOING TO FIND YOU, AND YOU'LL BE SORRY WHEN I
DO".
Minumum files needed:
RELNOTES-0.95 (this file)
INSTALL-0.11 (+ any other docs you might find: the FAQ etc)
bootimage-0.96.Z
rootimage-0.95.Z
rootimage-0.12.Z (for tar+compress)
rawrite.exe
some disk partitioner
インストール
これは短いインストールノートです。インストールは 0.11 や 0.12 と非常に似ているので、INSTALL-0.11 も読んでください。ディスクイメージを書き込むプログラム (rawrite.exe や NU など) と、ハードディスクのパーティションを作成するプログラム (xenix や古いバージョンの dos では fdisk、それ以外では edpart.exe など) です。
注意! ハードディスクのパーティションを切り直すと、ハードディスク上のデータはすべて失われます (正確には違いますが、データを取り戻すのに十分な知識があれば、この警告は必要なかったでしょう)。注意してください。
この文章をよく読んでから、INSTALL-0.11 を読み、自分が何をしようとしているのか理解できているのであれば、続けてください。そうでなければ、パニックになります。あるいは私に説明を求めてください。Linux をインストールすること以外はとても簡単ですが、何をやっているのかわからなければ、おそらく後悔することになるでしょう。"俺のハードディスクを壊したな、この野郎。見つけてやるから、その時は後悔することになるぞ" なんてメールをもらうよりはマシです。
最低限必要なファイル :
RELNOTES-0.95 (this file)
INSTALL-0.11 (+ any other docs you might find: the FAQ etc)
bootimage-0.96.Z
rootimage-0.95.Z
rootimage-0.12.Z (for tar+compress)
rawrite.exe
some disk partitioner
RELNOTES-0.12 から引き続いて、INSTALL-0.11 を参照下さいと書かれています。RELNOTES-0.12 から変更のない部分も多いです。
INSTALL-0.11 までは Minix が頻繁に出ていましたが、RELNOTES-0.12 から XENIX が代わりに出てくるようになりました。その理由は、1992年1月29日から始まった "Linux is obsolete" (Linuxは時代遅れだ) という NetNews 上の論争が無関係ではないでしょう。
XENIX は、マイクロソフトが AT&T からライセンスを受けて開発した UNIX の一種です。1980年に発表され、PC/XT、x86、PDP-11、Z8001、68k などのマイクロコンピュータ向けに移植されました。マイクロソフトは1984年に権利を SCO に移し、その後は SCO UNIX として開発されました。XENIX は 1980年代には最も普及した UNIX のバリアントでした。
linux-0.95 なのに rootimage-0.12.Z が必要な理由は後半に書かれています。bootimage-0.96.Z は typo でしょうね 🙂
1) back up everything you have on your harddisk - linux-0.95 is still in
beta and might do weird things. The only thing I guarantee is that
it has worked fine on /my/ machine - for all I know it might eat your
harddisk and spit it out in small pieces on any other hardware.
2) Test out the linux boot-disk with the root file system. If it
doesn't work, check the hardware requirements, and mail me if you
still think it should work. I might not be able to help you, but
your bug-report would still be appreciated.
Linux-0.95 now has an init/login: there should be 4 logins started on
the first 4 virtual consoles. Log in as root (no password), and test
it out. Change to the other logins by pressing left-alt + FN[1-4].
Note that booting up with a floppy as root is S..L..O..W.. - the
floppy driver has been optimized for sequential access (backups etc),
and trashes somewhat with demand-loading.
Test that linux can read your harddisk at least partly: run the fdisk
program on the root-disk, and see if it barfs. If it tells you about
any partitions at all, linux can successfully read at least part of
your harddisk.
NOTE! Harddisk device names and numbers have changed between versions
0.12 and 0.95: the new numbering system was needed for the extended
partitions, and a new naming scheme was in order so that people
wouldn't cunfuse the old devices with the new ones.
The new harddisk device names are: /dev/hd followed by an 'a' for the
first drive, or a 'b' for the second one. After that comes the
partition number, 1-4 for the primary partitions, 5- for possible
extended partitions. No number means the complete disk. Like this:
/dev/hda the whole first harddisk (old: /dev/hd0)
/dev/hdb3 partition nr 3 on the second disk (old: /dev/hd8)
1) linux-0.95 はまだベータ版で、怪しい動作をするかもしれません。私が保証するのは、/my/ マシンで問題なく動作しているということのみで、他のハードウェアでは、ハードディスクを食い荒らして細切れに吐き出すかも知れません。
2) ルートファイルシステムで Linux ブートディスクをテストしてください。もしうまくいかなかったら、ハードウェアの必要条件をチェックして、それでもうまくいくはずだと思うなら、私にメールをください。お役に立てないかもしれませんが、バグ報告をしていただけると助かります。
Linux-0.95 には init/login があります : 4つのログインが最初の4つのバーチャルコンソールで起動します。root (パスワードなし) でログインし、テストしてください。左 Alt + FN[1-4] で他のログインに変更できます。ルートとしてフロッピーから起動するのはS..L..O..W...であることに注意してください。フロッピードライバーはシーケンシャルアクセス用に最適化されており (バックアップなど)、デマンドロードでは若干ゴミになります。
linux がハードディスクを少なくとも部分的に読み込めるかテストしてください。ルートディスクで fdisk プログラムを実行し、barfs するかどうか確認してください。もしパーティションがあれば、linuxはハードディスクの少なくとも一部を読むことができます。
ハードディスクのデバイス名と番号は、バージョン 0.12 と 0.95 の間で変更されました : 新しい番号システムは拡張パーティションのために必要であり、新しい命名法は人々が古いデバイスと新しいデバイスを混同しないようにするためでした。
新しいハードディスクのデバイス名 : /dev/hd の後に、最初のドライブには 'a'、2番目のドライブには 'b' をつけます。プライマリ・パーティションは 1-4、拡張パーティションは 5 です。番号がない場合は、ハードディスク全体を意味します。この例です :
/dev/hda 最初のハードディスク全体 (old: /dev/hd0)
/dev/hdb3 2番目のディスクの3番目のパーティション (old: /dev/hd8)
2) の2番目の段落が追加になりました。init / login があり、複数 (4つ) の仮想端末が使用可能です。左 Alt + F1 ~ F4 で切り替えられます。
ハードディスクのデバイス名称が変更になりました。linux-0.95 の表記は現在でも馴染み深いです (hd -> sd に変わりました)。この頃は GPT は影も形もなく、全て MBR 方式です。
MBR とは Master Boot Record の略称で、ハードディスクの最も先頭にあるセクターのことです。このセクターには、コンピュータの起動に必要なプログラムや情報が記録されています。MBR は BIOS によって制御する方式の PC/AT 互換機で用いられる古い規格です。MBR のサイズは 512 バイトで、先頭から 446 バイトは OS 読み込み用のブートローダ、続く 64 バイトはパーティションテーブル、末尾の 2 バイトはブートシグネチャと呼ばれる MBR の有効性を示す値が記録されています。MBR のパーティションテーブルには最大で 4 つまでのパーティションの情報を記録することができますが、それ以上のパーティションを作成したい場合は拡張パーティションとロジカルパーティションを利用する必要があります。また、MBR の最大容量は 2 TB までという制限があります。
GPTとは、GUIDパーティションテーブルの略で、ハードディスクのパーティション形式の一種です。GPTは、MBRという古いパーティション形式の代替として開発されました。MBRは、2TB以上の容量のハードディスクをサポートできなかったり、プライマリパーティションを4つまでしか作成できなかったりするという制限がありました。GPTは、これらの制限を解消し、以下のような特徴や長所を持っています 。
- 巨大なディスクストレージをサポートします。3TBから8EBまでの容量のハードディスクを利用できます。
- WindowsとmacOSの両方で動作に対応します。UEFIという新しいファームウェアインタフェースを使用して、ハードディスクにアクセスします。
- プライマリパーティションを最大128個まで作成できます。拡張パーティションやロジカルパーティションという概念がありません。
- CRC値で破損を検知し、破損したデータを自動で回収することでデータを保護します。また、ディスクの先頭と末尾にバックアップ情報を保存しています。
BIOS -> UEFI への移り変わりと並行して、MBR -> GPT への移行が進みました。パーティションの操作も今は fdisk ではなく gdisk コマンドを使用します。
3) Make sure that you have a free /primary/ partition. There can be 4
primary partitions per drive: newer DOS fdisks seem to be able to
create only 2 (one primary and one extended). In that case use some
other partitioning software: edpart.exe etc. Linux fdisk currently
only tells you the partition info - it doesn't write to the disk.
Remember to check how big your partition was, as that can be used to
tell which device Linux thinks it is.
NOTE! Linux-0.95 /might/ recognize extended partitions: but the code
for this is utterly untested, as I don't have any of those. Do NOT
use the extended partitions unless you can verify that they are
indeed correctly set up - if my routines are wrong, writing to the
extended partitions might just overwrite some other partition
instead. Not nice.
4) Boot up linux again, fdisk to make sure you now have the new
partition, and use mkfs to make a filesystem on one of the partitions
fdisk reports. Write "mkfs -c /dev/hdX nnn" where X is the device
number reported by linux fdisk, and nnn is the size - also reported
by fdisk. nnn is the size in /blocks/, ie kilobytes. You should be
able to use the size info to determine which partition is represented
by which device name.
5) Mount the new disk partition: "mount /dev/hdX /mnt". Copy over the
root filesystem to the harddisk, eg like this:
# for i in bin dev etc usr tmp
# do
# cp +recursive /$i /mnt
# done
You caanot use just "cp +recursive / /mnt", as that will result in a
loop.
3) /primary/ パーティションが空いていることを確認してください。ドライブごとに4つのプライマリパーティションを作成できます。新しい DOS fdisk では2つ (プライマリと拡張) しか作成できないようです。その場合は、edpart.exe などのパーティション分割ソフトを使ってください。Linux の fdisk は今のところパーティション情報を教えてくれるだけで、ディスクには書き込めません。
パーティションの大きさを確認するのを忘れないこと。Linuxがどのデバイスだと認識しているかがわかるからです。
注意! Linux-0.95 は拡張パーティションを認識するかもしれません : しかし、私は拡張パーティションを使っていないので、このコードはまったくテストされていません。拡張パーティションは、それが本当に正しくセットアップされていることを確認できない限り、使わないでください。もし私のルーチンが間違っていたら、拡張パーティションに書き込んでも、他のパーティションを上書きしてしまうかもしれません。それは困ります。
4) linuxをもう一度起動し、fdisk で新しいパーティションがあることを確認し、mkfs を使って fdisk が報告したパーティションのひとつにファイルシステムを作成します。"mkfs -c /dev/hdX nnn" と書いてください。X は linux の fdisk が報告したデバイス番号で、nnnは同じく fdisk が報告した /block/ のサイズ、つまり kB です。サイズ情報を使って、どのパーティションがどのデバイス名で表されているかを判断できるはずです。
5) 新しいディスクパーティションをマウントします : "mount /dev/hdX /mnt"。ルートファイルシステムをハードディスクにコピーします :
# for i in bin dev etc usr tmp
# do
# cp +recursive /$i /mnt
# done
"cp +recursive / /mnt" だけでは、ループになるので使えません。
3) の3番目の段落が追加になりました。拡張パーティションへの対応が不十分だと分かります。(でも他のパーティションを上書きするかも、とはちょっと怖いですね)
分かりにくい・区別しにくいと不評だったのか、mount point が '/user' から '/mnt' に変更になっています。確かに '/user' と '/usr' は似ているので間違えやすいです。
それ以外の部分は RELNOTES-0.12 と変更有りません。
6) Sync the filesystem after you have played around enough, and reboot.
# sync
# lo
(none) login: sync
<wait for it to sync>
ctrl-alt-del
THIS IS IMPORTANT! NEVER EVER FORGET TO SYNC BEFORE KILLING THE MACHINE.
7) Change the bootdisk to understand which partition it should use as a
root filesystem. See INSTALL-0.11: it's still the word at offset
508 into the image. You should be up and running.
8) When you've successfully started up with your harddisk as root, you
can mount the older rootimage (rootimage-0.12) from a floppy, and
copy over any files you find there that weren't on the newer
root-image.
Mounting a floppy is easy: make the directory /floppy, and write:
# mount /dev/PS0 /floppy (if you have a 3.5" drive)
or
# mount /dev/at0 /floppy (for 5.25" floppies)
After that the files can be copied to your harddisk, eg:
# cp /floppy/usr/bin/compress /usr/bin
# ln -s /usr/bin/compress /usr/bin/compress
# cp /floppy/usr/bin/tar.Z /usr/bin
# uncompress /usr/bin/tar.Z
That's it. Now go back and read the INSTALL-0.11, until you are sure you
know what you are doing.
6) 十分に遊んだらファイルシステムを sync して再起動します。
# sync
# lo
(none) login: sync
<wait for it to sync>
ctrl-alt-del
これは重要なことです ! マシンを停止させる前に sync することを絶対に忘れないでください。
7) ブートディスクがどのパーティションをルートファイルシステムとして使うかを理解できるように変更します。 INSTALL-0.11 を参照してください : イメージのオフセット508にある word の部分です。 これで起動できるはずです。
8) ハードディスクをルートとして起動することに成功したら、古いルートイメージ (rootimage-0.12) をフロッピーからマウントし、新しいルートイメージになかったファイルをコピーします。
フロッピーのマウントは簡単です : /floppy というディレクトリを作って、次のように書きます :
# mount /dev/PS0 /floppy (if you have a 3.5" drive)
or
# mount /dev/at0 /floppy (for 5.25" floppies)
その後、ファイルをハードディスクにコピーすることができます、例えば :
# cp /floppy/usr/bin/compress /usr/bin
# ln -s /usr/bin/compress /usr/bin/compress
# cp /floppy/usr/bin/tar.Z /usr/bin
# uncompress /usr/bin/tar.Z
これで完了です。もう一度、INSTALL-0.11を読んで、自分が何をやっているのか理解できるようになりましょう。
sync 3回の重要性の記載は無くなりました 😉
フロッピーディスクを使用して、rootimage-0.12 から compress、tar をコピーして、圧縮ファイルを展開する方法が書かれています。昔はこうやって容量の少ないフロッピーディスを上手く使用していたのでしょう。
New features of 0.95, in order of appearance
(ie in the order you see them)
Init/login
Yeah, thanks to poe (Peter Orbaeck (sp?)), linux now boots up like a
real unix with a login-prompt. Login as root (no passwd), and change
your /etc/passwd to your hearts delight (and add other logins in
/etc/inittab etc).
Bash is even bigger
It's really a bummer to boot up from floppies: bash takes a long time to
load. Bash is also now so big that I couldn't fit compress and tar onto
the root-floppy: You'll probably want the old rootimage-0.12 just in
order to get tar+compress onto your harddisk. If anybody has pointers
to a simple shell that is freely distributable, it might be a good idea
to use that for the root-diskette.
Especially with a small buffer-cache, things aren't fun. Don't worry:
linux runs much better on a harddisk.
Virtual consoles on any (?) hardware.
You can select one of several consoles by pressing the left alt-key and
a function key at the same time. Linux should report the number of
virtual consoles available upon bootup. /dev/tty0 is now "the current"
screen, /dev/tty1 is the main console, and /dev/tty2-8 can exist
depending on your text-mode or card.
The virtual consoles also have some new screen-handling commands: they
confirm better to vt200 control codes. Special graphic characters, and
the PF1-4 keys work somewhat in the application-key mode.
Symbolic links.
0.95 now allows symlinks to point to other symlinks etc (the maximum
depth is a rather arbitrary 5 links). 0.12 didn't like more than one
level of indirection.
0.95 の新機能、登場順
(あなたが見る順番で)
Init/login
やったー、poe (Peter Orbaeck (sp?))のおかげで、linux は本物の unix のようにログイン画面が表示されるようになりました。root (passwdなし) でログインし、/etc/passwd を好きなように変更しましょう (そして /etc/inittab などで他のログインを追加しましょう)。
Bash はさらに大きくなりました
フロッピーから起動するのは本当に不便です : bash のロードに時間がかかります。Bash も大きくなったので、compress と tar を root-floppy に入れられなくなりました : tar+compress をハードディスクに入れるためには、古い rootimage-0.12 が必要でしょう。自由に配布できるシンプルなシェルのポインタを知っている人がいたら、それをルートディスクに使うのはいい考えかもしれません。
特にバッファキャッシュが小さいと、楽しくありません。ご心配なく : linux はハードディスク上ではもっとよく動きます。
あらゆる (?) ハードウェア上のバーチャルコンソール
左 Alt キーとファンクションキーを同時に押すことで、複数のコンソールの中から 1 つを選択できます。Linuxは、起動時に利用可能な仮想コンソールの数を報告するはずです。/dev/tty0 は "現在の" 画面、/dev/tty1 はメインコンソール、/dev/tty2~8 はテキストモードやカードによって存在します。
バーチャルコンソールはまた、いくつかの新しい画面操作コマンドを備えています : それらは vt200 のコントロールコードをよりよく再現します。特殊なグラフィック文字や PF1-4 キーは、アプリケーションキーモードで多少機能します。
シンボリックリンク
0.95 では、シンボリックリンクが他のシンボリックリンクなどを指すことができるようになりました (最大深さは任意で5リンクです)。0.12 では、1段階以上のリンクを指定することができませんでした。
linux-0.95 の新機能の紹介 (前半) です。
- init / login が追加されて、/etc/inittab で login が管理できるようになりました。/etc/passwd も使えたのですね。
- bash のバイナリが巨大になり過ぎてフロッピーに他のバイナリが入れられなくなりました。tar や compress は古い rootimage-0.12 から導入するように変更になっています。bash ではなく、もっと軽量な shell への移行も考えていたようです。
- 仮想コンソールは複数 (標準4つ、カードにより最大8つ) を使えます。また vt200 のコントロールコードを再現できるようになりました。
- 多段のシンボリックリンクが使えるようになりました。
vt200 も、vt100 と同様の画面制御用のエスケープシーケンスの種類です。何方もディジタル・イクイップメント・コーポレーション (DEC) が開発製造したビデオ表示端末を元にしており、テキストやカーソルの移動や属性の変更などの基本的な機能に加えて、画面モードや文字セットやキーボードの設定などの拡張的な機能も提供します。vt200 では、vt100 よりも多くの制御シーケンスが追加されました。
ANSI エスケープコードと呼ばれて、現在でもターミナル画面の文字の反転や色付けに使用されています。
Virtual memory.
VM under 0.95 should be better than under 0.12: no more lockups (as far
as I have seen), and you can now swap to the filesystem as well as to a
special partition. There are two programs to handle this: mkswap to set
up a swap-file/partition and swapon to start up swapping.
mkswap needs either a partition or a file that already exists to make a
swap-area. To make a swap-file, do this:
# dd bs=1024 count=NN if=/dev/hda of=swapfile
# mkswap swapfile NN
The first command just makes a file that is NN blocks long (initializing
it from /dev/hda, but that could be anything). The second command then
writes the necessary setup-info into the file. To start swapping, write
# swapon swapfile
NOTE! 'dd' isn't on the rootdisk: you have to install some things onto
the harddisk before you can get up and running.
NOTE2! When linux runs totally out of virtual memory, things slow down
dramatically. It tries to keep on running as long as it can, but at
least it shouldn't lock up any more. ^C should work, although you might
have to wait a while for it..
Faster floppies
Ok, you don't notice this much when booting up from a floppy: bash has
grown, so it takes longer to load, and the optimizations work mostly
with sequential accesses. When you start un-taring floppies to get the
programs onto your harddisk, you'll notice that it's much faster now.
That should be about the only use for floppies under a unix: nobody in
their right mind uses floppies as filesystems.
Better FS-independence
Hopefully you'll never even notice this, but the filesystem has been
partly rewritten to make it less minix-fs-specific. I haven't
implemented all the VFS-patches I got, so it's still not ready, but it's
getting there, slowly.
And that's it, I think.
Happy hacking.
Linus (torvalds@domainname)
仮想メモリ
0.95の VM は 0.12 の VM より良くなっているはずです : (私が見た限りでは) ロックアップもなくなりましたし、ファイルシステムだけでなく特別なパーティションにもスワップできるようになりました。2 つのプログラムがあります : スワップファイル/パーティションを作成する mkswap と、スワップを開始する swapon です。
mkswap がスワップ領域を作るには、パーティションかすでに存在するファイルが必要です。スワップ・ファイルを作るには、このように実行します :
# dd bs=1024 count=NN if=/dev/hda of=swapfile
# mkswap swapfile NN
最初のコマンドは、NNブロック長のファイルを作成します (/dev/hda から初期化しますが、何でもかまいません)。2番目のコマンドは、そのファイルに必要なセットアップ情報を書き込みます。スワップを開始するには、次のように入力します。
# swapon swapfile
注意! 'dd' は rootdisk にはありません : 起動する前にハードディスクにいくつかのものをインストールする必要があります。
注意2! linux が仮想メモリーを完全に使い果たすと、動作が劇的に遅くなります。linux はできる限り動作を続けようとしますが、少なくともロックはもうしないはずです。しばらく待たされるかもしれませんが、^C は機能するはずです。
フロッピーの高速化
さて、フロッピーから起動するときにはあまり気づかないかもしれません : bash が大きくなったので、ロードに時間がかかるようになり、シーケンシャルアクセスで主に動作するように最適化されました。プログラムをハードディスクに取り込むためにフロッピーを untar し始めると、より高速になったことに気づくでしょう。unixでフロッピーを使うのはこれくらいにしておきましょう : まともな人は誰もフロッピーをファイルシステムとして使いません。
より良い FS の独立性
うまくいけば気づかれないかもしれないけど、ファイルシステムはminix-fs 特有のものでなくなるように部分的に書き直しました。まだ VFS パッチを全部実装したわけではないので、まだ未完成ですが、徐々に進めています。
それで終わりだと思う
Happy hacking.
Linus (torvalds@domainname)
linux-0.95 の新機能の紹介 (後半) です。
- 仮想メモリとして swap ファイル、swap パーティションが使えるようになりました。/dev/hda から dd している所は、この時期ならではでしょう。(今なら /dev/null からかな)
- フロッピーからの読み込みはシーケンシャルアクセスで動作するようになり、高速化されました。もちろん、ルートデバイスとして使用する場合にはランダムアクセスですので無駄が多くなるでしょうが、フロッピーからハードディスクへのバイナリの取り込み速度を優先したのでしょう。bash のバイナリサイズが大きくなった事も影響していると書かれています。
- VFS (Virtual File System) は未完成ですが、Minix filesystem との決別、Linux 独自の filesystem の使用が目前となっています。Linux の ext (ext1) filesystem は 1992年7月4日公開の linux-0.96c でアルファ版が追加されました。
unix like OS としての完成度が少しずつ高まっています。とはいえ、linux-1.0 までの道程はまだまだ先です。
結び
linux-0.95 の RELNOTES-0.95 を和訳しました。
linux-0.12 から 0.95 へ大きくバージョン番号を上げたのは、安定して動作していたという実績からでしょう。
login も表示されて仮想コンソールによる複数の平行作業も可能、スワップファイル / パーティションによる仮想メモリにより、大きなサイズのソースのコンパイルも可能になっていたと思います。
次回は 'RELNOTES-0.95a' か 'CHANGES IN THE LINUX v0.95a ROOT DISKETTE' を和訳しようと考えています。
2018年10月に購入した Western Digital Red 4TB HDD が、NAS での役目を終えて、PC 内で余生を過ごしています。まだ使えるので、Linux から色々と遊びで使っています。
Western Digital は型番を変更した際に CMR -> SMR に記録方式が変わった事を公表しなかった為に、当時、個人的には不信感を持ちましたが、今はキチンと表示していますので解消しました。Western Digital Red Plus であれば CMR 方式です。
コメント