白话UNIX GNU/Linux GPL 那些事

一文带你了解Unix,Linux,GNU,GPL的关系 Linux与Unix Unix操作系统是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一Unix规范(Single UNIX Specification,SUS)的... 阅读详情

前言

说起来UNIX 或者Linux 多数人都多少会知道点,如果是IT行业可能了解的更多。但是真正说起他们的起源我相信没有太多人能说的清楚,今天咱们就聊聊这几位看着眼熟又不认识的几位仁兄。

UNIX

先说UNIX吧,话说还是1970年的时候,在AT&T的贝尔实验室有个哥们叫Ken Thompson就是下面这位仁兄(后人称之为UNIX之父)

把自己写的一个叫“星际旅行”的程序移植到一台PDP-7的计算机上,因为当时只支持两个使用者,所以就戏称为“Multiplexed Information and Computing Service”,缩写为“UNIXCS",后来根据发音就叫UNIX了,所以说1970年为UNIX的诞生年。

1974年,这哥们发表了一篇文章,结果各大公司和学校都很感兴趣,争着问他要代码。这大兄弟也大方,把当是的UNIX 威武(V5) 就直接公布了。学校拿了代码各种教学研究,公司拿了代码也开始在机器上搞起来,于是就有了后面的学院派和商业派之分。

1979年, AT&T 发现自己公司员工开发出来这玩意现在这么火,可不能随便让别人拿走了,于是就对各大高校发话了,对不起了各位,从UNIX V7以后你们不能用我们的代码了,拿来教学也不中。老教授表示不服气,指着AT&T说:”你行,V7 不让用我们就用V6呗“于是乎到了下一年

1980年,在学校老教授和同学们的努力下,发展出来了一个新的分支,Berkeley的BSD UNIX;另外当然是AT&T为首的商业化分支。详细分化看后面的图。

Berkeley分支均为非商业化分支,包括苹果mac OS IOS

其他的为商业化分支

GNU GNU/Linux Linux

什么是GNU? GNU is Not UNIX. what is fuc? 什么鬼?看不明白就对了。这本身就一个外国人的幽默,就好像一个模仿赵本山的人说,什么是我? 我不是赵本山。 啥意思,意思就是说虽然我不是赵本山,但是我和赵本山很像。这个例子有点不太恰当,是因为GNU并不是模仿UNIX,他只是按照UNIX的标准接口去开发另外一个操作系统。所以GNU你可以理解为一个操作系统,和Window和Unix一样。

1971 有个哥们叫 Richard Stallman(自由软件之父) 兄弟在MIT的自由软件小组工作,当时大家开发软件都是可以自由复制安装,自由修改代码,自由合作。但是到了80年代,世道变了,大家都想拿软件赚钱,以前的自由不复存在,兄弟很郁闷,下个软件还要收费,COPY代码都不行,很不爽。

1983年,一怒之下的Richard Stallman站出来说话了,我要搞个项目,名字就叫GNU,这是个完全自由的操作系统,里面的软件咱们大家一起写,都是免费,并且可以随便玩的,别跟我BB,你没听错,我们要的就是自由的感觉,大家都赶紧来跟我high。

1985年 Richard Stallman 兄弟又成立了自由软件基金会(Free Software Foundation),搞项目光靠大家主动贡献也不行,有些东西还需要请人写,没钱还是不行啊,基金会成立就是为了拉赞助,搞钱。

1989年 Richard Stallman发布了库通用许可证(Library General Public License,简称GPL),既然要搞自由也得有个规矩,不能由着性子乱搞,这个协议基本上就是说你如果用别人的代码,你的代码或者软件必须也开放给别人用。

1990年,整个系统搞的差不多了,什么编译器、编辑器、文本格式化软件、邮件软件、图形界面、应用库、游戏等等都搞好了,但是还缺了关键的一个东西,内核。这东西管理着整个机器硬件的资源可不是拉磨容易写出来,从GNU开始到目前为止,GNU的内核Hurd还没弄出来,大伙表示很郁闷。

1991年,一个叫Linus Torvalds的荷兰天才黑客少年(Linux之父),因为懒,懒,懒,所以随手写了一个磁盘驱动和文件系统,这就成为了今后Linux的内核雏形。

1992年,天才少年在自由之父的感召下,毫不犹豫的把自己写的Linux内核加入了GNU计划,于是乎,呼啦一下,GNU系统终于完成了。

也许是因为Linux内核比较重要,所以大家把GNU 系统就叫做GNU/Linux系统,他是自由软件和Linux内核的合体。 后来慢慢的人们把GNU/Linux以及各种发行版本都统称为Linux。

 

 

 

 

 

 

 

 

GNU技术资料 GNU是“GNU's Not Unix”的递归缩写 GNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。Richard Stallman最早是在net.unix-wizards新闻组上公布该消息,并附带一份《GNU宣言》等解释为何发起该计划的文章,其中一个理由就是要“重现当年软件界合作互助的团结精神”。 立即下载

