对BSD有特殊的情节,早在大学的时候最初迷恋FreeBSD,还记得第一个折腾的版本是5.x,后来组件转到折腾Linux,但那份情节还是在心底,再加上越发觉得Linux的一盘散沙和BSD的完整性形成鲜明的对比,也许这本就是两者的出身所决定的——BSD的大学出身和Linux的“集市”出身。
说到代码,认识我的人都知道我对代码的正确性有着近乎强迫症的要求,是的,在我心里认为正确性必须是首要的,虽然很多人口头也是这么说的,但他们没有用实际行动要求他们所写出来的代码的正确性;OpenBSD就是这样一个项目,正确性是她的First Goal!很多人知道OpenBSD是以安全性著名的OS,但OpenBSD的官方FAQ第一段就写着:
Our goals place emphasis on correctness, security, standardization, and portability. |
想想也就明白了,没有绝对的正确性,哪来的安全性?要正确性就必须要求代码有好的设计、一致的格式、清晰的实现,所以正确性是所有正确的事情的基础!
很早就想写些关于OpenBSD的文字,从5.7到6.0,晚上时间断断续续的看了些代码,有用户态的代码也有内核代码,OpenBSD的代码就是我一直所追求的代码!过程中还把MIT的教学操作系统xv6看了遍,xv6几乎可以认为是OpenBSD这个实际生产用的操作系统的demo版,让我能从整体上理解UNIX内核的运作,顺带强烈推荐xv6代码。
这篇就算是开篇吧,希望能找到更多有同样追求、理念的同学一起研究。