一、Unix和Linux操作系统概述

1.Unix是什么

UNIX是一个计算机操作系统,一个用来协调、管理和控制计算机硬件和软件资源的控制程序。

2.Unix特点

(1)多用户:在同一时刻可以有多个用户同时使用UNIX操作系统而且他们互不干扰;

(2)多任务:任何一个用户在同一时间可以在UNIX操作系统上运行多个程序。

3.GNU项目与GPL条款

(1)GNU项目

GNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。GNU是“GNU's Not Unix”的递归缩写,发音为 [ɡəˈnuː]。

由于GNU将要实现UNIX系统的接口标准,因此GNU计划可以分别开发不同的操作系统部件,包含操作系统内核HURD和可自由使用的软件。

(2)GUN通用性公共许可证(General Public License,简称GPL)

大多数软件许可证决意剥夺你共享和修改软件的自由。相比之下,GNU通用公共许可证试图保证你共享和修改自由软件的自由。为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都遵循GPL条款。

开发或维护遵循 GPL 条款软件的公司或个人,可以对使用者收取一定的服务费用。但还是一句老话——必须无偿提供软件的完整源代码,不得将源代码与服务做捆绑或任何变相捆绑销售。

(3)GNU项目成果

1990年,GNU计划已经开发出的软件包括了一个功能强大的文字编辑器Emacs,C语言编译器GCC,以及大部分UNIX系统的程序库和工具。唯一依然没有完成的重要组件就是操作系统的内核(称为HURD)。

1991年,Linus Torvalds编写出了与UNIX兼容的Linux操作系统内核并在GPL条款下发布。Linux之后在网上广泛流传,许多程序员参与了开发与修改。

1992年Linux与其他GNU软件结合,完全自由的操作系统正式诞生。(尽管如此GNU计划自己的内核Hurd依然在开发中,目前已经发布Beta版本。)

 4.Linux是什么

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。

严格来讲,Linux这个词本身只是表示一个操作系统内核而已,而GNU提供了大量的自由软件来丰富在其之上各种应用程序。包括了一个shell程序、工具、程序库、编译器及工具,还有许多其他程序,例如Emacs。

正是由于Linux使用了许多GNU程序,GNU计划的开创者Richard Stallman博士提议将Linux操作系统改名为GNU/Linux。

一些人拒绝使用“GNU/Linux”作为操作系统名称的人认为:
(1)Linux朗朗上口;名字较短又好记;
(2)Richard Stallman博士直到1990年代中期,Linux开始流行后才要求更名。

5.Linux内核与Linux发行版

(1)Linux内核

内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。Linux内核版本又分为稳定版和开发版,两种版本是相互关联,相互循环:

  • 稳定版:具有工业级强度,可以广泛地应用和部署。新的稳定版相对于较旧的只是修正一些bug或加入一些新的驱动程序。
  • 开发版:由于要试验各种解决方案,所以变化很快。

内核源码网址:http://www.kernel.org 所有来自全世界的对Linux源码的修改最终都会汇总到这个网站,由Linus领导的开源社区对其进行甄别和修改最终决定是否进入到Linux主线内核源码中。

(2)Linux发行版

操作系统的内核,主要负责控制硬件、管理文件系统、程序进程等,并不给用户提供各种工具和应用软件。Linux发行版 (也被叫做 GNU/Linux 发行版) 在内核基础上,加入了桌面环境、办公套件、媒体播放器、数据库等应用软件。

一个典型的Linux发行版包括:Linux内核,一些GNU程序库和工具,命令行shell,图形界面的X Window系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公套件,编译器,文本编辑器到科学工具的应用软件。

二、操作系统发展史

发展历程:Unix——Minix——Linux——Windows

1.最初的操作系统是Unix

2.在Version 7 Unix推出之后,UNIX源代码私有化并开始收费。有个教授为了给学生上课(收费的Unix不让用),于是就开发了mini-Unix(minix),但这个教授仅仅用来教学,没有推广。

3.有个哥们儿(linus)发现这个minix比较厉害之后,就买过去自己研究,他采纳了网上的很多人的意见,于是就不断完善,就出现了Linux(Linus+minix)。

所以目前全球最厉害的最核心的操作系统就是Linux和Unix,但Unix收费,而Linux开源(免费),因此用Linux的人也很多。

4.由于Unix和Linux操作系统有一个问题是,虽然他很高效,但是上手比较难,这个主要是通过输入命令来执行;对于大多数没有接触过电脑的人来说,就很难学;所以就出现了Windows,点击鼠标就可以解决很多问题,并且可视化程度很大。

三、常用的发行版本

1.Linux主要的几种发行版本:

(1)RedHat系列:RHEL、CentOS、Oracle linux。
(2)SUSE
(3)Ubutun
(4)Debian

2.Unix主要的几个发行版本:

(1)Sun Solaris
(2)HP-UX
(3)IBM AIX

四、应用场景

1.如果作为php、jsp等开发平台使用,最好选择Redhat或Centos,原因主要是硬件和软件兼容性方面应该是所有Linux发行版本中较好的。最主要的原因是国内的多数游戏运营商和大型网站,使用这两个版本的较多。

2.如果是作为asp.net等开发平台使用,最好使用suse,原因是与Microsoft的合作关系。同时也说明下,移动运营商好像很多使用suse的操作系统平台。

3.如果是作为c或c++等开发平台使用,而且对应用程序开发要求较高,建议使用debian版本的Linux,毕竟这个版本的Linux限制性是最小的。自由度较大。

参考文档:

GNU、Linux和GNU/Linux之间的关系