相关推荐

dify智能体:日志管理与标注功能详解

日志管理与标注功能是优化聊天助手、Agent、文本生成应用、Chatflow 和工作流等工具交互体验的关键。日志管理允许用户查看、修改和标注日志,帮助回顾和优化交互内容。用户可以通过点击👍或👎按钮快速标注满意度,标注后的日志可用于后续优化和分析。标注功能则支持用户对交互内容进行标记和调整,以提升模型输出质量。此外,用户还可以调整界面语言和时区设置,确保在熟悉的环境中操作。这些功能共同作用,显著提升了交互体验和模型性能。

zyx_bx的博客 2710

Unix,Linux,GNU,GPL之间的关系

什么是Unix 什么是Linux 什么是GNU Unix,Linux,GNU,GPL之间的关系

淡然 4304

LT9211 单路mipi转双路mipi芯片,方案成熟,提供技术支持

LT9211 单路mipi转双路mipi芯片

TEL15012949045的博客 5012

GNU's Not Unix

GNU,一個類UNIX的作業系統,由GNU計劃推動,目標在於建立一個完全相容於UNIX的自由軟體環境。發展GNU系統的計劃,最早由理查德·斯托曼在1983年啟動,它是自由軟體基金會最早致力的目標。最近一個GNU系統版本,是於2011年4月1日釋出的GNU 0.401,採用GNU Hurd作為作業系統內核。其他的內核,最著名的是Linux kernel,也被應用在GNU系統中。 G

Work Hard, Play Harder! 1853

从零开始理解二极管限幅:5种典型电路设计及实际应用场景解析

本文系统解析了二极管限幅电路的五大经典拓扑,包括串联与并联型上下限幅及双向限幅。通过剖析其核心原理与二极管的单向导电性、正向压降特性,结合ADC输入保护、电源管理、音频处理等实际应用场景,提供了从器件选型到设计陷阱规避的完整实战指南,帮助工程师为信号构建可靠的“安全笼”。

2y3u4i5o6p的博客 1033

Cadence SIP Layout 简单教程-第二章

[从whp1920 网易博客迁移至优快云] 第一章在正式布线之前做了必须做的准备工作,下面进入正题,打开Candence SIP RF Layout GXL软件。 第一节 导入外形尺寸 打开SIP设置文件保存路径,如下图所示进入导入DXF页面,选中前一章时画好的外框图。打开导入界面后,再进入DXF In Edit/View Layers界面选择所有层,导入Class选择DRAWING FOR...

whp1920的博客 6939

【Linux】GNU是什么

Linux内核与GNU工具集合合,形成了广泛使用的操作系统,通常被称为GNU/Linux。1. 操作系统:GNU项目开发了一个名为GNU系统(GNU System)的操作系统,它包括了内核、shell、编程语言编译器、文本编辑器、文件系统等组件。5. GNU Hurd:GNU项目开发了自己的内核,称为Hurd,它是GNU系统的一部分,但Hurd的开发进度较慢,并没有广泛部署。3. GNU通用公共许可证(GPL):GNU项目开发了一种许可证,即GNU通用公共许可证,它允许软件以自由软件的形式分发和使用。

qq_35902025的博客 2149

KITTI数据集下载及解析

KITTI数据集下载及解析 版本 更新时间 更新内容 作者 1 V 1.0 xxx 完成主体内容 W. Xiao 2 文章目录KITTI Dataset1 简介1.1 数据采集平台1.2 坐标系2 数据解析2.1 image文件2.2 velodyne文件2.3 calib文件2.4 label文件3 KITTI可视...

u013086672的博客 5万+

GNU 是什么?

https://www.gnu.org/ GNU 是什么? GNU is a Unix-like operating system that is free software—it respects your freedom. You can install versions of GNU (more precisely, GNU/Linux systems) which are entire...

weixin_33813128的博客 410

Sigrity XtractIM实战:5步搞定IC封装宽带模型提取(附BGA案例)

本文通过一个典型BGA封装案例,详细介绍了使用Cadence Sigrity XtractIM工具进行IC封装宽带模型提取的五步实战流程。内容涵盖从环境准备、参数设置、结果验证到模型导出的完整操作,重点阐述了如何利用XtractIM生成高精度、紧凑的宽带SPICE模型,以解决高速电路设计中因封装模型不准导致的信号与电源完整性问题,助力工程师提升仿真精度与设计效率。

a1b2c的博客 318

PCL SAC-IA 初始配准算法【2025最新版】

采样一致性初始配准算法,简称SAC_IA。博客长期更新,本文最新更新时间为:2025年1月1日。新增参数设置建议

点云侠的博客 37万+

[Linux] GNU、Unix、Linux、Makefile、GCC、GDB、GPL、CentOS 7、Ubuntu之间的关系

