什么是GNU?GNU/Linux和Linux有何区别?_linux和gnu-程序员宅基地

技术标签: linux  

  谈起GNU/Linux和Linux,很多人对它们都存在很大的疑问,甚至傻傻分不清楚它们之间的差异,那么Linux与GNU/Linux有什么区别?接下来这篇文章是详细的内容介绍。

  Linux仅仅是一个内核,你可以从官网上下载这份源码;而GNU/Linux是一个操作系统,类似于Windows操作系统,包括Linux内核、编译器、编辑器、桌面系统、应用程序等整个生态。

  什么是GNU?

  GNU是一个操作系统,GNU是“GNU's Not Unix”的递归缩写 ,它的正确发音是:葛奴,而不是直接读G-N-U 或 new。GNU操作系统是一个类似Windows的自由软件操作系统,包括整个生态:操作系统内核、编译器、调试器等开发工具、办公软件、桌面游戏等自由软件。

  GNU工程发起于1984年,带头大哥是Richard Stallman, 就是写了Emacs、GNU C编译器、GNU C调试器的这位大名鼎鼎的黑客。GNU工程的目标是:构建一个类似Unix的操作系统,包括内核、编译器、编辑器、电子表格、邮件软件、图形界面、应用库、游戏软件等。或者说,就是构建一个类似Windows生态的操作系统,方便计算机用户和开发者方便快乐地使用计算机。

  GNU工程一个巨大的工程:开发一整套操作系统,包括内核、编译器、调试器、开发工具、应用软件等,绝非一个人或一个团队所能完成的,因此在1985年10月,成立了自由软件基金会,它初期用来给GNU募集资金。

  GNU与GNU Linux

  GNU工程的目标,是构建一个包括内核在内的操作系统生态。在早期,在自由软件基金会的支持下,大多数自由软件项目都是以完成某项具体工作为目标。比如,Donald Knuth编写一个文本排版软件(TeX);Bob Scheifler开发一个窗口系统(X Window);Richard Stallman 开发了C编译器和调试器。 GNU工程也在开发一个操作系统内核,叫hurd,但是开发不是很顺利,后来Linus Torvalds编写一个类似Unix的内核(Linux) ,这样,整个操作系统的组件就齐全了,GNU/Linux操作系统就发布了。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/oldboyedu1/article/details/135199209

智能推荐

在windows系统调试ydlidar详细记录(物联网机器人方向)_物联网windows系统调试-程序员宅基地

文章浏览阅读2.3k次,点赞2次,收藏8次。这篇博文详细记录在windows系统调试ydlidar的全过程ydlidar采用全无线连接方式,测距雷达放在迷你机器人(型号tianbotmini,中文名天宝迷你)上如下图所示,需要usb无线设备接受雷达信息:装配雷达的机器人和接收器由于使用机器人操作系统(ROS1和ROS2),需要安装机器人操作系统的请参考如下: 在Windows系统安装ROS机器人操作系统(更新日期2020年10月,附官网链接) 下面开始操作,使用SDK版本为1.4.7,发布日期为2020年3月31日。Linux_物联网windows系统调试

iOS内购-防越狱破解刷单_software-version-external-identifier-程序员宅基地

文章浏览阅读3.8k次。---------------------------2018.10.16更新---------------------------最近我们公司丢单率上涨,尤其是10月份比9月份来说丢单率翻了3倍,和一些同行交流了一下,发现他们也是丢单量增加,初步推断可能是苹果iOS12的原因,某些情况下会有用户内购成功后,却返回的是订单失败,错误类型为SKErrorUnknown。目前客户端好像没办法去解决。如果有小伙伴和我一样也遇到过相同的问题话,请私信我下,我们都多互相交流一下。--------------._software-version-external-identifier

Multi-Scale Guided Concurrent Reflection Removal Network_reflection network-程序员宅基地

文章浏览阅读364次。gradient inference network(GiN):输入是4通道张量,它是输入混合图像及其对应梯度的组合.The image inference network (IiN):以混合图像为输入,提取描述全局结构和高层语义信息的背景特征表示来估计B和R。GIN网络用的是一个镜像框架结构,即首尾结构对称(分别对应编码和解码结构)。编码结构由五个卷积层构成,先一个步长1..._reflection network

select2 下拉选择后首次未触发change事件_select2 change-程序员宅基地

