UNIX family tree

Time:2019-11-18

What is the relationship between Mac OS X, FreeBSD, NetBSD, OpenBSD and other operating systems?

Wolfram Schneider has sorted out the family tree of UNIX (mainly BSD Series). Is it clear after reading it?

The genealogy tree is drawn with ASCII characters, isn’t it geeky?

First Edition (V1)
     |
Second Edition (V2)
     |
Third Edition (V3)
     |
Fourth Edition (V4)
     |
Fifth Edition (V5)
     |
Sixth Edition (V6) -----*
       \                |
        \               |
         \              |
Seventh Edition (V7)    |
            \           |
             \        1BSD
             32V        |
               \      2BSD---------------*
                \    /                   |
                 \  /                    |
                  \/                     |
                 3BSD                    |
                  |                      |
               4.0BSD                2.79BSD
                  |                      |
               4.1BSD --------------> 2.8BSD
                  |                      |
              4.1aBSD -----------\       |
                  |                \     |
              4.1bBSD                \   |
                  |                    \ |
      *------ 4.1cBSD --------------> 2.9BSD
     /            |                      |
Eighth Edition    |                   2.9BSD-Seismo
     |            |                      |
     +-------> 2.10BSD
     |            |               /      |
Ninth Edition     |              / 2.10.1BSD
     |         4.3BSD Tahoe-----+        |
     |            |              \       |
     |            |                \     |
     v            |                  2.11BSD
Tenth Edition     |                      |
                  |                  2.11BSD rev #430
               4.3BSD NET/1              |
                  |                      v
               4.3BSD Reno
                  |
   *---------- 4.3BSD NET/2 -------------------+-------------*
   |                    |                      |             |
386BSD 0.0              |                      |           BSD/386 ALPHA
   |                    |                      |             |
386BSD 0.1 ------------>+                      |           BSD/386 0.3.[13]
   |     \              |                  4.4BSD Alpha      |
   |     386BSD 1.0     |                      |           BSD/386 0.9.[34]
   |                    |                  4.4BSD            |
   |                    |                    / |             |
   |                    |   4.4BSD-Encumbered  |             |
   |                 NetBSD 0.8                |           BSD/386 1.0
   |                    |                      |             |
FreeBSD 1.0          NetBSD 0.9                |           BSD/386 1.1
   |                    |           .----- 4.4BSD Lite       |
FreeBSD 1.1             |          /   /       |     \       |
   |                    |         /   /        |      \      |
FreeBSD 1.1.5       .---|--------'   /         |       \     |
   |               /    |           /          |        \    |
FreeBSD 1.1.5.1   /     |          /           |         \   |
   |             /   NetBSD 1.0 -'>--'>--------*>--->

via freebsd.org

Recommended Today

Summary of import and export usage in JavaScript

import import 和 require 的区别 import 和js的发展历史息息相关,历史上 js没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。这对开发大型工程非常不方便。在 ES6 之前,社区制定了一些模块加载方案,最主要的有 CommonJS 和 AMD 两种。前者用于服务器,后者用于浏览器。ES6 在语言标准的层面上,实现了模块功能,而且实现得相当简单,完全可以取代 CommonJS 和 AMD 规范,成为浏览器和服务器通用的模块解决方案。也就是我们常见的 require 方法。 比如 `let { stat, exists, readFile } = require(‘fs’);` 。ES6 在语言标准的层面上,实现了模块功能。ES6 模块不是对象,而是通过export命令显式指定输出的代码,再通过import命令输入。 import 的几种用法: 1. import defaultName from ‘modules.js’; 2. import { export } from ‘modules’; 3. import { export as ex1 } from […]