Linux1:Linux概述
Linux是什么
这是一个Linux系列,本系列中的文章和其他系列中的文章有所不同,尽可能以讲清楚每一个简单的知识点为主,未必每一篇都是长篇大论,力求面面俱到。
学习Linux,首先我们得知道Linux是什么。
人们实际上已经习惯了用Linux这个词来形容整个基于Linux内核并且使用GNC工程化各种工具和数据库的操作系统,但严格意义上来说,Linux这个词语本身应当只表示Linux内核,它是一个由C语言编写的,符合POSIX标准的类Unix操作系统,要下载最新版本的内核可以去http://www.kernel.org下载。
至于Linux内核,我们这么理解这个问题。操作系统是一个用来和硬件打交道并为用户程序提供一个有限服务集的低级支撑软件。一个计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。计算机的硬件,含有外围设备、处理器、内存、硬盘和其他的电子设备组成计算机的发动机,但是没有软件来操作和控制它,自身是不能工作的。完成这个控制工作的软件就称为操作系统,在Linux的属于中被称为内核,Linux内核的主要模块分为以下几个部分:
- 存储管理
- CPU和进程管理
- 文件系统
- 设备管理和驱动
- 网络通信
- 系统初始化(引导)
- 系统调用等
上面说了Linux是类Unix操作系统,最后说一下Linux和Uninx的区别:Unix本来是免费的,后来商业化了,Unix就不开源了,原来用Unix的就没法用了,于是芬兰的一个教授Linus Torvalds开发了一个完全开源且免费的操作系统,就是Linux。
Linux发行版
前面说了Linux是完全开源且免费的,由于Linux的优越性,一些组织或厂家,将Linux系统的内核与外围实用程序软件和文档包装起来,并提供一些系统安装界面和系统配置、设定与管理工具,就构成了一种发行版本(distribution),Linux的发行版本其实就是Linux内核再加上外围实用程序组成的一个大软件包而已。相对于Linux操作系统内核版本,发行版本的版本号随发布者的不同而不同,与Linux系统内核的版本号是相对独立的。
但是所有的发行版本都使用的是同一个Linux内核,因此在内核曾不存在什么兼容性问题,每个发行版本都不一样的感觉,只是在发行版本的最外层才有所体现,而绝不是Linux本身特别是内核不统一或者不兼容。
Linux有非常多的发行版本,从性质上划分,大体分为两种:
- 商业版本,由商业公司维护,以Redhat为代表
- 免费发行版本,由开源社区维护,比较有代表性的有debian、centos、unbuntu
至于debian、centos、unbuntu如何取舍,反正我自己是在阿里云上买了一台操作系统为centos的服务器来学习Linux,后面的文章也都会在我自己的服务器上操作、分享。unbuntu有比较好的图形界面,也正因为此,我感觉unbuntu最佳应用领域是桌面操作系统而不是服务器操作系统,至于centos和debian二者其实都是非常好的,也都有非常多的商业公司生产环境上的服务器使用这两种系统,我选择centos的原因主要是我们公司使用的服务器也是centos系统的。
为什么服务器尤其大型服务器都使用Linux系统
本文相对简单,最后谈一谈服务器尤其是大型服务器一般都使用Linux系统的几点原因:
- 成本低,Linux操作系统是免费的
- 安全性好,Linux采取了许多的安全措施,包括对读写权限控制、带保护的子系统、审计跟踪、核心授权等,为网络多用户环境中的用户提供了必要的安全保障
- 网络功能强大,Linux在通信和网络功能方面优于其他操作系统
- 开源性,这意味着管理员可以对系统随意进行定制
因此,作为一个优秀的程序员,不仅要把代码写好,把基于Linux内核的服务器用好也是非常重要的。