【解答】关于Linux内核的一些疑问

GNU计划是什么

       GNU计划是由理查德·斯托曼在1983年9月27日公开发起的自由软件集体协作计划,其目标是创建一套完全自由的操作系统GNU。这个操作系统的内容软件完全以GPL方式发布,意味着用户拥有运行、复制、分发、学习、修改和改进该软件的自由。

       GNU的命名是"GNU's Not Unix"的递归缩写,因为它的设计与Unix相似,但并不包含具有著作权的Unix代码。尽管GNU计划下有许多项目和工作被完成,如核心的gcc和glibc,但由于缺少操作系统内核,原定的内核叫HURD一直未能完成。

       理查德·斯托曼最早是在net.unix-wizards新闻组上公布该消息,并附带一份《GNU宣言》等解释为何发起该计划的文章。他是一位知名的计算机科学家,曾在哈佛大学和麻省理工学院人工智能实验室工作,毕业后留在该实验室继续工作。他也是开源运动的重要推动者,被誉为“开源之父”。

UNIX系统的发展历史

       UNIX系统在计算机操作系统的发展史上占有重要的地位。它起源于20世纪60年代末期,由AT&T的贝尔实验室开发。Unix系统的设计思想是“小而美”,即尽量简化系统内核,以便更好地支持应用程序的开发和移植。

       从Unix操作系统的发展历史来看,又可以分为古典Unix,近代Unix和现代Unix。1979年,UNIX V7发布。这是历史上第一个完整意义上的UNIX版本,也是最后一个广泛发布的研究型UNIX版本。20世纪80年代相继发布的8、9、10版本只授权给了少数大学。

      1983年,4.2BSD发布。它是UNIX历史上第一个包含TCP/IP协议栈以及rcp、rsh、rlogin和rwho等网络工具的系统。此后这个方向上的研究导致了九号计划的出现,这是一个新的分布式操作系统。注:贝尔实验室九号项目(Plan 9 from Bell Labs,常简称为Plan 9)是一个分布式操作系统,由贝尔实验室的计算科学研究中心在1980年代中期至2002年开发,以作为UNIX的后继者。它现在仍然被操作系统的研究者和爱好者开发使用。

       除了贝尔实验室之外,其他机构也对Unix系统做出了重要贡献。例如,加州大学伯克利分校开发了BSD UNIX;卡内基梅隆大学开发了System V UNIX;麻省理工学院开发了CTSS和Multics。

POSIX标准是什么

      POSIX标准,全称可移植操作系统接口(Portable Operating System Interface of UNIX),是由电气和电子工程师学会(IEEE)为在各种UNIX操作系统上运行的软件定义的一系列API标准的总称。这个标准源于一个大约开始于1985年的项目。

       其正式称呼为IEEE Std 1003,而国际标准名称为ISO/IEC 9945。这个标准定义了操作系统应该为应用程序提供的接口标准。它的主要目的是使得应用程序能够在不同的操作系统上运行,从而提高软件的可移植性和兼容性。

       POSIX标准涵盖了很多方面,包括文件系统、目录和文件、进程管理、信号、系统调用、库函数等等。由于其广泛的应用,POSIX已经成为了一个重要的行业标准,被广泛应用于各种UNIX和类UNIX系统中。

Linux 内核是免费软件吗

       Linux 内核是免费软件。术语“自由软件”是指一种软件许可证,允许用户出于任何目的运行、研究、共享和修改软件。Linux 内核是在 GNU 通用公共许可证 (GPL2.0) 下发布的,GPL 是最受欢迎的自由软件许可证之一。这意味着任何人都可以下载、使用和分发 Linux 内核,而无需支付任何费用或同意任何限制。

我听说 Linux 附带了非自由的“blobs”

       在许多设备能够与操作系统通信之前,必须首先使用设备制造商提供的“固件”对其进行初始化。此固件不是 Linux 的一部分,也不会由内核“执行”——它只是在驱动程序初始化阶段上传到设备。

       虽然一些固件映像是从自由软件构建的,但其中很大一部分只能以二进制形式重新分发。为了避免任何许可混淆,固件 blob 已从主 Linux 树移动到名为 linux-firmware 的单独存储库中。

       在没有任何非自由固件二进制文件的情况下使用 Linux 是可能的,但通常以使大量硬件无法运行为代价。此外,许多在驱动程序初始化期间不需要固件 blob 的设备已经预装了非自由固件。如果你的目标是运行 100% 自由设置,则通常需要走得更远,而不仅仅是避免可加载的仅二进制固件 blob。

