「Exploring the Internals of Linux v0.01」は、Linux カーネルのオープン ソース コードの最初のバージョンを説明する記事です。この投稿は今日RedditとHacker Newsの両方でトレンドになっています。
オリジナル: https: //seiya.me/blog/reading-linux-v0.01
この記事によると、Linux カーネルの最初のオープンソース バージョン (v0.01) は非常に小さく、コードは 10,239 行しか含まれていません。コメントと空白行を削除すると、8,670 行だけが残ります。これは理解できるほど小さいため、UNIX に似たオペレーティング システムのカーネルの内部を理解するための良い出発点となります。
重要なポイントと興味深い豆知識:
- v0.01 には、次のように合計 66 のシステム コールが含まれています。
access acct alarm break brk chdir chmod chown chroot close creat dup dup2 execve exit fcntl fork fstat ftime getegid geteuid getgid getpgrp setsid getpid getppid getuid gtty ioctl kill link lock lseek mkdir mknod mount mpx nice open pause phys pipe prof ptrace read rename rmdir setgid setpgid setuid setup signal stat stime stty sync time times ulimit umask umount uname unlink ustat utime waitpid write
- i386 用に深くハードコーディングされています
- Linux カーネルの元の名前は「FREAX」でした
# Makefile for the FREAX-kernel.
- カーネルパニックを実装するための 5 行のコード
volatile void panic(const char * s) { printk("Kernel panic: %s\n\r",s); for(;;); }
- 当時 Linus は 8MB RAM を搭載したマシンを持っていませんでした
* For those with more memory than 8 Mb - tough luck. I've * not got it, why should you :-) The source is here. Change * it. (Seriously - it shouldn't be too difficult. ...
Linux v0.01 ソース コードのダウンロード: https://cdn.kernel.org/pub/linux/kernel/Historic/linux-0.01.tar.gz