Linux カーネルの最初のバージョン (v0.01) オープン ソース コードの解釈

Exploring the Internals of Linux v0.01」は、Linux カーネルのオープン ソース コードの最初のバージョンを説明する記事です。この投稿は今日RedditHacker 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

おすすめ

転載: www.oschina.net/news/253678/reading-linux-v0-01