Unix 和 Linux 那些事

article/2025/10/13 2:13:51

目前世界上有三大主流操作系统,Windows、Linux 和 Unix。安卓系统是基于 Linux的,苹果系统是基于 Unix的。全世界大部分的服务器运行着 Linux操作系统,其中 99%的超级计算机都是使用 Linux。但是 Linux系统又被称为类Unix系统,那么 Unix 和 Linux到底有什么区别和联系呢?
在这里插入图片描述

Unix 的起源

1969年,由 Ken Thompson 在 AT&T 贝尔实验室实现的,使用的是汇编语言。

1970年,Ken Thompson 和 Dennis Ritchie 使用 C语言对整个系统进行了再加工和编写,使得 Unix能够很容易的移植到其他硬件的计算机上

在这里插入图片描述

起初 AT&T 没有把 Unix作为正式商品,仅以分发许可证的方法,对 Unix收取很少的费用,就把 Unix的源代码散发到各个大学。由于 Unix收费低,很多厂商就选择了 Unix作为他们生产的计算机使用的操作系统

Unix 的两大分支

70年代中后期,在Unix发展到了版本6之后,AT&T 认识到了 Unix的价值,成立了 Unix系统实验室(Unix System Lab,USL)来继续发展Unix

而几乎同时,加州大学伯克利分校计算机系统研究小组(CSRG)也在对Unix进行研究,并做了大量改进工作,组成一个完整的 Unix系统 ── BSD Unix(Berkeley Software Distribution,伯克利软件套件),向外发行

BSD Unix有很大的影响力,例如美国国防部项目ARPANET(阿帕网),发展成为了Internet,在 BSD Unix中最先实现了 TCP/IP协议,使 Internet和 Unix紧密结合在一起

AT&T吸收了 BSD Unix中已有的各种先进特性,并结合其本身的特点,推出了 Unix System V 版本,至此 Unix形成两大分支

1992年,Unix系统实验室指控一家发行商业 BSD Unix的公司(BSDI),违反了AT&T的许可权,发布自己的 Unix版本。 后来,Unix系统实验室被 AT&T 卖给了 Novell公司,Novell不打算陷入这样的法律纷争中,因此就采用了比较友好的做法。伯克利的 CSRG被允许自由发布 BSD,但是其中来自于 AT&T 的代码必须完全删除

GNU/GPL

GNU计划是由自由软件之父 Richard Stallman 在1983年9月27日公开发起的。是 GNU’s Not Unix 首字母的缩写,它的目标是发展一个类似UNIX,完全自由的操作系统

General Public License(通用公共许可协议,GPL)是一种版权形式,是 Richard Stallman 在开放源代码软件发行的实践中,总结出的一套保护自由软件的条款。商业软件版权中,会用到 Copyright,而在GPL中,则使用 CopyLeft

GPL的中心思想是自由软件由开发者提供源代码,任何用户都有权使用、拷贝、扩散、修改该软件,同时用户也有义务将自己修改过的程序代码公开。允许用户在分发过程中收取一定的费用。但是,用户在再分发时,要保证新用户能取得源代码的权力。保证新用户与自己相同,在得到软件时,同时得到同自己一样的权力。在GPL下,不存在盗版,但是用户不能将软件据为己有(比如申请软件专利等),因为这将侵犯 GPL版权

GNU/Linux

到了90年代,GNU计划已经发现或者完成了构建一个操作系统所需的,除了内核之外的所有主要成分

1991年,Linus Torvalds开发了一个自由的内核。1992年,把 Linux和几乎完成的 GNU系统结合起来,就构成了一个完整的操作系统:一个基于 Linux的 GNU系统(GNU/linux)。值得注意的是 Linux并没有使用 Unix的源码,它是按照公开的 POSIX标准重新编写的

在这里插入图片描述

商业化的 Linux有 RedHat Linux 、SuSe Linux、slakeware Linux、国内的红旗等

Unix 和 Linux 的区别和联系

两者的联系:

  • Linux思想源于Unix,以Unix为原型开发的
  • Linux产品成功的模仿了Unix系统和功能

两者的区别:

  • Linux是开放源代码的自由软件,而Unix是对源代码实行知识产权保护的传统商业软件
  • Unix系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上

往期推荐

● 嵌入式Linux专栏

● STM32CubeMX专栏

● FreeRTOS专栏

● LWIP网络开发专栏

● WiFi无线开发专栏

● RFID射频识别专栏


http://chatgpt.dhexx.cn/article/cea1R35O.shtml

相关文章

Linux和UNIX的关系及区别

原文链接 UNIX 与 Linux 之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞生于 20 世纪 90 年代初,可以说 UNIX 是操作系统中的&qu…

Linux和UNIX的关系及区别(详解)

UNIX 与 Linux 之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞生于 20 世纪 90 年代初,可以说 UNIX 是操作系统中的"老大哥&…

Linux与Unix有什么区别吗?

Linux和Unix都是功能强大的操作系统,都是应用广泛的服务器操作系统,有很多相似之处,甚至有一部分人错误地认为Unix和Linux操作系统是一样的,然而,事实并非如此,以下是两者的区别。 1. 开源性 Linux是一款…

【Linux基础】Unix与Linux操作系统介绍

一、Unix和Linux操作系统概述 1.Unix是什么 UNIX是一个计算机操作系统,一个用来协调、管理和控制计算机硬件和软件资源的控制程序。 2.Unix特点 (1)多用户:在同一时刻可以有多个用户同时使用UNIX操作系统而且他们互不干扰&#xf…

Unix简介及Linux简介