我可以使用“Linux”一词或 Tux 徽标吗   

        Linux 是 Linus Torvalds 的注册商标,其使用受 Linux 商标协会的约束。有关详细信息,请参阅以下页面:
       Tux 企鹅标志由 Larry Ewing 使用 Gimp 软件创建。它可以免费使用,包括商业用途,只要你给拉里·尤因适当的信用(“如果有人问”)。如需任何其他许可,请直接联系 Larry Ewing 先生。

“稳定/EOL”和“长期”是什么意思

当内核从“主线”进入“稳定”类别时,可能会发生两件事:

       在一些错误修复修订后,它们可以达到“生命周期结束”,这意味着内核维护者将不再发布此内核版本的错误修复,或者它们可以投入“长期”维护,这意味着维护者将在更长的时间内为这个内核修订版提供错误修复。
        如果你使用的内核版本标记为“EOL”,你应该考虑升级到下一个主要版本,因为你正在使用的内核版本将不再提供错误修复。

为什么 LTS 内核在首页被标记为“稳定”

        如果当前没有其他稳定内核版本,则在发布页面上宣布的长期支持(“LTS”)内核将在首页上标记为“稳定”。这样做是为了避免破坏自动解析器监视 kernel.org,并期望始终有一个标记为“稳定”的内核版本。

Linus 已经标记了新版本,但它没有列在首页上

       Linus Torvalds 为所有新的主线内核版本添加 PGP 签名 git 存储库标签,但是稳定版本团队需要生成一组单独的 PGP 签名才能创建可下载的 tarball。由于 Linus 和稳定团队成员之间的时区差异,在标记新的主线版本和 PGP 签名的压缩包可用之间通常会有几个小时的延迟。该过程完成后,首页将更新。

是否有最新内核版本的 RSS 提要

是的,你可以在 https://www.kernel.org/feeds/kdist.xml 找到它。

我们还发布了一个包含最新发布信息的 .json 文件,你可以从此处提取:https://www.kernel.org/releases.json。

我在哪里可以找到内核 3.10.0-1160.45.1.foo

       带有破折号的内核版本由发行版打包,并且经常进行大量修改。请联系相关发行版以获取确切的内核源代码。

有关分发内核的更多信息,请参阅发布页面。

如何报告内核问题

       如果你运行的是 Linux 发行版附带的内核,那么正确的起点是通过发行版支持渠道报告问题。以下是一些流行的选择:

  • Ubuntu
  • Fedora Project
  • Arch Linux
  • Linux Mint
  • Debian GNU/Linux
  • Red Hat
  • OpenSUSE
  • SUSE

如果你确定问题出在上游内核上,请参考以下文档,该文档描述了如何向开发人员报告错误和回归:

  • Reporting issues

如何参与 Linux 内核开发

好的起点在这里​​​​​​​Linux_Kernel_Newbies - Linux Kernel Newbies 。

我可以在 kernel.org 上拥有一个账户吗

       Kernel.org 帐户通常保留给子系统维护人员或知名开发人员。除非你直接向 Linus Torvalds 提交拉取请求,否则绝对没有必要在 kernel.org 上拥有帐户来为 Linux 内核的开发做出贡献。

如果你被列入 MAINTAINERS 文件,或者相信有理由根据你的贡献值,应该在 kernel.org 上拥有一个账户。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/171398.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手机技巧:安卓微信8.0.44测试版功能介绍

目录 一、更新介绍 二、功能更新介绍 拍一拍撤回功能 聊天设置界面文案优化 关怀模式新增了非常实用的安静模式 微信设置中新增翻译设置选项 近期腾讯官方终于发布了安卓微信8.0.44测试版,今天小编继续给大家介绍一个本次安卓微信8.0.44测试版本更新的内容&am…

《大话设计模式》(持续更新中)

《大话设计模式》 序 为什么要学设计模式第0章 面向对象基础什么是对象?什么是类?什么是构造方法?什么是重载?属性与字段有什么区别?什么是封装?什么是继承?什么是多态?抽象类的目的…

Android 9.0 删除录音机

Android 9.0 删除录音机 最近收到客户反馈需要去掉内置的录音机,具体修改参照如下: /project/ProjectConfig.mk: MTK_SOUNDRECORDER_APP no FREEME_PACKAGE_OVERRIDES SoundRecorder2 需要在/out/target/product/目录下检索"Sound…

一次【自定义编辑器功能脚本】【调用时内存爆仓】事故排查

一 、事故描述 我有一个需求:在工程文件中找得到所有的图片(Texture 2D),然后把WebGL发布打包时的图片压缩规则进行修改。 项目中有图片2千多张,其中2k分辨率的图片上百张,当我右键进行批量处理的时候&…

基于SSM的教师信息管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SSM的教师信息管理系统,java项目。 …

字符串原地旋转

