类似Windows, Linux也是一个操作系统,Linux是一套开放源代码程序,并可以自由传播的类Unix操作系统软件,多用户,多任务并且支持多线程和多CPU的操作系统。
Linux系统主要被应用于服务器端,嵌入式开发和个人PC桌面3大领域,其中服务器端领域是重中之重。 大型,超大型互联网企业(百度,Sina,淘宝等)都在使用Linux系统作为服务器端的程序运行平台。
Linux的起源
Unix系统于1969年在AT&T的贝尔实验室诞生,20世纪70年代,它逐步盛行,这期间,又产生了一个比较重要的分支,就是大约1977年诞生的BSD(Berkeley Software Distribution)系统。从BSD系统开始,各大厂商及商业公司开始了根据自身公司的硬件架构,并以BSD系统为基础进行Unix系统的研发,从而产生了各种版本的Unix系统,例如:SUN公司的Solaris,IBM公司的AIX,HP公司的HPUNIX等。
Unix的5大优势特性
- 技术成熟,可靠性高。连续运行若干年也无需重启。
- 极强的可伸缩性
Unix支持的CPU处理器体系架构非常多,包括Intel/AMD及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语言的诞生,并且相互促进与发展,成为当时工程师首选的操作系统和开发环境。
自由软件
简单地理解,自由软件的核心就是没有商业化软件版权制约,源代码开放,可无约束自由传播。
注意:自由软件强调的是权利问题,而非是否免费的问题。大家一定要理解这个概念,自由软件中的自由是“言论自由”中的“自由”,而不是“免费啤酒”中的“免费”。
自由意味着freedom,而免费意味着free,这是完全不同的概念。例如:RedHatLinux自由但不免费,CentOS Linux是自由且免费的。自由软件关乎使用者运行,复制,发布,研究,修改和改进该软件的自由。
自由软件基金会FSF
FSF(Free Software Foundation)的中文意思是自由软件基金会,是Richard Stallman于1984年发起和创办的。FSF的主要项目是GNU项目。GNU项目本身产生的主要软件包括:Emacs,gcc,bash和编程语言,以及gawk(GNU‘s awk)等。
GNU知识
GNU的全称为GNU‘s not unix,意思是“GNU不是UNIX“,GNU计划,又称革奴计划,是由Richard Stallman 在1984年公开发起的,是FSF的主要项目。前面已经提到过,这个项目的目标是建立一套完全自由的和可移植的类Unix操作系统。
但是GNU自己的内核Hurd仍在开发中,离实用还有一定的距离。现在的GNU系统通常是使用Linux系统的内核,加上GNU项目贡献的一些组件,以及其它相关程序组成的,这样的组合被称为GNU/Linux操作系统,
到1991年linux内核发布的时候,GNU项目已经完成了除系统内核之外的各种必备软件的开发。在Linus Torvalds和其它开发人员的努力下,GNU项目的部分组件又运行到了Linux内核之上,例如:GNU项目里的Emacs,gcc,bash,gawk等,至今都是Linux系统中很重要的基础软件。
GPL
GPL全称为General Public License,中文名为通用公共许可,是一个最著名的开源许可协议,开源社区最著名的Linux内核就是在GPL许可下发布的。GPL许可是自由软件基金会(Free Software Foundation)创建的。
1984年,Richard Stallman发起开发自由软件的运动后不久,在其他人的协作下,他创立了通用公共许可证(GPL),这对推动自由软件的发展起了至关重要的作用,那么,这个GPL到底是什么意思呢?
简单的理解,GPL许可的核心,是保证任何人有共享和修改自由软件的自由,任何人有权取得,修改和重新发布自由软件的源代码权利,但都必须同时给出具体更改的源代码。
虽然整个Linux内核是基于GNU通用公共许可的,但是Linux内核并不是GNU计划的一部分。这一点,请不要混淆。
- FSF(公司)==>GNU(项目)==>emacs gcc bash gawk
- FSF(公司)==>GPL(项目) ==>自由传播 修改源代码 但是必须把修改后的源代码也要发布出来
- Linus Torvalds==>linux内核
Linux操作系统=linux内核+GNU软件及系统软件+必要的应用程序
Linux的发行版本介绍
- Linux内核(kernel)版本主要有4个系列,分别为Linux kernel2.2,Linux kernel2.4,Linuxkernel2.6,Linux kernel3.x,更多更新版本请浏览kernel官网,点击即可
- linux的发行商包括Slackware,Redhat,Debjan,Fedora,TurboLinux,Mandrake,SUSE,CentOS,Ubuntu,红旗,麒麟...
下面看看其中几个重要的发行版本。
1)Red Hat:Red Hat Linux9.0的内核为2.4.20.在版本9.0后,Red Hat 不再遵循GPL协议,成为收费产品(但仍开源),发展的新版本依次为Red Hat 3.x,Red Hat 4.x,Red Hat 5.x Red Hat 6.x,Red Hat 7.x .
2)Fedora:为Red Hat的一个分支,仍遵循GPL协议,可以认为是RedHat预发布版。(游戏公测)
3)CentOS(Community Enterprise Operationg System):与redhat做到二进制级别的一摸一样。RedHat的另一个重要分支,以RedHat所发布的源代码重建符合GPL许可协议的Linux系统,即将Red Hat Linux 源代码的商标LOGO以及非自由软件部分去除后再编译而成的版本,目前CentOS已被RedHat公司收购,但仍开源免费。CentOS Linux是国内互联网公司使用最多的Linux系统版本。
面试题:
小面试题:你们公司服务器使用的版本是什么?
CentOS 6.8 x86_64 内核版本 2.6.32
为什么企业环境要选择64位操作系统?
- 64位操作系统是为高科技人员使用本行业特殊软件的运行平台而设计的。而32位操作系统是为普通用户设计的。
- 64位操作系统只能安装在64位电脑上(CPU必须是64位的),并且只在针对64位的软件时才能发挥最佳性能。32位操作系统可以安装在32位(32位CPU)电脑上,也可以安装在64位(64CPU)电脑上。当然,此时32位的操作系统是无法发挥64位硬件性能的。
- 运算速度不同
- 寻址能力不同, 支持的最大内存不同
- 32位系统 4GB 内存
- 64位系统 128GB 内存