操作系统,Operating System,简称OS,是计算机系统中必不可少的基础软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心。
Linux是一套开放源代码程序的、并可以自由传播的类Unix操作系统软件。(Unix系统是Linux系统的前身,具备很多优秀特性)。
开发Linux系统的目的就是建立不受任何商业化软件版权制约的、全世界都能自由使用的类Unix操作系统兼容产品。
在过去的20年里,Linux系统主要被应用于服务器端、嵌入式开发和个人PC桌面3大领域,其中服务器领域是重中之重。
Unix系统于1969年在AT&T的贝尔实验室诞生,20实际70年代,它逐步盛行,这期间,又产生了一个比较重要的分支,就是大约1977年诞生的BSD(Berkeley Software Distribution)系统。
从BSD系统开始,各大厂商及商业公司开始了根据自身公司的硬件架构,并以BSD系统为基础进行Unix系统的研发,从而产生了各种版本的Unix系统,例如:SUN公司的Solaris,IBM公司的AIX,HP公司的HP UNIX等。
使用Unix系统时,即使连续运行若干年也无需重启,它依然可以工作得很好。只要计算机硬件不坏,Unix就很难会出现问题。
Unix支持的CPU处理器体系架构非常多,包括Intel/AMD(x86系列)及HP-PA,MIPS,PowerPC,UltraSPARC,ALPHA等RISC芯片,以及SMP、MPP等技术。
可能是由于早期各大厂商都基于Unix进行适合自己的硬件开发,因此,Unix支持的CPU架构才更多
Internet互联最重要的协议TCP/IP就是在Unix上开发和发展起来的。此外,Unix还支持非常多的常用的网络通信协议,如NFS,DCE,IPX/SPX,SLIP,PPP等
Oracle, DB2, Sybase, Informix等大型数据库,都把Unix作为其主要的数据库开发和运行平台,一直到目前为止,依然如此。
正是Unix促使了C语言的诞生,并相互促进和发展,称为当时工程师的首选操作系统和开发环境。互联网早期有重大意义的软件新技术的出现几乎都在Unix上,例如:TCP/IP,, XML等
70年代中后期,由于各厂商及商业公司开发的Unix及内置软件都是针对自己公司特定硬件的,因此在其他公司的硬件上基本上无法直接运行,而且当时没有人对开发基于x86架构CPU的系统感兴趣。
另外,70年代末,Unix又面临了突如其来的被AT&T回收版权的重大问题,特别是要求禁止对学生群体提供Unix系统源代码,这样的问题一度引起了当时Unix业界的恐慌,也因此产生了商业纠纷。
由于Unix面临版权回收问题,以及代码不开源等的问题,这直接或间的导致了新的类Unix系统的诞生以及自由软件运动的建立和发展。
1984年,Richard Stallman发起了开发自由软件的运动,并成立了自由软件基金会和GNU项目。当时发起这个自动软件运动和创建GUN项目的目的其实很简单,就是想开发一个类似Unix系统,并且是自由软件的完整操作系统,也就是要解决70年代末Unix版权问题以及软件源代码面临闭源的问题,这个系统叫做GNU操作系统。**GNU系统**后来没有流行起来。现在的GNU系统通常是使用Linux系统的内核,以及使用了GNU项目贡献的一些组件加上其他相关程序组成,这样的组合被称为GNU/Linux操作系统
80年代初,大学Andrew Tanenbaum(谭邦宁),于1984年开始着手编写新的用于教学的Unix系统,目标是开发的新Unix系统尽可能和原有的Unix系统兼容,并且可以运行于x86 PC平台,这个系统叫Minix。**Minix的目的只是用于教学,无法满足商用的需求**,但是Minix的产生对于Linux的诞生又是至关重要的一个部分。
Linux系统的诞生开始于芬兰赫尔辛基大学的一位计算机系的学生,名为Linus Torvalds。在学校期间,接触了Unix系统,当时的Unix系统仅为一台主机,且对应了多个终端,使用时存在操作等待时间很长等不爽的问题,无法满足它的使用需求,就萌发了自己开发一个Unix的想法。
于是,他就找到了谭邦宁教授开发的用于教学的Minix操作系统,将Minix安装到了他的I386个人计算机上。此后,开始陆续阅读了Minix系统的源代码,从Minix系统中学到了很多重要的系统核心程序设计理念和设计思想,从而逐步开始了Linux系统雏形的设计和开发。
自由软件强调的是权利问题,而非是否免费的问题。自由软件中的自由是“”中的“自由”,而不是“免费啤酒”的“免费”。
GNU类Unix操作系统,是由一系列应用程序、系统库和开发工具构成的软件集合,例如:Emacs编辑软件,gcc编译软件,bash命令解释程序和编程语言,以及gawk(GNUs awk)等,并加上了用于资源分配和硬件管理的内核。
现在的GNU系统通常是使用Linux系统的内核,加上GNU项目贡献的一些组件,以及其他相关程序组成的,这样的组合被称为GNU/Linux操作系统。
1991年Linux内核发布的时候,GNU项目已经完成了除系统内核之外的各种必备软件的开发。
在Linus Torvalds和其他开发人员的努力下,GNU项目的部分组件又运行到了Linux内核之上,例如:GNU项目里的Emacs,gcc,bash,gawk等,至今都是Linux系统很重要的基础软件。
GPL(General Public License),通用共同许可,是一个最著名的开源许可协议,开源社区最著名的Linux内核就是在GPL许可下发布的。
GPL许可的核心,保证任何人有共享和修改自由软件的自由,任何人有权取得、修改和重新发布自由软件的源代码权利,但都必须同时给出具体更改的源代码。
虽然整个Linux内核是基于GNU通用公共许可的,但是Linux内核并不是GNU计划的一部分。
正式Linux内核与GNU项目、BSD Unix和MIT的X11的结合,才使得整个Linux操作系统得以很快形成,并得到了发展,进而组成了今天优秀的Linux系统。
自由软件,不用支付费用可以获得系统和系统的源代码,并可以根据自己的需要对源代码进行必要的修改,无偿使用,无约束地自由传播
Linux具有Unix的全部优秀特性,任何使用Unix操作系统或想要学习Unix操作系统的人,都可以通过学习Linux来了解Unix,同样可以获得Unix中的几乎所有优秀功能,并且,Linux系统更开放,社区开发和全世界的使用者也更活跃。
虚拟机Virtual Machine软件就是一套特殊的软件,它可以作为操作系统独立运行,也可以运行于操作系统之上。
若是运行于系统之上的虚拟机软件,在一台电脑上安装虚拟机软件之后,就可以模拟出来若干台相对独立的虚拟PC设备,并且可以在每台虚拟的PC设备上安装运行操作系统,运行网络服务,和真实的计算机设备几乎无任何使用差别。
使用时,需要先在电脑上安装好虚拟机软件,如:VMware Workstation,然后通过安装的虚拟机软件创建一个或多个虚拟机系统,最后在这些虚拟的电脑设备上安装操作系统并进行启动配置。
另外,还可以将这些虚拟的系统连成局域网,用来部署网站集群架构等更深层次的运维技术,这样的虚拟环境,在后文会涉及。