1.Unix简介 UNIX是20世纪70年代初出现的一个操作系统,除了作为网络操作系统之外,还可以作为单机操作系统使用。Unix作为一种开发平台和台式操作系统获得了广泛使用,主要用于工程应用和科学计算等领域。 2.Unix哲学 3.资深Unix程序员的格言 …

vue实现前端登录验证码

一、验证码组件 <template><div class"s-draw"><canvas id"s-draw" :width"contentWidth" :height"contentHeight"></canvas></div> </template> <script> export default {name: SIdentif…

用户登录的验证码

效果展示 1.在component中导入组件用于生成二维码 Identify.vue <template><div class"s-canvas"><canvas id"s-canvas" :width"contentWidth" :height"contentHeight"></canvas></div> </templ…

vue实现登录验证码

效果图&#xff1a; html代码 输入错误三次显示该验证码&#xff0c;isSidentify 为输错次数 <div class"inputYzm vfCode" v-if"isSidentify > 3"><input placeholder"请输入验证码" v-model"sidentifyMode" /><…

JavaWeb实现登录验证码

在登录界面中使用图片验证码, 对于现在的web应用到处可见. 话不多说, 开始写代码了! 首先, 新建一个JSP, 表示登录界面: login3.jsp文件: <%--User: menglanyingfeiDate: 2018/1/12Time: 16:16 --%> <% page contentType"text/html;charsetUTF-8" langu…

验证码登录如何实现?

手机验证码登录 1、需求分析2、数据模型3、代码开发-交互过程4、代码开发-准备工作5、代码开发-修改LoginCheckFilter6、代码开发-接口开发7、前端代码介绍8、启动测试 1、需求分析 为了方便用户登录&#xff0c;移动端通常都会提供通过手机验证码登录的功能。 手机验证码登录…

登录验证

登录验证理解&#xff1a;指的是进入一个页面或者是系统之前检验用户是否有权限进入 登录验证的步骤&#xff1a; ① 获取页面用户输入的数据&#xff0c;然后通过提交传递到控制器 ② 在控制器中对页面传过来的数据进行验证&#xff0c;检查数据数据是否为空&#xff0c;密码…

网页登录时验证码功能的实现

网页登录时验证码功能的实现 在我们日常上网时&#xff0c;经常会遇到要登录的界面&#xff0c;我们会发现他会让你输入账号&#xff0c;密码外&#xff0c;还需要输入随机生成的验证码。 作用&#xff1a; 不少网站为了防止用户利用机器人自动注册、登录、灌水&#xff0c;都…

登录验证码(前后端分离、不分离)

1.简介  Java图形验证码&#xff0c;支持gif、中文、算术等类型&#xff0c;可用于Java Web、JavaSE等项目。 2.效果展示 3.导入项目 3.1.gradle方式的引入 dependencies {compile com.github.whvcse:easy-captcha:1.6.2 }3.2.maven方式引入 <dependencies><dep…

JavaScript入门一(JS基础知识)

文章目录 一、JavaScript是什么二、网页组成三、什么是JS引擎四、JavaScript特点五、JavaScript的组成六、JavaScript的引用方式1、行内嵌入式2、页内嵌入式3、外部式&#xff08;外链式&#xff09; 七、变量1、什么是变量2、变量的命名规则3、变量的定义方式4、变量的使用 八…

JS逆向需要掌握的JS基础知识与前端知识

本文将会把我平时在JS逆向中遇到的一些JS基础知识和遇到的问题写在这里。&#xff08;比较杂&#xff09; JS逆向需要掌握JS基础知识 nodejs和v8引擎的关系NodeJS环境和浏览器环境执行JS代码区别 webpackJS逆向中常见的window.webpackJsonp分析 JS基础语法声明时用"var&qu…

Vue.js基础知识点总结

Vue基础总结 邂逅Vuejs 1.认识Vuejs Vue是一个渐进式框架, 什么是渐进式的呢? 声明式渲染→组件系统→客户端路由→集中式状态管理→项目构建渐进式意味着你可以将Vue作为你应用的一部分嵌入其中&#xff0c;带来更丰富的交互体验。 Vue有很多特点和Web开发中常见的高级功能…

JavaScript基础知识总结笔记

一、js的两种引入方式 1.<script type"text/javascript"> 自己编写的js代码 </script> 将上面的代码放在<head></head>或者<body></body>之间 2.直接保存为js文件&#xff0c;然后外部调用<script type"text/java…

JavaScript 基础知识总结(一)

这是近期学习JavaScript基础知识的学习笔记 目前在学习Web API&#xff0c;学习途中有时间的话也会发一发自己的心得吧 一.Java Script简介 JS分为三部分&#xff1a; 而学习的java script基本语法属于ECMAScript 二.书写位置 与CSS相同&#xff0c;JS的书写位置也有如下…

JavaScript基础知识总结(1)

hello小伙伴们&#xff0c;本期来更新一下JavaScript基础知识&#xff0c;当做对JS的复习。 之前更新的有CSS复习和HTML复习&#xff0c;在这里放上链接 前端大厂面试笔记&#xff08;二&#xff09;&#xff08;持续更~~&#xff09;_Ss、、帅海的博客-CSDN博客 正文开始 1…

JS 基础知识

JS 基础知识 JS简介 JavaScript是一种基于对象和事件驱动并具有安全性能的解释型脚本&#xff0c;在Web应用中得到了非常广泛的应用。它不需要编译&#xff0c;而是直接嵌入在HTTP页面中&#xff0c;把静态页面转变成支持用户交互并响应应用的动态页面。在JavaWeb程序中&#x…