1. 什么是操作系统?
操作系统的作用是管理和控制计算机系统中的硬件和软件资源,例如,它负责直接管理计算机系统的各类硬件资源,如岁CPU、内存、磁盘等的管理,同时对系统资源供需的优先次序进行管理。操作系统还可以控制设备的输入、输出以及操作网络与管理文件系统等事务。同时,它也负责对计算机系统中各类软件资源的管理。例如各类应用软件的安装、设置运行环境等。下图所示为操作系统与计算机硬件软件关系示意图。
操作系统也提供一个让用户与系统交互的操作界面。简单地说,操作系统就是出于用户与计算机系统硬件之间用于传递信息的系统程序软件。例如:操作系统会在接收到用户输入的信息后,将其传给计算机系统硬件核心进行处理,然后再把计算机系统硬件的处理结果返回给使用者。下图所示为简单理解操作系统作用的示意图。
2. 什么是Linux?
和大家熟知的Windows操作系统软件一样,Linux也是一个操作系统软件。但是和Windows不同的是,Linux是一套开放源代码程序的、并且可以自由传播的类Unix操作系统软件(Unix系统是Linux系统的前身,具备很多优秀特性)。其在设计之初,就是基于Intel x86系列CPU架构的计算机的。它是一个基于POSIX的多用户、多任务并且支持多线程和多CPU的操作系统。
Linux是有世界各地成千上万的程序员设计和开发实现的。当初开发Linux系统的目的就是建立不受任何商业化软件版权制约的、全世界都能自由使用的类Unix操作系统兼容产品。在过去的20多年里,Linux系统主要被应用与服务器端、嵌入式开发和个人PC桌面3大领域,其中服务器端领域是重中之重。
我们熟知的大型、超大型互联网企业(百度,Sina,淘宝等)都在使用Linux系统作为其服务器端的程序运行平台,全球及国内排名前十的网站使用的主流系统几乎都是Linux系统。
LINUX是开源操作系统。 它的功能列表很像UNIX。 内核是Linux操作系统的核心程序,负责处理基本内容,例如让硬件与软件进行通信。Linux 是以 Unix 操作系统为原型创造的。自从诞生之日起,它就被设计成一种多任务、多用户的系统。这些特点使 Linux 完全不同于其它著名的操作系统。事实上,Linux 比您所能想象到更加特别。与其它操作系统绝然相反的是,没人真正拥有 Linux,其大部分开发工作都是由无偿的志愿者完成的。
Linux是最著名和最常用的开源操作系统。 作为操作系统,Linux是一种软件,它位于计算机上所有其他软件的下面,可以接收来自这些程序的请求并将这些请求中继到计算机的硬件。
Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。
Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
下图是简单的unix 系统结构图。
unix系统有四大部分构成:
- kernal (内核) – 内核是操作系统的心脏。 它与硬件相连接,大多数任务(如内存管理,任务计划和文件管理)通过它指挥硬件;
- Shell(外壳) – Shell是处理您的请求的实用程序;
- Commands and Utilities ( 命令和实用程序) – 有250个左右的标准命令和实用程序,但通过第三方的软件,可以运行无数的命令和实用程序;
- 文件系统 – 文件和目录-Unix上的所有数据都组织成文件。 然后将所有文件组织到目录中。 这些目录被进一步组织成称为文件系统的树状结构。
3. 什么是UNIX操作系统 ?
说到Linux的起源,就不得不提到Linux之前的Unix系统。Unix系统与1969年在AT&T的贝尔实验室诞生,20世纪70年代,它逐渐盛行,这期间,又产生了一个比较重要的分支,就是大约1977年诞生的BSD(Berkeley Software Distribution)系统。从BSD系统开始,各大厂商及商业公司开始了根据自身公司的硬件架构,并以BSD系统为基础进行Unix系统的开发,从而产生量各种版本的Unix系统,例如:SUN公司的Solaris,IBM公司的AIX,HP公司的HP UNIX等。下图所示为Uin小系统诞生、发展的时间及版本分支介绍。
70年代中后期,由于各厂商及商业公司开发的Unix及内置软件都是针对自己公司特定硬件的,因此在其他公司的硬件上基本无法直接运行,而且当时没有人对开发基于x86架构的CPU的系统感兴趣。另外,70年代末,Unix又面临了突如其来的被AT&T回收版权的重大问题,特别是要求禁止对学生群体提供Unix系统源代码,这样的问题一度引起了当时Unix业界的恐慌,也因此产生了商业纠纷。
由于Unix面临版权回收问题,以及代码不开源等的问题,这直接或间接地导致了新的类Unix系统的诞生以及自由软件运动的建立和发展。
1984年,Richard Stallman发起了开发自由软件的运动,并成立了自由软件基金会(Free Software Fundation,FSF)和GNU项目。当时发起这个自由软件运动和创建GNU项目的目的其实很简单,就是想开发一个类似Unix系统、并且是自由软件的完成操作系统,也就是要解决70年代末Unix版权问题以及软件源代码面临闭源的问题,这个系统叫做GNU操作系统(补充:这个GNU系统后来没有流行起来。现在的GNU系统通常是使用Linux系统的内核,以及使用了GNU项目贡献的一些组件加上其它相关程序组成,这样组合被称为GNU/Linux操作系统)。
3.1Unix 的5大优秀特性
- 技术成熟,可靠性高极
使用Unix系统是,即使运行若干年也无需重启,它依然可以工作的非常好。毫不夸张地说,只要计算机硬件不坏,Unix就很难会出问题。
- 极强的可伸缩性
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语言的诞生,并相互促进和发展,成为当时工程师的首选操作系统和开发环境。互联网早期有重大意义的软件新技术的出现几乎都在Unix上,例如:TCP/IP、WWW、JAVA、XML等。
4.Linux是如何创建的?
Linux是由赫尔辛基大学当时的学生Linus Torvalds于1991年创建的。 Torvalds构建Linux作为Minix的免费开放源代码替代品,Minix是另一个Unix克隆,主要用于学术领域。 他原本打算将其命名为“ Freax”,但是服务器Torvalds的管理员建议使用Linux。 L来自于Linus,inux 来自于Unix
4.1Linux 的发展历程
- 1984年,Andrew S.Tanenbaum 开发了用于教学的Unix系统,命名为MINIX;
- 1989年,Andrew S.Tanenbaum 将MINIX系统运行于x86的PC计算机平台;
- 1990年,芬兰赫尔辛基大小学生Linus Torvalds首次接触MINIX系统;
- 1991年,Linus Torvalds 开始在MINIX上编写各种驱动程序等操作系统内核组件;
- 1991年底,Linus Torvalds 公开了Linux内核源码0.02版(该版并不是我们现在使用的Linux系统的全部,而仅仅是Linux内核kernel部分的代码);
- 1993年,Linux1.0版发布,Linux转向GPL版权协议;
- 1994年,Linux的第一个商业发行版Slackware问世;
- 1996年,美国国家标准技术局的计算机系统实验室确认Linux版本1.2.13(由Open Linux公司打包)符合POSIX标准;
- 1999年,Linux的简体中文发行版问世;
- 2000年后,Linux系统日趋成熟,涌现大量基于Linux服务器平台的应用,并广泛应用于基于ARM技术的嵌入式系统中;
5、Linux 核心概念知识
5.1 自由软件与FSF
自由软件的核心就是没有商业化软件版权制约,源代码开放,可无约束自由传播(注意:自由软件强调的是权利问题,而非是否免费的问题。自由意味着freedom,而免费意味着free。这是完全不同的概念,例如,RedHat Linux自由但不免费,CentOS Linux是自由且免费的)。自由软件赋予软件使用者四种自由:
- 不论目的为何,由运行该软件的自由;
- 有研究该软件如何运行,以及按需改写该软件的自由。当然,取得该软件源代码为达成此目的之前提;
- 有重新发布拷贝的自由;
- 有改进该软件,以及向公众发布改进的自由,这样整个社群都可受惠。同样,取得该软件的源码为达成此目的之前提。
FSF(Free Software Foundation)的中文意思是自由软件基金会,是Richard Stallman于1984年发起和创办的。FSF的主要项目是GNU项目。它的目标是建立可自由发布和可移植的类Unix操作系统产品。GNU项目本身产生的主要软件包括:Emacs编辑软件、gcc编译软件、bash命令解释程序和编程语言,以及gawk(GNU’s awk)等。
5.2 GNU 知识
1991 年的时候,Linus Torvalds 创造的只是其中的最内圈,即 Linux 内核。
要使用 Linux,即使是以最原始的形式,甚至没有 GUI,你也需要一个 shell。最常见的是 Bash shell。
然后,你需要在 shell 中运行一些命令来完成一些工作。你能记起一些基本的 Linux 命令吗?比如 cat
、cp
、mv
、grep
、find
、diff
、gzip
等等。
严格来说,这些所谓的“Linux 命令”并不是只属于 Linux。它们中的很多都来源于 UNIX 操作系统。
在 Linux 诞生之前,Richard Stallman 就已经在 1983 年创建了自由软件项目中的第一个项目:GNU(GNU 是“GNU is Not Unix” 的递归缩写)。GNU 项目实现了许多流行的 Unix 实用程序,如 cat
、grep
、awk
、shell(bash
),同时还开发了自己的编译器(GCC)和编辑器(Emacs)。
在 80 年代,UNIX 是专有软件,而且超级昂贵。这就是为什么 Linus Torvalds 开发了一个类似 UNIX 的新内核的原因。为了与 Linux 内核进行交互,Linus Torvalds 使用了 GNU 工具,这些工具在其 GPL 开源许可证下是免费的。
有了这些 GNU 工具,它的行为也像 UNIX 一样。这就是为什么 Linux 也被称为类 UNIX 操作系统的原因。
你无法想象没有 shell 和所有这些命令的 Linux。由于 Linux 与 GNU 工具集成得很深,几乎是完全依赖于 GNU 工具,所以纯粹主义者要求 GNU 应该得到应有的认可,这就是为什么他们坚称它为 GNU Linux(写成 GNU/Linux)。
GNU 的全称为GNU is not Unix,意思是“GNU 不是Unix”,GNU计划,又称革奴计划,是有Richard Stallman在1984年公开发起的,是FSF的主要项目。GNU自己的内核Hurd仍在开发中,离实用还有一定的距离。到1991年Linux内核发布的时候,GNU项目已经完成了除系统内核之外的各种必备软件的开发。在Linus Torvalds和其他开发人员的努力下,GNU项目的部分组件又运行到了Linux内核之上,例如:GNU项目里的Emacs、gcc、bash、gawk等,至今都是Linux系统中很重要的基础软件。
5.3 GPL 知识
GPL全称General Public License,中文名为通用公共许可,是一个最著名的开源许可协议,开源社区最著名的Linux内核就是在GPL内核许可下发布的。GPL许可时由自由软件基金会(Free Software foundation)创建的。
1984年,Richard Stallman 发起开发自由软件的运动后不久,在其他人的协助下,他创立了通用公共许可在(GPL),这对推动自由软件的发展起了至关重要的作用.
GPL许可的核心,是保证任何人有共享和修改自由软件的自由,任何人有权取得、修改和重新发布自由软件的源代码权利,但都必须同时给出具体更改的源代码。虽然整个Linux内核是基于GNU通用公共许可的,但是Linux内核并不是GNU计划的一部分。
LGPL(Lesser General Public License)相对于GPL较为宽松,允许不公开全部源代码,为基于Linux平台开发商也软件提供了更广阔的的空间。
6.Linux与其他操作系统有何不同?
在许多方面,Linux与您以前使用过的其他操作系统类似,例如Windows,macOS(以前称为OS X)或iOS。与其他操作系统一样,Linux具有图形界面以及您习惯使用的相同类型的软件,例如文字处理器,照片编辑器,视频编辑器等。在许多情况下,软件的创建者可能已经在其他系统上使用了同一程序的Linux版本。简而言之:如果可以使用计算机或其他电子设备,则可以使用Linux。
但是Linux在许多重要方面也与其他操作系统有所不同。首先,也许是最重要的是,Linux是开源软件。用于创建Linux的代码是免费的,并且可供公众查看,编辑,并且-对于具有适当技能的用户来说,也可以对Linux操作系统进行贡献。
Linux也有所不同,尽管Linux操作系统的核心部分通常很常见,但是Linux的发行版很多,其中包括不同的软件选项。这意味着Linux是可定制的,因为不仅可以交换应用程序,例如文字处理器和Web浏览器。 Linux用户还可以选择核心组件,例如哪个系统显示图形以及其他用户界面组件。因此现在市场上有很多种Linux Kernel 为核心再集成搭配各式各样的系统程序或应用工具程序组成的一套完整的操作系统。
Linux是可以任意包装自由配置的东西。任何一个人,一家公司 都可以按照自己的想法,比如加一点功能,加中文支持,作一个Linux出来。这些 Linux虽然核心部分都一样,但是他们所带的各种软件,缺省的配置都不一样。譬如市场上比较流行的Redhat 红帽、红旗 Linux、Ubuntu 乌班图等,这些都是的Linux衍生操作系统。
通过上表可以看出,其实WINDOWS和LINUX在哲学设计上是有本质区别的。Windows操作系统倾向于将更多的功能集成到操作系统内部,并将程序与内核相结合;而Linux不同于Windows,它的内核空间与用户空间有明显的界限。根据设计架构的不同,两者都可以使操作系统更加安全。而苹果操作系统只不过是UNIX的一个细小分支而已。
7.谁使用Linux?
无论您是否知道,您可能已经在使用Linux。 根据您所查看的用户调查,互联网上三分之一到三分之二的网页是由运行Linux的服务器生成的。Linux服务器比较安全,灵活,并且您可以从广大用户社区中获得出色的支持,此外,Canonical,SUSE和Red Hat等公司也都提供商业支持。
您可能拥有的许多设备(例如Android手机,平板电脑和Chromebook,数字存储设备,个人录像机,相机,可携带设备等)也都运行Linux。 您的汽车在后台运行Linux。 甚至Microsoft Windows都具有Linux组件,它们是Linux Windows子系统(WSL)的一部分。
今天各种场合都有使用各种Linux发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使用LAMP(Linux + Apache + MySQL + PHP)或LNMP(Linux + Nginx+ MySQL + PHP)组合。
7.1 IT服务器Linux系统应用领域(重要)
如今的IT服务器领域是Linux、Unix和Windows三分天下,Linux系统可谓后起之秀,特别是最近几年来,服务器端Linux操作系统不断地扩大市场份额,且每年增长势头迅猛,并且开始对Windows及Unix服务器市场的地位构成严重的威胁。在未来的服务器领域市场里Linux是大势所趋。
Linux作为企业服务器的应用十分广泛,利用Linux系统可以为企业架构WWW服务器、数据库服务器、负载均衡服务器、邮件服务器、DNS服务器、代理服务器(透明网关)、路由器等,不但使企业降低了运行成本,同时还获得了Linux系统带来的高稳定性和高可靠性,且无须考虑商业软件的版权问题。
随着Linux在服务器领域的广泛使用,近几年来,该系统已经渗透到了电信、金融、政府、教育、银行、石油等各个行业,同时各大硬件厂商也相继支持Linux操作系统。这一切表明,Linux在服务器市场前景光明。同时,大型、超大型互联网企业(百度、Sina、淘宝等)都在使用Linux系统作为其服务器端的程序运行平台,全球及国内排名前十的网站使用的几乎都是Linux系统,Linux已经逐步渗透到了各个领域的企业里。
7.2 嵌入式Linux系统应用领域
由于Linux系统开放源代码,功能强大、可靠、稳定性强、灵活而且具有极大地伸缩性,再加上他广泛支持大量的微处理器体系结构、硬件设备、图形支持和通信协议,因此,在嵌入式应用领域里,从英特网设备(路由器、交换机、防火墙、负载均衡器)到专用的控制系统(自动售货机、手机、PDA、各种家用电器),Linux操作系统都有很广阔的应用市场。特别是经过这几年的发展,他已经成功地跻身于主流嵌入式开发平台。例如,在智能手机领域,Android Linux已经在智能手机开发平台牢牢地占据了一席之地。
7.3 个人桌面Linux应用领域
所谓个人桌面系统,其实就是我们在办公室使用的个人计算机系统,例如:Windows XP、Windows 7、MAC等。Linux系统在这方面的支持也已经非常好了,完全可以满足日常办公及家用需求,例如:
- 浏览器上网浏览网页(Firefox浏览器)
- 办公室软件(Open Office,兼容微软的Office软件)处理数据;
- 收发电子邮件(例如:ThunderBird软件);
- 实时通讯(例如:QQ);
- 文字编辑(例如:vi,vim,emac…)
- 多媒体应用
虽然Linux个人桌面系统的支持已经很广泛了,但是在当前的桌面市场份额还远远无法和Windows竞争,这其中最大的障碍可能不在于Linux桌面系统产品本身,而是用户的使用观念、操作习惯和应用技能,以及曾经在Windows上开发的软件的移植问题。
7.4 使用Linux操作系统的政府
目前Linux不仅在家庭与企业中使用,并且在政府中也很受欢迎。
- 巴西联邦政府由于支持Linux而世界闻名。
- 有新闻报道俄罗斯军队自己制造的Linux发布版的,做为G.H.ost项目已经取得成果.
- 印度的Kerala联邦计划在向全联邦的高中推广使用Linux。
- 中华人民共和国为取得技术独立,在龙芯过程中排他性地使用Linux。
- 在西班牙的一些地区开发了自己的Linux发布版,并且在政府与教育领域广泛使用,如Extremadura地区的gnuLinEx和Andalusia地区的Guadalinex。
- 葡萄牙同样使用自己的Linux发布版Caixa Mágica,用于Magalh?es笔记本电脑和e-escola政府软件。
- 法国和德国同样开始逐步采用Linux。
8.谁“拥有” Linux?
凭借其开放源代码许可,任何人均可免费使用Linux。 但是,名称“ Linux”的商标属于其创建者Linus Torvalds。 Linux的源代码受其许多作者的版权保护,并获得GPLv2许可。
术语“ Linux”在技术上仅指Linux内核。 大多数人将整个操作系统称为“ Linux”,因为对于大多数用户而言,操作系统包括一系列程序,工具和服务(例如台式机,时钟,应用程序菜单等)。 有些人,特别是自由软件基金会的成员,将此集合称为GNU / Linux,因为其中包含的许多重要工具都是GNU组件。 但是,并非所有的Linux安装都将GNU组件用作操作系统的一部分:例如,Android使用Linux内核,但很少依赖GNU工具。
9.Unix和Linux有什么区别?
您可能听说过Unix,这是Ken Thompson,Dennis Ritchie和其他人在1970年代在Bell Labs开发的操作系统。 Unix和Linux在许多方面都相似,实际上,Linux最初是与Unix难以区分的。 两者都有用于与系统连接的相似工具,编程工具,文件系统布局和其他关键组件。 但是,并非所有Unices都是免费的开放源代码。Linux是UNIX的一个分支,别的分支还有freebsd等,UNIX是命令行下的系统, linux是加了窗体管理的系统。
多年以来,已经创建了许多尝试成为“类unix”或“ unix兼容”的不同操作系统,但是Linux一直是最成功的。
10. Linux 的优势 ?
现在,Linux处于极盛时期,在世界各地的程序员和常规计算机用户中都享有盛誉。 它的主要好处是-
它提供了一个免费的操作系统。 您不必花几百美元就可以获得Windows之类的操作系统!Linux 最大的优势当属它的开源属性。Linux 是一款基于 GNU 通用公共许可证(GPL)发布的操作系统。这意味着,所有人都能运行、研究、分享和修改这个软件。经过修改后的代码还能重新分发,甚至出售,但必须基于同一个许可证。
- 作为开源,任何具有编程知识的人都可以对其进行修改。
- 可自由传播,无任何商业化版权限制;
- 适合Intel等x86 CPU系列架构的计算机。
- Linux操作系统现在提供数百万种程序/应用程序供您选择,其中大多数是免费的!
- 一旦安装了Linux,就不再需要防病毒软件! Linux是一个高度安全的系统。 更重要的是,有一个全球开发社区正在不断寻找增强其安全性的方法。 随着每次升级,操作系统变得更加安全和强大
- 由于Linux的稳定性和可靠性,Linux是服务器环境的首选操作系统(亚马逊,Facebook和Google等大型公司将Linux用于其服务器),基于Linux的服务器可以连续运行多年而无需重启。
Linux当前应用的角色
了解了什么是 Linux 之后,再来谈谈,那目前 Linux 用在哪里呢?由于Linux kernel实在是非常的小巧精致,可以在很多强调省电以及较低硬件资源的环境下面执行; 此外,由于Linux distributions整合了非常多非常棒的软件(不论是专利软件或自由软件), 因此也相当适合目前个人计算机的使用呢!传统上,Linux常见的应用可约略分为企业应用与个人应用两方面,但这几年很流行的云端运算机制中, 让 Linux 似乎又更有着力点啰!
企业环境的利用
企业对于数码化的目标在于提供消费者或员工一些产品方面的信息 (例如网页介绍),以及整合整个企业内部的数据统一性 (例如统一的帐号管理/文件管理系统等)。另外,某些企业例如金融业等,则强调在数据库、安全强化等重大关键应用。 学术单位则很需要强大的运算能力等。所以企业环境运用Linux作些什么呢?
- 网络服务器:
这是Linux当前最热门的应用了!承袭了Unix高稳定性的良好传统,Linux上面的网络功能特别的稳定与强大! 此外,由于GNU计划与Linux的GPL授权模式,让很多优秀的软件都在Linux上面发展, 且这些在Linux上面的服务器软件几乎都是自由软件!因此,做为一部网络服务器,例如WWW, Mail Server, File Server等等,Linux绝对是上上之选!当然,这也是Linux的强项!由于 Linux server 的需求强烈,因此许多硬件厂商推出产品时, 还得要特别说明有支持的 Linux distributions 呢!方便提供企业采购部门的规划喔!例如下面的链接可以瞧瞧:
- Dell 公司的 Server 对 OS 的支持度: http://www.dell.com/support/contents/tw/en/twbsd1/article/Product-Support/ Self-support-Knowledgebase/enterprise-resource-center/server-operating-system-support
- HP 公司的支持: http://www8.hp.com/us/en/business-services/it-services.html?compURI=1078888#tab=TAB1
- IBM 公司的支持: http://www-03.ibm.com/systems/hardware/browse/linux/
- VMWare 的虚拟化支持: https://www.vmware.com/support/ws55/doc/intro_supguest_ws.html
从上面的几个大厂的 Linux 支持情况来看,目前 (2015) 支持度比较广泛的依旧是 Red Hat 以及 SuSU 两个大厂喔! 提估给企业采购的时候参考参考!
Tips 前一阵子参加一个座谈会,会上许多企业界的前辈们在聊,如果想要选择某个 Linux distribution 时,哪个 distribution 会是企业采购时的最爱呢? 与会的朋友说,要采购吗?看看服务器大厂对于该 distribution 的支持度就知道了!答案是什么?就是上面许多链接的结果啰! ^_^
- 关键任务的应用(金融数据库、大型企业网管环境):
由于个人计算机的性能大幅提升且价格便宜,所以金融业与大型企业的环境为了要精实自己机房的机器设备, 因此很多企业渐渐的走向Intel相容的x86主机环境。而这些企业所使用的软件大多使用Unix操作系统平台的软件, 总不能连过去发展的软件都一口气全部换掉吧!所以啰,这个时候符合Unix操作系统标准并且可以在x86上运行的Linux就渐渐崭露头角了!^_^
目前很多金融业界都已经使用Linux做为他们的关键任务应用。所谓的关键任务就是该企业最重要的业务啦! 举例来说,金融业最重要的就是那些投资者、帐户的数据了,这些数据大多使用数据库系统来作为存取接口, 这些数据很重要吧!很多金融业将这么重要的任务交给了Linux了!你说Linux厉不厉害啊?
- 学术机构的高性能运算任务:
学术机构的研究常常需要自行开发软件,所以对于可作为开发环境的操作系统需求非常的迫切!举例来说, 非常多技职体系的科技大学就很需要这方面的环境,好进行一些毕业专题的制作呢! 又例如工程界流体力学的数值模式运算、娱乐事业的特效功能处理、软件开发者的工作平台等等。 由于Linux的创造者本身就是个计算机性能癖,所以Linux有强大的运算能力;并且Linux具有支持度相当广泛的GCC编译软件, 因此Linux在这方面的优势可是相当明显的!
举个鸟哥自己的案例好了,鸟哥之前待的研究室有跑一套空气品质模式的数值仿真软件。 这套软件原本只能在Sun的SPARC机器上面跑。后来该软件转向Linux操作系统平台发展, 鸟哥也将自己实验室的数值模式程序由Sun的Solaris平台移植到Linux上面呢! 据美国环保署内部人员的测试,发现Linux平台的整体硬件费用不但比较便宜(x86系统嘛!)而且速度还比较快呢!
另外,为了加强整体系统的性能,丛集计算机系统(Cluster)的平行运算能力在近年来一直被拿出来讨论[11]。 所谓的平行运算指的是“将原本的工作分成多份,然后交给多部主机去运算,最终再将结果收集起来”的一种方式。 由于通过高速网络使用到多部主机,将能够让原本需要很长运算时间的工作,大幅的降低等待的时间! 例如中央气象局的气象预报就很需要这样的系统来帮忙!而Linux操作系统则是这种架构下相当重要的一个环境平台呢!
Tips 由于服务器的 CPU 数量可以增加许多,而且也能够达到比较省电的功能,因此鸟哥最近更换了昆山科大资传系的模式运算服务器组, 通过 20 核心 40 超执行续的以及 12 核心 24 超执行续的两部系统,搭配 10G 网卡来处理模式的运行!用的是本书谈到的 CentOS Linux, 跑得模式是美国环保署公布,现行于世界最流行的 CMAQ 空品模式喔!
个人环境的使用
你知道你平时接触的电子用品中,哪些咚咚里面有Linux系统存在呢?其实相当的多呢!我们就来谈一谈吧!
- 桌面电脑:
所谓的桌面电脑,其实就是你我在办公室使用的计算机啦。一般我们称之为Desktop的系统。那么这个 Desktop 的系统平时都在做什么呢?大概都是这些工作吧:
- 上网浏览+实时通讯(Skype, FB, Google, Yahoo…);
- 文书处理;
- 网络接口之公文处理系统;
- 办公室软件(Office Software)处理数据;
- 收发电子邮件;
想进行这些计算机工作时,你的Desktop环境需要什么咚咚?很简单,“就是需要窗口”! 因为上网浏览、文书编排的所见即所得接口,以及电子公文系统等等, 如果没有窗口接口的辅助,那么将对使用者造成很大的困扰。而众所皆知的, Linux早期都是由工程师所发展的,对于窗口接口并没有很需要,所以造成Linux不太友好的印象。
好在,为了要强化桌面电脑的使用率,Linux与X Window System结合了! 要注意的是,X Window System仅只是Linux上面的一套软件, 而不是核心喔!所以即使X Window挂了,对Linux也可能不会有直接的影响呢! 更多关于 X window system 的详细信息我们留待第二十三章再来介绍。
近年来在各大社群的团结合作之下,Linux的窗口系统上面能够跑的软件实在是多的吓人!而且也能够应付的了企业的办公环境! 例如美观的KDE与GNOME窗口接口,搭配可相容微软Office的 OpenOffice / LibreOffice (https://www.openoffice.org/zh-cn/, https://zh-cn.libreoffice.org/) 等软件, 这些自由的办公室软件包含了文书处理、电子试算表、简报软件等等,功能齐全啊!然后配合功能强大速度又快的Firefox浏览器, 以及可下载信件的雷鸟(ThunderBird)软件(类似微软的Outlook Express),还有可连上多种实时通讯的Pidgin! Linux能够做到企业所需要的各项功能啦!
Tips 鸟哥真的垂垂老已~前一阵子 (2014) 上课时,跟学生说:“各位啊!你们考取的证照也转一份给老师来备份嘛!用 emai 寄给鸟哥喔!” 结果有几个学生竟然举手说:“老师!我知道 email 啊!不过,从来没有用过 email 寄附件耶!所以才没有传给你啊!”哇!! 瞎密?“那你们怎么传送文件啊?用 FTP 喔?”鸟哥问,他说“没啊!就用 FB 或者是 Line 啊!或者 dropbox!真没用过 email 耶!”…时代不同了…
- 手持系统(PDA、手机):
自从 iphone4 在 2010 年面世之后,整个手机市场开始大搬风!智能手机市场将原本商务用的 PDA 市场整个吃掉!然后原本在 2010 年前后很热门的小笔记本也被平板电脑打趴了!在这个潮流下,Google 成立了开放手机联盟 (Open Handset Alliance),并且推出 Android 手机专用操作系统! 而 Android 其实就是 Linux 核心的一支,只是专门用来针对手机/平板这类的 ARM 机器所设计的 [12]!
2015 最新的 Android 系统 5.x 使用的就是 Linux kernel 3.4.x 版本,另外,调查中也显示,从 2013 年之后,Android 系统已经是全球最多人使用的手机系统。也就是说,现在手机市场的主流操作系统是 Linux 分支出来的 Android 喔! 那怎么能说 Linux 很少人用呢?哈哈!天天都在用耶各位!
Tips 如果你的手机是 Android 系统的话,请拿出来,然后点选“设置”–> “关于(手机)” –> “软件信息”,你就会看到 Android 版本,然后又点选“更多”, 这时你就会看到类似 3.4.10-xxx 的代号,那是什么?查一查上头提到的 Linux 版本,就知道那是啥鬼东西啰! ^_^
- 嵌入式系统:
在第零章当中我们谈到过硬件系统, 而要让硬件系统顺利的运行就得要撰写合适的操作系统才行。那硬件系统除了我们常看到的计算机之外, 其实家电产品、PDA、手机、数码相机以及其他微型的计算机配备也是硬件系统啦! 这些计算机配备也都是需要操作系统来控制的!而操作系统是直接嵌入于产品当中的,理论上你不应该会更动到这个操作系统, 所以就称为嵌入式系统啦!
包括路由器、防火墙、手机、IP分享器、交换器、机器人控制芯片、家电用品的微计算机控制器等等,都可以是Linux操作系统喔! 酷学园内的Hoyo大大就曾经介绍过如何在嵌入式设备上面载入Linux! 你桌面上用来备份的 NAS 说不定内部也是精简化过的 Linux 系统啊!
虽然嵌入式设备很多,大家也想要转而使用Linux操作系统,不过在台湾,这方面的人才还是太少了! 要玩嵌入式系统必须要很熟悉Linux Kernel与驱动程序的结合才行!这方面的学习可就不是那么简单喔! ^_^
云端运用
自从个人计算机的 CPU 内置的核心数越来越多,单一主机的能力太过强大,导致硬件资源经常闲置,这个现象让虚拟化技术得以快速发展! 而由于硬件资源大量集中化,然后行动办公室之类的需求越来越多,因此让办公数据集中于云程序中,让企业员工仅须通过端点设备连线到云去取用运算资源, 这样就变成无时无地都可以办公啦 (其实很惨…永远不得休息啊!真可怜~)!
这就是三国演义里面谈到的“天下大势,分久必合、合久必分”的名言啊! 从(1)早期的贵森森的大型主机分配数个终端机的集中运算机制,到 (2)2010 年前个人计算机运算能力增强后,大部分的运算都是在台式机或笔记本上自行达成, 再也不需要跑去大型主机取得运算资源了!到现在(3)由于行动设备的发达,产生的庞大数据需要集中处理,因而产生云端系统的需求!让信息/资源集中管理! 这不是分分合合的过程吗?^_^
- 云程序
许多公司都有将资源集中管理的打算,之前参与一场座谈会,有幸遇到阿里巴巴的架构师,鸟哥偷偷问他说,他们机房里面有多少计算机主机啊? 他说不多!差不多才 2 万部主机而已…鸟哥正在搞的可提供 200 个左右的虚拟机的系统,使用大约 7 部主机就觉得麻烦了,他们家至少有 2 万部耶! 这么多的设备底层使用的就是 Linux 操作系统来统一管理。
另外,除了公司自己内部的私有云之外,许多大型网际网络供应商 (ISP) 也提供了所谓的公有云来让企业用户或个人用户来使用 ISP 的虚拟化产品。 因此,如果公司内部缺乏专业管理维护人才,很有可能就将自家所需要的关键应用如 Web、Mail、系统开发环境等操作系统交由 ISP 代管, 自家公司仅须远端登陆该系统进行网站内容维护或程序开发而已。那这些虚拟化后的系统,也经常是 Linux 啊!因为跟上头企业环境利用提到的功能是相同的!
所以说云程序的底层就是 Linux ,而云程序搭建出来的虚拟机,内容也是 Linux 操作系统哩!用的越来越多啊!
Tips 所谓的“虚拟化”指的是:在一部实体主机上面仿真出多个逻辑上完全独立的硬件,这个假的虚拟出来的硬件主机,可以用来安装一部逻辑上完全独立的操作系统! 因此,通过虚拟化技术,你可以将一部实体主机安装多个同时运行的操作系统 (非多重开机),以达到将硬件资源完整利用的效果。 很多 ISP 就是通过贩售这个虚拟机的使用权来赚钱的喔!
- 端设备
既然运算资源都集中在云里面了,那我需要连线到云程序的设备应该可以越来越轻量吧?当然没错!所以智能手机才会这么热门啊! 很多时候你只要有智能手机或者是平板,连线到公司的云里面去,就可以开始办公了哩!
此外,还有更便宜的端点设备喔!那就是近年来很热门又流行的树莓派 (Raspberry Pi) 与香蕉派 (Banana Pi),这两个小东西售价都不到 50 美元, 有的甚至台币 1000 块有找!这个 Raspberry Pi 其实就是一部小型的计算机,只要加上 USB 键盘、鼠标与 HDMI 的屏幕,立刻就是可以让小朋友学习程序语言的环境! 如果加上通过网络去取得具有更强大运算资源的云端虚拟机,不就可以做任何事了吗?所以,端点设备理论上会越来越轻量化的!
Tips 鸟哥近几年来做的主要研究,就是通过一组没很贵的 server 系统达成打开多个虚拟机的环境,然后让学生可以在教室利用类似 banana pi 的设备来连线到服务器, 这时学生就可以通过网络来取得一套完整的操作系统,可以拿来上课、回家实作练习、上机考试等等!相当有趣!鸟哥称为虚拟计算机教室! 而 server 与 banana pi 的内部操作系统当然就是 Linux 啊!