# Day1 简介

Linux 是一个泛用型的作业系统,在各式各样、形形色色的机器上都找的到他的踪迹,
而 Linux Kernel 文件,大概可以算是认识 Linux 内部设计,
或广泛的来说,认识作业系统实作细节的第一步吧!

参赛目的

  • 养成每天学习的习惯
    主要是想要让自己养成每天学习和纪录学习历程的习惯,而且和同事一起参赛感觉很有趣!
  • 练习文笔
    期许自己能够和参赛同事一样,能洋洋洒洒、言之有物的把想要表达得东西,用精准的词语、深入浅出的方式,清清楚楚地以文章的形式,传达给各位读者;并且对每一个自己使用的词语、技术名词、技术细节都有很高的掌握度!

接下来,向各位工商一下,同事们的深度系列文:

这篇系列文的安排

  • 目前是打算以阅读笔记的形式来进行,并且将阅读文件中,知之并不甚详的部分也一并检阅和记录下来
  • 行有余力的话,会将阅读过的文件翻译过後,送 kernel documentation patch
  • 预计阅读的文件类别列举如下:
    1. riscv 相关文件开始: 公司主要使用的是 RISC-V 架构,所以和 RISC-V 相关的文件实在是不能不看
    2. Cache and TLB Flushing Under Linux: 先前工作项目中,有经历和 cache 操作相关的项目,但当时没有好好的仔细阅读这份文件,是时候补足少小不努力的部分了
    3. cgroup v1 相关: 最近的工作项目中,有 cgroup 相关项目
    4. high resolution timer 相关: 同上
    5. DVFS: 最近刚好同事有碰到相关业务
    6. 其余的就等上述的看完再说罗 XD

文件数量真的族繁不及备载,并且有许多有趣的文件,例如: Kernel tracing、Kernel Virtualization、...,但这些文件数量都非常的庞大,希望有机会能好好的阅读和记录他们

暖身一下:

arch/riscv 开发人员的维护守则
=============================

概述
----
RISC-V 指令集架构是公开开发的:
正在开发中的草案可供所有人检阅和实验自己的实作。
新模组或扩充指令集的草案可能会在开发过程中发生变化——
有时会变化的与先前的草案不相容。
这样的弹性可能会对 RISC-V Linux 的维护带来挑战。
Linux 维护者反对混乱,且 Linux 开发过程更倾向接受,经过仔细审查和测试的程序码而非实验性质的程序码。
我们希望将相同的原则,运用在检视这些可能被接受且放进核心的 RISC-V 相关程序码中。

附注提交检查事项
------------------
我们将只会接受,和那些被 RISC-V 基金会列为"冻结"或是"批准生效"的模组和扩充指令集相关的 patches。
(当然,开发人员可以自行维护含有他们想要有的扩充指令集的 Linux 核心程序码。)

此外,RISC-V 规格允许实作者创造自己的扩充指令集。
这些自己定义的扩充指令集不需要经过 RISC-V 基金会的任何审查或批准过程。
为了避免这些扩充指令集造成维护的复杂性,以及对效能产生影响,
我们将只接受已被 RISC-V 基金会正式"冻结"或"批准"的扩充指令集实作。
(当然,实作者可以自行维护含有自己扩充指令集实作的 Linux 核心程序码。)

送一下 patch

$ git send-email --to [email protected] \
                 --to [email protected] \
                 --to [email protected] \
                 --cc [email protected] \
                 --cc [email protected] \
                 --cc [email protected] \
                 0001-docs-zh_TW-Add-translation-for-riscv-patch-acceptanc.patch

後记

  • patch archive:marc.info,看到这个网页的时候,吓了一大跳,想说自己是不是编码设定有误,炸了一大堆看不懂的东西到 mailing list 上面;
  • patch archive:spinics.net,到这里看,才发现应该是虚惊一场,看起来是前一个网站的 rendering 出了一些状况,呼~XD

注记

[1] RISC-V 是一个开源的指令集架构,使用者能够自行定义不同的扩充指令集
[2] 在 Spec 的 Prefix 有注明: Frozen: 在 ratification 前可能会有小改动,但不应该有任何大的改动Ratified: 则是以生效的
[3] 关於RISC-V 更详细的说明,强烈推荐阅读 予焦啦!Hoddarla 专案起步:使用 Golang 撰写 RISC-V 作业系统的初步探索 以及 Port Alpine Linux to open source RISC-V platform,当然 Specification 也是可以啦XDD

今天就先这样罗!感谢收看!


<<:  Day 0x9 UVa272 TEX Quotes

>>:  Day 08-制作购物车系统环境之npm

(ISC)² 道德规范(Code of Ethics Canons)

-道德在新的 CISSP 考试大纲中名列前茅 道德规范(Code of Ethics Canons...

职位描述 (job description)

职位描述是职位设计的输出之一,它考虑了“分工”的原则,需要人力资源部和研发部进行协作。职位描述是确定...

Day 23 - Sort3

大家好,我是长风青云。今天是铁人赛的23天。快结束了,希望我能讲完我想讲的演算法。 ...

Flutter基础介绍与实作-Day25 旅游笔记的实作(6)

终於到最後一个区域了,我有加一些新的东西在上面这边一起跟大家说 一样先到assets资料夹下的Foo...

求救! 网站背景无法显示

我的网站在电脑上显示的画面是正常的,但是一上传到服务器上,背景和影片就无法显示了,到底是为什麽~~ ...