文章浏览阅读7.5k次。问题现象: select2 下拉选择框,首次切换到“全部”选项不会触发change事件。问题背景: select2 下拉选择框,有设置默认值(非全部),在加载数据时,改动后端返回数据,加了一条“全部”的下拉选择内容:list.unshift({'id':'','text':'全部'}); 问题分析: 首次切换到“全部”选项后,并未触发change事件; 而首次切换到其他..._select2 change

python升序降序_python 根据两个字段排序, 一个升序, 一个降序-程序员宅基地

文章浏览阅读867次。给定一个字符串, 输出出现次数最多的前三个字符, 若两字符出现次数相同, 则按字典顺序排列.# 样例输入aabbbccde# 样例输出b 3a 2c 2就是先将第二字段降序排序, 再将第一字段升序排序, 关键就是sorted函数key的指定, 可以用 lambda 或operator.itemgetter开始我是这样做的:from collections import Counterc = Cou..._py 多字段排序先升序再降序

红帽 RHEL power8 rhel-server-7.2-ppc64le-dvd.iso-程序员宅基地

文章浏览阅读3.1k次。红帽 RHEL power8 服务器小端版本,找了很久才找到,官方不提供下载了,放这里给大家对于没有HMC,没有显卡的小机运维,不想搭一堆环境的人来说是福音,SUSE11没有小端版本,12用的引导界面在SMS下全是乱码,只能用吐血两字来形容,centos 7 装上会出现IOA口驱动失败的情况,目前找不到原因,这个是官方支持带驱动的,rhel-server-7.2-ppc64le-dvd.i_rhel-server-7.2-ppc64le-dvd.iso

随便推点

springboot 新增模块之后,需要设置java文件夹为Sources Root_springcloud 生产者有sourcesroot-程序员宅基地

文章浏览阅读1.2w次,点赞3次,收藏3次。 springboot 同项目下,新增模块之后,所有资源文件格式显示会有问题,需要设置java文件夹为Sources Root之后才能进行编码。模块src下java包右键 -> Mark Directory as -> Sources Root..._springcloud 生产者有sourcesroot

树遍历(BFS+DFS(递归+非递归))-python代码整理_bfs算法递归遍历树 python-程序员宅基地

文章浏览阅读1.1k次,点赞5次,收藏13次。数据结构算法-树最近再刷leetcode的树,整理了常用遍历代码包含树的层次遍历(广度优先遍历)与前中后序遍历(深度优先遍历):#########################################层次遍历(广度优先遍历)★★★★★#BFS通用模板,层次遍历通用:#使用队列实现def levelOrder(root): if not root: return [] queue=[root] ans=[] while queue: a=[] #方便保存每一层的_bfs算法递归遍历树 python

有关java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=186646784)的解决方法-程序员宅基地

文章浏览阅读1.6k次。问题描述:在用Java访问数据库时,出现以下提示:java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=186646784)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))原因:在连接数据库时,所连接的url的地址格式输入有误解决方法..._connection refused(description=(tmp=)(vsnnum=186646784)(err=12505)(error_sta

Servlet--Request生命周期_tomcat中request的生命周期-程序员宅基地

文章浏览阅读5k次,点赞4次,收藏13次。Servlet--Request生命周期一、Request、Response对象的生命周期1、浏览器像servlet发送请求2、tomcat收到请求后,创建Request和Response两个对象的生命周期,并且将浏览器请求的参数传递给Servlet3、Servlet接收到请求后,调用doget或者dopost方法。处理浏览器的请求信息,然后通过Response返回_tomcat中request的生命周期

解决GitHub不能访问的几个办法_github打不开-程序员宅基地

文章浏览阅读7.9w次,点赞16次,收藏80次。GitHub页面时而能访问,时而不能。不是慢,而是不能访问。当然,下载它的比如仓库Release下的压缩包比较慢则是另一回事。蛋疼的影响不限于打不开页面,更多的在于不能git pull和git push等操作。范围方面,凡国内不管是家宽、移动网络还是云上的,都受到一致的影响。_github打不开

经纬恒润测试开发面经_经纬恒润 面试-程序员宅基地

文章浏览阅读4.5k次,点赞3次,收藏21次。9.24 15:00 电话一面 35min面试官是一个声音巨好听的小哥哥......,迷恋ing,而且也超级温柔,嘻嘻嘻嘻嘻嘻1.自我介绍2.讲项目是不是自己做的 怎么做的 项目分工 担任角色 项目测试(全程死抠测试,单元测试死抠.....) 为什么做这个项目3.对软件测试的理解4.针对我的专业有疑问,主修课程有哪些,5.为什么做测试6.你觉得互..._经纬恒润 面试