Makefile 是一个用于自动化编译和构建过程的文本文件,尤其在软件开发项目中被广泛使用。它定义了一系列规则,说明了如何将源代码文件编译成可执行文件、库或者其他目标文件。Makefile 的核心作用在于它能够管理源代码文件之间的依赖关系,并只重新编译那些发生更改或者其依赖项发生更改的文件,从而极大地提高了编译效率。 当开发者在命令行输入 命令时,Make 工具(通常是 GNU Make)会读取当前目录下的 Makefile,并根据文件中的规则自动执行必要的编译步骤。Make 工具还会检查

庐陵居士 1823

C#每日面试题-属性和字段的区别

在C#面试中,“属性(Property)和字段(Field)的区别”是基础且高频的考点。很多初学者会把两者混为一谈,甚至觉得“属性就是加了get/set的字段”,但这种理解只停留在表面。面试考察的核心,是对“封装思想”的理解,以及两者在语法特性、底层实现、实际应用中的本质差异。今天我们从“基础认知→核心差异→底层原理→实际应用→面试避坑”五个层面,把这个知识点讲透,既保证新手能看懂,又能满足面试的深度要求。

Amon的专栏 776

什么是GNU、GCC、linux、minGW、Cygwin、MSVC?大白话和你讲清楚

对于GNU、GCC、minGW、MSVC等名词的通俗解释

Alex_0701的博客 3600

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Linux系统是什么

如果您正在浏览新的台式机或笔记本电脑,它可能会包含最新版本的 Windows。哎呀,你甚至可以使用基于 Windows 的 PC 阅读这篇文章。当然,如果您是专门的 Apple 客户,您可能会使用基于 MacOS 的 PC。它们是目前主导台式机和笔记本电脑市场的两大主要操作系统。 Linux 是一个基于 UNIX 的免费开源操作系统(OS),由 Linus Torvalds 于 1991 年创建。用户可以修改和创建计算机和其他设备的源代码变体,称为分发。最常见的用途是作为服务器,但 Linux 也用于

地推 2249

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

1_Linux概述

linux就是一套操作系统 //系统调用与内核如果能够参考硬件的功能函数并修改你的操作系统程序代码,那经过改版后的操作系统就能够在另一个硬件平台上面运行了,这个操作通常被称为"软件移植"每种操作系统都是在它专门的机器上面运行的。不过linux由于是Open Source(开放源代码)的操作系统,所以它的程序代码可以被修改成适合在各种机器上面运行的,也就是说,linux是具有"可移植性"u...

weixin_30826095的博客 75

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Linux运维学习路线,实用Linux教程,推荐学习收藏

点击上方“杰哥的IT之旅”,选择“置顶公众号”干货、福利第一时间送达!Linux操作系统在短短的几年之内得到了非常迅猛的发展,这与linux具有的良好特性是分不开的。Li...

JackTian 681

Linux(一)Linux的基本指令操作和shell命令以及运行原理

Linux的基本指令操作和shell命令以及运行原理

2501_94404690的博客 1278

Linux学习随记(正在施工ing……)

个人Linux学习随记,自用,To Be Continue...

2301_80089588的博客 1562

Day3学习记录

(1)无符号unsigned;有符号signed(可省略)(2)进制:二进制0-1 八进制0-7 %o十六进制0-9 10-15(a-f/A-F) %x/%X定义八进制数据,以0开头。定义十六进制数据,以0x开头。在计算机定义数据时,不可以直接定义二进制。

2301_81835041的博客 834

写给三弟的 C语言编程 快速入门

三弟,你要的C语言快速入门,已整理好 请接收。

码刀攻城 3926

GNU与Linux之间的关系

是现代操作系统的一个重要组成部分,它涉及到自由软件运动和开源软件的发展。二者虽然经常被混为一谈,但实际上它们分别代表了不同的项目和贡献。

zyqash的博客 1441

GPL与BSD许可证的区别

GPL和BSD许可证是开源社区最大的两个阵营,尽管都提倡开源、自由,但是两阵营相互不鸟,经常争论不休。根本上是因为两者对于代码的使用自由有着本质上的不同。 GPL许可证的由来        1980,一个叫Richard Stallman的美国人因为无法容忍软件私有化,而建立了GPL许可证。他认为,软件的源代码是全人类的财富,应该允许程序员自由共享。         GPL许可证

u012028371的博客 9373

Linux内核是什么?Linux内核是怎么工作的?

关于linux内核的学习

weixin_44125541的博客 957

GNU是“GNU's Not Unix”的递归缩写。

GNU是“GNU's Not Unix”的递归缩写。

wangerge的专栏 2421

Linux命令之grep

目录 极简用法 参数含义 应用举例 更多用法 极简用法 grep pattern filename cat filename | grep pattern 匹配出包含pattern字符串的相应行,pattern上也可以加双引号。 参数含义 参数 参数含义 补充说明 -b 给出匹配字符串的在该行的字符偏移量 与-o合用 -c 给出匹配的...

u010248374的专栏 650
上一篇: selinux是什么
下一篇: test SVG
wangjunhe
博客等级 码龄20年 31粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值