类似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 内存

Linux系统介绍的更多相关文章

  1. Linux系统介绍及部署

    Linux系统介绍及部署1.常见操作系统 windows.Linux(类unix系统).Android.iOS.unix(HP UNIX)2.操作系统构成 外壳(shell)+驱动+内核3.常见Lin ...

  2. 第02课 操作系统及Linux 系统介绍

    1.操作系统介绍 操作系统(Operating System,简称OS),是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心. 操作系统的作用是管 ...

  3. 第一章 Linux系统介绍与环境搭建准备

    1.操作系统: Operating System,简称OS,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心. 操作系统就是处于用户与计算机系统硬件之间用于传递信息的系统程序软件. ...

  4. 1. Linux系统介绍

    1. 什么是操作系统? 定义:操作系统是计算机系统中必不可少的基础系统软件,它的作用是负责管理和控制计算机系统中的硬件和软件资源,合理地组织计算机系统的工作流程,以便有效地利用资源为使用者提供一个功能 ...

  5. 图形界面备份Linux系统介绍

    详情见: http://os.51cto.com/art/200905/125680.htm             虽然Linux 是一个高度可靠的操作系统,但对于现在复杂的internet环境下, ...

  6. Linux系统介绍与环境搭建准备

    1 什么是操作系统? 操作系统,Operating System,简称OS,是计算机系统中必不可少的基础软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心.   操作系统的作用是 ...

  7. Linux系统下C++开发工具-远程终端软件使用

    通过前面安装Linux系统介绍,紧接着进入搭建Linux开发环境的第二步,选择C++开发工具,以及必要的客户端软件.从而完整的搭建一个Linux下C++开发的环境,便于初学者在该环境下能够很好的学习. ...

  8. Linux命令的复习总结学习

    1.-------------------------linux系统介绍------------------------------------------------------- Linux是一套 ...

  9. Linux 运维之路

     第一章:Linux必备知识  1.Linux 系统介绍 2.Linux 简单文本处理 3.Linux 组管理.权限 4.Linux vim文档操作 5.Linux 高级文件管理 6.Linux 文件 ...

随机推荐

  1. html学习笔记 - table表格

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. Hibernate SQLQuery 原生SQL 查询及返回结果集处理-1

    第一篇:官方文档的处理方法,摘自官方 在迁移原先用JDBC/SQL实现的系统,难免需要采用hibernat native sql支持. 1.使用SQLQuery hibernate对原生SQL查询执行 ...

  3. TCP/UDP客户端

    Python 网络编程----模块socekt 在渗透测试的过程中,经常会遇到需要创建一个TCP客户端来连接服务器.发送垃圾数据.进行模糊测试活进行其他任务的情况. 简单的TCP客户端代码: #!/u ...

  4. 谈一谈Java8的函数式编程 (三) --几道关于流的练习题

    为什么要有练习题?    所谓学而不思则罔,思而不学则殆,在系列第一篇就表明我认为写博客,既是分享,也是自己的巩固,我深信"纸上得来终觉浅,绝知此事要躬行"的道理,因此之后的几篇博 ...

  5. Struts2入门(一)

    今天学习Struts2首先struts是一个成熟的框架.Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Cont ...

  6. Tomcat 安装与配置

    1. 将压缩文件“apache-tomcat-7.0.62.zip ”上传到linux系统目录:/home/下 2. 进入目录 cd /home/ 解压文件,执行如下命令:unzip apache-t ...

  7. Lambda应用场景和使用实例

    Java 8已经推出一段时间了,Lambda是其中最火的主题,不仅仅是因为语法的改变,更重要的是带来了函数式编程的思想.这篇文章主要聊聊Lambda的应用场景及其相关使用示例. Java为何需要Lam ...

  8. hadoop 2.7.3 集群安装

    三台虚拟机,centos6.5 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 :: loca ...

  9. CSS3用法理解

    这里只概括了我对CSS3各属性的用法理解.具体每个属性的值,以及例子,看这里 (竟然每篇文章不能低于200字,不能低于200字不能低于200字不能低于200字不能低于200字....请无视)

  10. python中xrange用法分析

    本文实例讲述了python中xrange用法.分享给大家供大家参考.具体如下: 先来看如下示例: >>> x=xrange(0,8) >>> print x xra ...