记录一下做的练习题 字符串原地旋转:五 三 mat [[1,2,3],[3,4,5],[4,5,6]] tag0 total 0 for i in mat:total total i[tag]tag 1 print(total) 四 X [[12,7,3],[4,5,6],[7,8,9]] Y [[5,8,1],[6,7,3],[4,5,9]] res [[0,0,0],[0,0,0],[0,0,0]] for i in rang…

如何快速搭建一个大模型?简单的UI实现

🔥博客主页:真的睡不醒 🚀系列专栏:深度学习环境搭建、环境配置问题解决、自然语言处理、语音信号处理、项目开发 💘每日语录:相信自己,一路风景一路歌,人生之美,正在于…

makefile编写练习

makefile编写练习 OVERVIEW makefile编写练习文件结构直接编译整个项目并运行将项目制作成为静态库将项目制作成为动态库 编写makefile文件来编译带头文件的程序, 文件结构 初始项目文件结构,如下所示: #ifndef ADD_HPP #define ADD_HPPint…

乘波前行的问题

1.问题: 考虑两个信号叠加在一起,比如,一个是工频信号50Hz,一个是叠加的高频信号比如有3KHz,简单起见,两个信号都是幅值固定的标准的正弦波,现在我们期望得到那个高频信号,相对工频…

Royal TSX v6.0.1

Royal TSX是一款基于插件的软件,适用于Windows系统,可以用于远程连接和管理服务器。它支持多种连接类型,如RDP、VNC、基于SSH连接的终端,SFTP/FTP/SCP或基于Web的连接管理。 在安装Royal TSX后,需要进行一些基础配置&…

如何停止输出“下载存储库‘rhel-8-for-x86_64-appstream-rpms’元数据时出错”错误?

问题 dnf[XXX]:下载存储库“rhel-8-for-x86_64-appstream-rpms”元数据时出错:如何禁用 dnf-makecache? 解决 离线系统无法下载元数据存储库,然后输出错误。 有两种方法可以阻止错误。 A) 在 /etc/dnf/dnf.conf 中添加以下行。…

C++中声明友元

C中声明友元 不能从外部访问类的私有数据成员和方法,但这条规则不适用于友元类和友元函数。要声明友元 类或友元函数,可使用关键字 friend,如以下示例程序所示: 使用关键字 friend 让外部函数 DisplayAge( )能够访问私有数据成员…

2023人形机器人行业海外科技研究:从谷歌看机器人大模型进展

今天分享的是人形机器人系列深度研究报告:《2023人形机器人行业海外科技研究:从谷歌看机器人大模型进展》。 (报告出品方:华鑫证券) 报告共计:26页 大模型是人形机器人的必备要素 长期来看,人…

openEuler 22.03 LTS x86_64 cephadm 部署ceph 16.2.14 未完成 笔记

环境 准备三台虚拟机 10.47.76.94 node-1 10.47.76.95 node-2 10.47.76.96 node-3 下载cephadm [rootnode-1 ~]# yum install cephadm Last metadata expiration check: 0:11:31 ago on Tue 21 Nov 2023 10:00:20 AM CST. Dependencies resolved. Package …

数据结构(超详细讲解!!)第二十五节 线索二叉树

1.线索二叉树的定义和结构 问题的提出: 通过遍历二叉树可得到结点的一个线性序列,在线性序列中,很容易求得某个结点的直接前驱和后继。但是在二叉树上只能找到结点的左孩子、右孩子,结点的前驱和后继只有在遍历过程中才能得到…

Python与设计模式--策略模式

12-Python与设计模式–策略模式 一、客户消息通知 假设某司维护着一些客户资料,需要在该司有新产品上市或者举行新活动时通知客户。现通知客户的方式有两 种:短信通知、邮件通知。应如何设计该系统的客户通知部分?为解决该问题,…

Alfred v5.1.4(mac快速启动)

Mac效率办公软件哪个好?Alfred是一款Mac电脑上的快速启动和工作流自动化工具,它可以帮助用户快速访问文件、应用程序、web搜索和系统工具,提高工作效率。以下是Alfred的特点: 快速启动:用户可以通过Alfred快速启动应用…

Node.js入门指南(四)

目录 express框架 express介绍 express使用 express路由 express 响应设置 中间件 路由模块化 EJS 模板引擎 express-generator hello,大家好!上一篇文章我们介绍了Node.js的模块化以及包管理工具等知识,这篇文章主要给大家分享Nod…

Hive删除符合条件的记录

Hive在使用中不支持update和delete操作,那么如果想删除部分条件的记录需要怎么操作?本文记录下解决方法。 思路:使用selectwhere选出想要保留的数据,使用insert overwrite向原表覆盖插入数据. insert overwrite table dbname.tab…

车载通信架构 —— 传统车内通信网络MOST总线(光纤传输、专精多媒体)

车载通信架构 —— 传统车内通信网络MOST总线(光纤传输、专精多媒体) 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都…