陆首群 2018年7月23日
1.Linux是内核,操作系统的内核,Linux=Kernel。
2.Linux是GNU操作系统,Linux=GNU/Linux,即LinuxOS (Kernel +U.S./lib.,tool)。即内核+基于底层库和工具链开发并在内核上运行的用户态软件。
3.Linux是操作系统,是各种运行在Linux内核上的独立的操作系统,Linux=LinuxOS。
1983年Richard Stallman发布GNU宣言,1984~1985年Stallman开发Emacs编译器,并将其纳入GNU计划,1991年Linus Torvalds开发了Linux,Stallman将其作为内核也纳入GNU计划,并推出GNU/Linux操作系统,该操作系统由Linux内核+数量不多,基于GNU底层库和工具链开发并在内核上运行的用户态软件组成(这时所谓用户态软件基本上是GNU软件)。Eric Steven Raymond指出,Linus的巨大贡献不但是创建了操作系统内核,更是发明了一种绝顶有效的开发模式(Stallman也大加赞扬),即依托互联网汇集合作开发黑客群体开启分布式的开发模式(称为“集市”模式,以区别FSF或传统的“大教堂”模式)。Linus仰仗这种开发模式,吸引全世界黑客(1991~1994)对Linux不断进行修改完善,开发直接在其上跑的用户态软件,甚至吸引GNUEmacs中的Lisp(Lisp代码群进化相当活跃,多由用户驱动),Linus的开发模式更适合于Lisp的后续开发。Linux社区生态优于GNU生态。
隨着开源代码来源多样化,生态日益壮大和庞杂,加之开源软件许可比自由软件许可宽松,此时可能出现GNU计划外的用户态软件。今天的Linux操作系统,除沿袭采用GNU/Linux操作系统外,还有一种用户态软件并未纳入GNU计划(或用户态软件不是由GNU主导开发的),直接在Linux内核上运行,而被称为Linux的操作系统。Linus早期是接受GNU/Linux的,如今似乎他更愿叫Linux,表现他更为现实。
领取专属 10元无门槛券
私享最新 技术干货