一、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. 什么是Web Server

    WebService到底是什么? 一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术. WebService平台技术 XML+XSD,SOAP和WSDL就是构成WebSer ...

  2. Docker安装MySQL并配置my.cnf

    1.创建一个临时的mysql,以便复制出my.cnf等数据 $ docker run --restart=always -d -v /opt/data/mysql/:/var/lib/mysql -p ...

  3. Config安全控制

    1.config server引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <a ...

  4. mysql数据库迁移文档

    数据库迁移文档 一.需求 确保数据库稳定的运行,为开发人员提供方便的测试数据库和生产数据库的环境. 二.数据库整体架构(master/slave) 1.slave数据库安装 rpm -Uvh http ...

  5. Linux 进程管理工具 supervisord 安装及使用

    Supervisor是用Python实现的一款非常实用的进程管理工具 1.安装过程非常简单 安装python 安装meld3-0.6.8.tar.gz 安装supervisor-3.0a12.tar. ...

  6. Java并发专题(一)认识线程

    1.1 认识线程 线程是轻量级进程,也是程序执行的一个路径,每一个线程都有自己的局部变量表.程序计数器(指向正在执行的指令指针)以及各自的生命周期,现代操作系统中一般不止一个线程在运行.比如说,当我们 ...

  7. webpack4.0各个击破(7)—— plugin篇

    webpack作为前端最火的构建工具,是前端自动化工具链最重要的部分,使用门槛较高.本系列是笔者自己的学习记录,比较基础,希望通过问题 + 解决方式的模式,以前端构建中遇到的具体需求为出发点,学习we ...

  8. 第44章 添加新协议 - Identity Server 4 中文文档(v1.0.0)

    除了对OpenID Connect和OAuth 2.0的内置支持之外,IdentityServer4还允许添加对其他协议的支持. 您可以将这些附加协议端点添加为中间件或使用例如MVC控制器.在这两种情 ...

  9. C#图片裁切,生成新图片

    /// 图片裁剪,生成新图,保存在同一目录下,名字加_new,格式1.png 新图1_new.png /// </summary> /// <param name="pic ...

  10. Spring Boot 整合 elk

    一.elk 简介 Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstas ...