1、Linux概述
Linux是一种自由和开放源代码的类UNIX操作系统。严格来讲,术语Linux只表示操作系统内核本身,但通常采用Linux内核来表达该意思。Linux则常用来指基于Linux内核的完整操作系统,包括GUI组件和许多其他实用工具。由于这些支持用户空间的系统工具和库主要由理查德·斯托曼于1983年发起的GNU计划提供,FSF提议将该组合系统命名为GNU/Linux,但Linux不属于GNU计划,所以这个名称并没有得到社区的一致认同,但我们不能忘记GNU运动对Linux的推动作用。此外,只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码。
*专业术语
UNIX | 一种计算机操作系统,具有多任务、多用户的特征。于1969年,在美国AT&T公司的贝尔实验室由肯·汤普逊开发。 |
GUI组件 | 支持图形化桌面的工具 |
GNU计划 | GNU计划(英语:GNU Project),又译为革奴计划,是一个自由软件集体协作项目,旨在实现软件的开源和合作 |
FSF | 其主要工作是执行GNU计划,开发更多的自由软件 |
GNU通用公共许可证 | 也叫做LGPL协定,是人们对于开源代码的使用所必须遵循的规范 |
2、Linux发展
摒弃华丽的图形界面,转而更加注重系统安全和性能的linux,必将受到人们的重视。慢慢的,一些个人和企业开发的第三方的非GNU组件也开始提供对Linux内核的支持,包括大量的有内核模块、用户应用程序和库等内容。Linux社区或企业都开始推出一些重要的Linux发行版。
3、Linux工作原理
linux的最底层同样是各种各样的硬件,CPU,内存等,工作在硬件之上的内核才是整个linux操作系统最为重要的一环,其重要性,下面详细介绍。内核之上的是各种应用程序,还包括一个非常重要的shell接口,应用程序通过shell实现对硬件的操作,其可类比为Windows的点击事件。
下面介绍一下内核在整个系统中的重要:应用程序要想利用底层硬件的计算能力,就必须有一个应用程序程序来驱动硬件,而且上层的应用程序必须经过编译,才能转换为计算机能够识别的二进制代码。意味着任何一个应用程序要想运行,不仅需要一套完整的驱动,还要一个编译器。要知道,每款CPU都有着自己特定的指令集,这也就决定了上层所调用的库的不同。即使你对某个程序完成的驱动和编译,当程序换做另一个平台时,不仅编译需要重新进行,而且原先的驱动程序也将失去意义,程序的可移植性大大减低。于是就有了内核,它通过系统调用(System Call)隔离了不同应用程序对不同厂商CPU的依赖,而且自身提供了强大的编译功能,程序将会有更好的编译环境。那么,上层的应用程序又是怎么编写的呢,利用那数不清的0和1?还是直接利用内核提供的System Call?显然都不可能,这些原始的编程接口,相信只有骨灰级的工程师才会调用吧!这时候内核将又派上重要用场,它对系统调用进行再一次的封装,变成库调用(Library Call),进而有了BIF(内置函数),这些代码将直接可以被应用程序所调用。在此之上,诞生了大量的应用程序,一个完整的linux操作系统就可以顺利的工作起来了。
4、Linux现状
今天各种场合都有使用各种Linux发行版,从嵌入式设备到超级电脑(Super Computer),并且在服务器领域确定了地位,通常服务器使用LAMP组合。家里的空调、智能手表、手机,航空,多数系统设备都在利用linux,虽然大多数人依然对linux不为所知,但它确实早已经走进了我们的生活,我相信linux的明天会更加美好。
本文出自 “dmwing” 博客,请务必保留此出处http://dmwing.blog.51cto.com/11607397/1832534
原文地址:http://dmwing.blog.51cto.com/11607397/1832534