UNIX和Linux操作系统概述

Linux的不同版本以及应用领域

Unix、Linux和Windows操作系统的关系?

生产上常用的Linux/Unix发行版本

主流和常用的Linux版本和UNIX版本

【Linux基础】Unix与Linux操作系统介绍的更多相关文章

  1. SLAM+语音机器人DIY系列:(一)Linux基础——2.安装Linux发行版ubuntu系统

    摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...

  2. Linux基础笔记—— 走进Linux

    走进Linux 操作系统 操作系统是计算机中必不可少的基础系统软件,他的作用是管理和控制计算机系统中的硬件和软件资源,合理有效的组织系统的工作流程,在计算机系统(硬件)与使用者之间提供接口作用. 操作 ...

  3. 『Linux基础 - 4 』linux常用命令(1)

    这篇笔记包含以下知识点: 几个概念的理解:Linux命令,控制台,终端, 终端提示符 对文件目录的操作的相关命令: 切换目录,列出目录下的文件等 对文件的操作的相关命令: 创建,删除,复制,修改,移动 ...

  4. 『学了就忘』Linux基础 — 16、Linux系统与Windows系统的不同

    目录 1.Linux严格区分大小写 2.Linux一切皆文件 3.Linux不靠扩展名区分文件类型 4.Linux中所有的存储设备都必须在挂载之后才能使用 5.Windows下的程序不能直接在Linu ...

  5. Linux基础三:linux目录结构和目录文件的浏览、管理及维护

    目录文件的浏览.管理及维护(一) 1.Linux文件系统的层次结构 1)Linux文件系统的树状结构:在Linux或UNIX操作系统中,所有的文件和目录都被组织成一个以根节点开始的倒置的树状结构. 2 ...

  6. Linux基础一:Linux的安装及相关配置

    1. 计算机操作系统简介    1) 操作系统的定义:操作系统是一个用来协调.管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间.    2) 操作系统的内核的定义:操作系统的内核是一 ...

  7. 『Linux基础 - 3』 Linux文件目录介绍

    Windows 和 Linux 文件系统区别 -- 结构 Windows 下的文件系统 - 在 Windows 下,打开 "计算机",我们看到的是一个个的驱动器盘符: - 每个驱动 ...

  8. linux基础之Mini Linux制作

    一.编译一个简单的linux步骤如下: # yum groupinstall ""Development Tools" "Server Platform Dev ...

  9. 【Linux基础总结】Linux基本环境

    Linux基本环境 对Linux的基础认识 虚拟机进入终端: [root@hadoop-senior Desktop] # 用户名 主机名 所在目录名称 #:表示当前用户属于root用户,超级管理员用 ...

  10. Linux基础命令---IP路由操作

    ip ip指令可以显示或操作路由.网路设备,设置路由策略和通道. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora.   1.语法     ...

随机推荐

  1. [Python Web]部署完网站需要做的基本后续工作

    简述 今天自己上线了一个简单的 Page,没有什么功能就是一个展示页. 但是,我发现部署完,上线后,还要弄不少东西.下面就是我记录.整理的一些上线网站基本都会用到的网站和配置. 加入统计代码 这个是必 ...

  2. XSS DOM 测试

    dvwa DOM XSS DOM Based XSS:是基于DOM文档对象模型的操作,通过前端脚本修改页面的DOM节点形成的XSS,该操作不与服务器端进行交互,而且代码是可见的,从前端获取到DOM中的 ...

  3. leetcode — single-number-ii

    /** * Source : https://oj.leetcode.com/problems/single-number-ii/ * * Given an array of integers, ev ...

  4. 想晋级高级工程师只知道表面是不够的!Git内部原理介绍

    本文由云+社区发表 作者:腾讯工蜂用户:王二卫 从不一样的视角了解git,以便更好的使用git 一.git & git 版本库认识 git 是一个内容寻址的文件系统,其核心部分是一个简单的键值 ...

  5. Linux 项目上线管理 MAVEN + expect 一台机器管理所有机器的应用程序

    一.目的 在一台服务器上面管理所有机器的应用程序. 设想是通过一条命令能够知道所有应用程序是否running 如果not running 查看具体项目的log 跟踪具体原因,程序问题汇报相关负责人 二 ...

  6. Oracle 11g设置IP访问限制

    出于数据安全考虑,对Oracle数据库的IP做一些限制,只有固定的IP才能访问. 修改$ORACLE_HOME/network/ADMIN/sqlnet.ora文件 增加以下内容(红色表示注释): # ...

  7. 安装VS时,双击setup.exe后界面一闪而过的问题

    问题:安装VS时,双击setup.exe界面一闪而过的问题 解决: 百度后说需要到"控制面板/添加和管理程序"关闭系统自带的netframework3.x及以上版本. 1.查看所有 ...

  8. 学JAVA第八天,今天用循环做了个好玩的东西

    今天用for循环做了个打印矩形的图案 代码如下: package nf;class Kest{ public static void main(String args[]){ int a=30; in ...

  9. Java开发笔记(九)赋值运算符及其演化

    前面的加减乘除四则运算,计算结果通过等号输出给指定变量,注意此时代码把变量放到等号左边.而在算术课本里,加法运算的完整写法类似于“1+1=2”这样,运算结果应该跟在等号右边.不过代数课本里的方程式存在 ...

  10. pythn print格式化输出---------"%s 和 % d" 都是什么意思?

    pythn print格式化输出. %r 用来做 debug 比较好,因为它会显示变量的原始数据(raw data),而其它的符号则是用来向用户显示输出的. 1. 打印字符串 print (" ...