我希望中国有更多的内核人才,所以我写了这个教程。并且在网络上指导了50个左右的大学生学编程。这是大学生们在我的指导下学习以后的感受。效果是非常好的。顺便说一下,我是为国家培养人才,我从没收过别人任何钱,我写的教材也是完全免费的。我的教程是以让大学生看懂工业级软件的源代码为核心的。
这些带注释的软件在这个地址:https://github.com/xiaoling-project
主要是带学生做项目,考虑到学生的能力欠缺,所以我把每个项目都做了大量的注释,让大学生能够学习这些项目。锻炼学生的实战能力,而不是学语法,也不是学算法为主的。这是这个系列文章的第一篇。第二篇是具体的学习方法。

以下是我学生在我视频下面的评论。
视频地址如下:http://www.bilibili.com/video/av57014001?share_medium=android&share_source=copy_link&bbid=Kxt4HCtKK0p8GX1PM08zAzIAMwcyBDMLMlMxinfoc&ts=1562024773764

评论整理后如下:
Kip123
我是九江九院的一位学生,我跟sky学习了3个多月了,从一个在计算机领域里面找不到方向蛮干的愣头青,到一个有自己里程碑的践行者,在这个过程中,sky给了我很多帮助。
webbench,fivechess,database这些项目,使一些抽象的概念具象化了,自己也能直观的感受到应用程序是如何组装起来的,这时候,基础有了,框架有了,程序也就能理解了,最重要的是,这能够点燃你心中的passion,让你意识到编程离你的生活很近,你也能够在基础上理解编程。接下来无非是拓展,无非是优化。接下来是对Compiler的学习,是以前自己的盲区,这便是拓展,Compiler的学习很有趣,对编程语言的设计,不得不说,数学思想的运用和语言学派的研究结合的很好,这不禁让我想起了吴军老师的《数学之美》,有趣,有趣,这也不禁让我思考我们现实中的语言,语言本质上是一派,只是它的设计目标不同,当然有的语言的设计是自然而成的。你想知道关于迅雷的前世今生吗?你想知道种子是如何发芽的吗?接下来的BT程序可以大饱眼福,这个项目加深了我对模块化的理解以及网络通信的代码实现理解。接下来是Java游戏服务器,用对坦克大战项目优化,让我明白了游戏的核心在于数据,定时,呈现,以及如何有效提高游戏性能。接下来步入perf的代码实现,有点意思哈!其实在这里,最核心的是:sky指导我们怎么跳坑,挑选适合项目的优质资料,把代码实现和理论结合起来,因为入坑容易,但跳坑的时间成本很高,这就是我们这个团队的一记浓墨,同时,让我们对编程管理的效率更高。
望sky挂云帆,济沧海。

高举胜利大旗
我是河南省的一名大二学生,和sky老师一起学习了大约一个月的时间,目前学了两个项目。在跟sky老师之前我只是学完了基础语法和一些其他方面的知识,通常是这学点,那学点没有大的突破点,不知道接下来往哪个方向走。老师给定的方向是渐进的。在学习了相关的书之后,又结合了前两个项目的学习,对编程的流程以及如何去学习一个项目有了很深刻的理解。也改变了我的学习方法,以往我都是边看书边敲抄书代码实现,现在看来就是在做重复,效率是很低的事情,还有对一个代码项目的学习也形成了自己的方法。这个暑假里打算攻克其它的项目,并开始进行下一个计划。从总体看,项目学习法是很有利于学生的,因为学生接触的程序大多都很小,并且不成结构,没有关于项目的概念。并且没有结合相关的底层操作系统功能,只是运用了最最基础的语法。像是网络传输,管道通信,进程,信号等等的知识都是在课堂上接触不到的知识,即使是在操作系统课上也只是理论,没有使用过的话也就仅仅有印象于课堂上,并不知道到底是什么样子,但是这些又恰恰是编程应该步入的下一个阶段。这也就凸显了学校的知识进阶的断层。这个项目学习法能够补充这一点,能够在学习项目中去学习相关的理论并且实践,又锻炼了阅读代码的能力,是非常好的方法。我想随着能力的增加,项目学习法中的项目也会逐渐增多,会更加有利于同学们的编程的学习,同学们也能够在学习中写出更优秀的代码。

宗师之路(他在一家人工智能的公司工作)
我是C++程序员,已经工作蛮久了,我自己业余时间也写开源项目。
我在此之前有一段时间,非常无聊,摸鱼的时候想学点什么,但很盲目,我就在各种C++Q群里要求别人问我问题,基本都能解答。
一个半小时搞定项目一项目二主要是因为网太慢,但后面的东西,比如数据库模型、编译器,都会让我有新的领悟。
直到当我看到这个项目训练就知道,这经过精心挑选和设计,很讲道理。
我就可惜没在大学时遇到这么好的东西,而且当时有些学生思维:懒,等着学,所以造成了后来走了不少弯路。
如果能早些遇到这个项目训练,那我水平会早一些达到现在,以及可能现在已经做成了我想做的东西了。
这个项目训练非常好,希望后来者珍惜。

无敌的香橙子(他是bookos操作系统的作者,高中就完成了一个操作系统。)
我是重庆市重师的大一学生,我跟着SKY学习了3个多月了,他教了我很多关于操作系统内核方面的东西。我从中学到了更多的结构化的,层次化的内容,从而可以拿来放到我的操作系统开发之中。我觉得在老师的推荐下,我看了《LINUX内核的设计与实现》一书,虽然是理论书,但是,他让我了解了更多关于LINUX的内容,使得我的思路更广阔。如果是在他的强烈要求之下,我可能现在都还是只在做一些简单的东西,不敢去尝试复杂的内容。我觉得这是我最大的改变啊。老师其实就是起一个引导作用,具体怎么学,还得看自己。如果方向不对,你在努力也白费。无论怎么样,我还是得感谢SKY老师。接下来,我将在暑假补充一下我的数据结构与算法。并且研究操作系统内存管理相关的部分。学而用之,可破万敌。希望老师以后可以做得更好,自己也可以学的更好!!!

学习尽点心
我是来自湖北一名普通二本的学生,我是去年结交SKY的。他和我的理念很像。我也想做一些别人认为很难很难去完成的事情,觉得这样的事情做起来会有价值,因为只有你会做,而别人不会做,那么你存在就会有一定的价值性。从去年到今年,他给我更多的是鼓励和学习方法。从以前的懵懂无知到现在的略微成熟,这一切都是他赋予我的。在我遇到困难的时候,但我觉得我自己很没用的时候,都是他一直在鼓励我,一直在教导我。说实话,没有他,我真的很难去跨过一些心理上的障碍。现在暑假我就要和我的另外一个小伙伴去实现内存管理这一机制了,SKY也说过,这是一个很难的课题,他可以作为我的毕业设计去做,也可以作为我的终身研究课题去做。我想去克服它,我想做出一点自己的成就,我不想每一次在看到别人做出很厉害的东西了以后,我却只能默默的认为自己很没用。当然,一两个月的时间显然是不能够攻克内存管理这一巨大的难题的,是我相信在时代的帮助下,在我另外一个小伙伴的帮助下,在我们整个群的大家的共同努力下,相信这些都不是问题。加油加油加油!!!

捡物大侠
我是来自黑龙江科技大学大二学生,跟着学习快俩个月了,我是大二通过转专业到计科专业的,本人基础较薄弱,还在学习项目学习法第一本书,项目学习法第一本书<<c语言现代方法>>让我学到了很多知识,从一个c语言小白到了一个c语言基本语法知识基本懂了,还懂了一些内存机制,这学期进步虽然不是很大,不过这还是我自身原因(不够努力),暑假我会加快进度,早点到达学习3个项目的阶段

PLUVETO (他是一个高中生,今年刚刚高考完)
我是群里的,关注了很久,六月八号开始正式参与学习,只学习了十多天,就从基本的压测工具学到了写启动引导代码。自主学习为主,同时会提供前辈的注释,学习效率非常高。而且互助气氛很好,真的非常感谢!

EDINBURGH-D
河南某不知名大学大二学生,基础较差,跟老师学习了一学期,自认对计算机更方面都有了更深刻的认识。在此之前学习编程,可以说是在搬砖,也非常厌烦,因为总有学不完的应用,而没有任何自己的理解,这些项目让我认识到有些东西其实本质上都是相同的,再去看高级语言的应用便有了豁然开朗的感觉,对学习计算机又有了希望。很庆幸大二遇到老师并加入这个学习团队。暑假开始学习内核,希望能学到更多,也希望老师能完成自己的目标。

我没毒丶才怪
河南某不知名大学大二学生,基础较差,跟老师学习了一学期,自认对计算机更方面都有了更深刻的认识。在此之前学习编程,可以说是在搬砖,也非常厌烦,因为总有学不完的应用,而没有任何自己的理解,这些项目让我认识到有些东西其实本质上都是相同的,再去看高级语言的应用便有了豁然开朗的感觉,对学习计算机又有了希望。很庆幸大二遇到老师并加入这个学习团队。暑假开始学习内核,希望能学到更多,也希望老师能完成自己的目标。

BLIHAHALI
我是一名大三的学生,跟着sky开始学了几周,在编程的话,我觉得有一位导师很重要,主要是能提供给你反馈的信息以及指出下一步该怎么走,sky提到的几个开源项目让我学到了很多东西,webbench,数据库模型以及bt协议的实现,让我对c语言的用法有了新的认识,溜了溜了,还有东西要去学呢?对了,有一点比较重要,要学会总结,这对于项目学习来说很重要,它对于整理项目的逻辑很重要

吾欲与风舞
对计算机很感兴趣的一个大一学生,但是学完学校的课程之后,并不是我想象中的那样。之后我自己在网络上找各种有趣的小项目,但是找到好的资料和比较完善的适合自己的项目,用困难重重来形容不为过,主要是资料太繁杂,想要分辨出来会花费很多精力。偶然跟着sky老师一起学习,虽然自己因为某些事导致进度慢,但是群里的学习气氛非常棒,sky老师也会很关心你的学习进度。有明确的的目标和良好的环境,真的很不错,在此也由衷的感谢sky老师,我也会坚持下去的![Contact Information]

47175144825_BILI
我是广东省一名大一的学生,跟着sky学习项目已经差不多半年了,也跟着学习了几个项目了。通过他推荐的几本书,我对编程有了新的认识。同时我也深刻的认识到只看一下书上那些语法知识是没用的,通过项目去学习你才可以真的去实践,才能真正的运用。因为编程更像是一门手艺活,纸上谈兵是不行的,只有实践了才能算真正学到。由于在广州,sky还专门抽空和我见了一面,给我讲了很多关于这个行业的事,也给了我很多实用的建议,让我受益匪浅。继续通过他的学习教程下去,我相信我能用在单位时间取得最大的进步

十方之眸
我是甘肃的一名大一学生,因为学习成绩不是很好,缺乏自信,在认识sky老师之后,我被sky老师的精神所感染,并且sky老师对我的鼓励和对我的学习能力的认可,是我重拾了信心,我相信在sky老师的指导下,我一定能学有所成

SMALLSATAN
我是辽宁省的一名大一学生的计算机专业的学生,和老师在群里面一起学习大约三个多月了,目前学了三个项目。在跟着老师之前自己也会在网上自己找一些好的项目学习,但是自己一个人搞也会有效果,但是当你完成了你自己找的学习资料之后,你就不知道接下来往哪个方向走,会感觉到很迷茫(会去询问其他的人,让人家推荐,但是人家无法明确的清楚你当前的水平,推荐的也不一定适合你目前的状态,同时自己再去找新的资料,你也会因为自己原本的水平有限而无法寻找到适合你自己的。)。老师制作的项目的是渐进的,当你完成了一个项目,你能清楚的知道接下来要干什么,很有目标,很有步骤,能很大程度的节省你的时间。在学习项目之前也会有合适的资料给你参考,在看了相关的书之后,再去弄项目会省很多时间,同时效果也更好。对编程的流程以及如何去学习一个项目会有很好的理解。这个暑假里打算攻克其它剩余的项目,并开始进行下一个计划。这项目学习法是很有利于学生的,会让你成长得很快,只要你愿意努力,愿意花时间,大佬都是花时间怼出来的。学习了这些项目让我接触到了很多原本这个时间段接触不到的知识,像是网络传输,管道通信,进程,信号等等的知识都是在目前学习阶段(大一)的课堂上接触不到的知识,当然学校本科阶段更多的教授理论知识,项目学习法能够很好补充去敲代码和实现相关知识的过程,锻炼了阅读代码的能力,是非常好的方法。我相信我的能力会慢慢增强,同时也相信群里面的同学会在有朝一日会成为计算机行业的一位位大佬,加油,加油,加油。[Contact Information]

卧槽这么这么难
我是河北省的一名大一生。跟sky老师学习大概也有5个多月了。之前面对编程我十分的迷茫,跟风学习一些由培训机构炒起来的web前端,那时的我越学越痛苦。直到遇到sky老师,有了明确的学习方向。老师推荐我看《C语言程序设计语言现代方法》,我才开始学习C语言,再之后学习linux c编程实战,学习了一些linux的api和一些概念,觉得这才是学编程的正确打开方式。在加上sky老师的项目提高我看代码的能力,项目中的代码都是十分精炼,锻练我的编程思维。同时,我在看过项目之后在看一些其他的代码,就深刻体会到代码规范的重要性。群里的学习氛围很好,非常感谢sky老师,遇上老师是我的幸运!

蓝色小裤衩子
我是一名武汉软件工程职业学院一名大专生,我呐喊过,彷徨过,我又深深明白我自己与其他群里的人的差距,但我又认为我不差,这就够了。
然后我其实接触老师一个多月以来,我真正学到是学习方法,通过项目学习法,让我决心进入计算机的世界,领略计算机的奥妙之处。所谓内核,也不是那么的神奇,他有他的难处,也有他的平易近人之处。
现在的我和以前的我最大的区别就是学习方法的不同,比如以前我看书看的很慢,现在很快在有限时间通读一本书,以前一本书通读下来不会抓取重点,我认为实在可笑。原来以前那些同学,学习比我好真的是方法的不同,这就是我没超过他们的原因。
还有一方面,我曾经和老师聊过,他给我解决我当下的疑惑,这是最让我感激的地方。我觉得一个为师者,不仅为学生传授知识,更要学生学会做人。在这里,我学会了做人的道理。树欲静而风不止,子欲养而亲不待。
如果有人说,我们国家不需要我们这些人搞这些东西,我们实力太小,那么我会跟他说我们只是前进了一小步,做了一小部分,而其带来的影响是无法想象的。这句话在这里,20年后,我40岁后来看,也许会有不一样的感触。
懂自然懂
sky指导我学习了一个半月,目前学了五个项目,正在学习一个完备的编译器项目。了解了编译器的实现,链接器的实现。以及一些关于底层自己一直很想知道的知识。个人觉得进步十分大比起我过去自己一个人学习而言。无论研究什么sky总能提供一些很不错的资料。避免了走弯路。节约自己去检别资料的时间。学习的过程也开拓了视野。如果有兴趣的大学生也可以参与进来。对我而言sky是一个很友善的长辈,除了计算机学习,也会开导我。自己学习的那段时间,除了要自己找方向,自己解决疑惑,自己找资料,更多的困难是自己无法明确自己的位置,不知道自己的水平,很多时候因为一些困难的事自己却不能认知到 这件事很困难而打击到自己。 这些事目前都有了很不错的解决。 如果你是一个真正想学编程的人,可以尝试联系sky(up)。
TOMCCH
虽然因为复读的事还没开始看项目,但是UP推荐的书看了一半,的确比我之前买的书讲得清楚多了。。。明年暑假希望多学一些东西吧!

山外没山
我是山东的一名大二的大学生,和sky老师学习了半年了,目前学习了三个项目,很明显能感觉到和学校里学习的不同,学校里学的更多的是理论,缺少的正是这种实践,只有理论和实践相结合才能更好的进步,sky老师的项目学习法让我对之前学过的内容有了更深入的了解,奈何这学期比较忙,只学习了三个项目,接下来的暑假我会好好把握的,老师加油,大家一起努力!

过的太好同学
我是河北省的一名大二生。跟sky老师学习大概也有3个多月了。之前面对编程我没具体方向,不能盲目学一些现在比较的 什么web 前端,python大数据啊 , 只有脚踏实地,一点一点的来。
学习项目真的能很快的进入编程世界,代码都有全面注释,学起来爽的不行!大家快来!!!

注册个好听的ID好难哦
我是武汉一所大专的学生,四月份开始随着老师学习,之前开始学习编程,但都只是了解基础,在看完老师推荐的三本书下才对编程有大致的概念,也有的一条不太清晰的路,但总归是有了,我的学习能力不强,学的慢,但老师也没有放弃我,指引我一条路,让我有机会去追赶同年龄的同学们的脚步,很感谢老师,也希望老师能够如他所愿成功扛起中国内核的大旗,也希望我可以追上同学们的脚步,加油
这个文章有点长了,下一篇正式说说我的学习方法。

为中国操作系统内核而写的教程 1相关推荐

  1. Google Android操作系统内核编译图文教程

    Google Android操作系统内核编译图文教程 和标准的Linux开发流程一样,Android平台开发的一个很重要的基础工作就是对其内核的编译和移植.本文结合Android的开发文档以及本人的实 ...

  2. java写linux内核,基于mykernel 2.0编写一个操作系统内核

    一.实验要求 1.按照https://github.com/mengning/mykernel 的说明配置mykernel 2.0,熟悉Linux内核的编译: 2.基于mykernel 2.0编写一个 ...

  3. Linux 迎来 29 岁:从个人爱好到统治世界的操作系统内核

    喜欢就关注我们吧! 1991 年的 8 月 25 日,来自芬兰赫尔辛基大学的 Linus Torvalds 用 Minix 操作平台建立了一个新的操作系统内核,并把它发回 Minix Usenet 新 ...

  4. 操作系统内核Hack:(二)底层编程基础

    操作系统内核Hack:(二)底层编程基础 在<操作系统内核Hack:(一)实验环境搭建>中,我们看到了一个迷你操作系统引导程序.尽管只有不到二十行,然而要完全看懂还是需要不少底层软硬件知识 ...

  5. 最简操作系统内核HelloOS

    最简操作系统内核HelloOS 文章目录 最简操作系统内核HelloOS 1.Hello OS的引导流程 2.HelloOS的引导汇编代码 3.HelloOS的主函数 4.控制计算机屏幕 5.编译和安 ...

  6. 基于ARM9的32位高端嵌入式微处理器和嵌入式操作系统内核研究

    本文研究的是基于ARM9的32位高端嵌入式微处理器和嵌入式操作系统内核,设计新型数据采集系统平台,是得到重庆大学创新实验室资助的研发项目.开发软件在uclinux操作系统下进行,本文详细介绍了ucli ...

  7. linux当前内核版本是多少钱,Linux查看版本当前操作系统内核信息

    1. # uname -a (Linux查看版本当前操作系统内核信息) 输出 Linux xxx 4.4.--generic #~14.04.-Ubuntu SMP Wed Jul :: UTC x8 ...

  8. 发布AI操作系统、应用市场,开源机器学习数据库和AI操作系统内核,第四范式这波操作有点秀!

    "AI的发展经历了'高期望--能否落地--落地是否有用"等多次潮起潮落.今天,AI的价值再次引发一些讨论和怀疑." 第四范式创始人兼首席执行官戴文渊在近日举行的新品发布会 ...

  9. 基于 Bochs 的操作系统内核实现

    简介 Bochs 简介 Bochs(读音Box)是一个开源的模拟器(Emulator),它可以完全模拟x86/x64的硬件以及一些外围设备.与VirtualBox / VMware等虚拟机(Virtu ...

最新文章

  1. 手把手教你自己写一个js表单验证框架
  2. java.security.cet.CertPathValidatorException: Path does not chain with any of the trust anchors 解决办法
  3. tcpdump抓取HTTP包
  4. C语言找出两个字符串唯一不同的一个字符(附完整源码)
  5. 在Java 8之前的项目中使用JUnit 5
  6. Python可变传参: *args和**kwargs
  7. 中国大推力矢量发动机WS15 跨入 世界先进水平!
  8. 《Reids 设计与实现》第十六章 集群(下)
  9. CP三次握手和四次分手--转
  10. 浅谈压缩感知(十六):感知矩阵之RIP
  11. 爬取网易,搜狐,凤凰和澎湃网站评论数据,正负面情感分析
  12. 4WRLE27Q3-600M-4X/MXY/24A1比例先导方向阀
  13. 睡眠监测目前的原理分析
  14. 安卓动画入门教程 Animation in Android(2)
  15. Linux文字游戏制作软件,小精灵美化app
  16. 蓝屏代码2345prot.sys
  17. Sample larger than population or is negative
  18. 卸载手机模拟大师MobileEmuMaster!!!
  19. n个单词输入次数 c语言,C语言问题,从键盘输入n个英语单词.输入格式为n,w1,w2,w3…wn,其中n表示随后输入的英语...
  20. 微信提现免费额度领取,快来领取!我领取了738元

热门文章

  1. 动画基础,3种动画方式
  2. android FDE功能介绍
  3. 跳汰机的实操经验总结
  4. switch 注册哪个服务器,switch注册教程
  5. UWB高精度定位落地:中大型区域动态人员精细网格化管理
  6. 使用easypoi操作excel
  7. php判断汉子首字母的函数,php获取汉字首字母的函数
  8. 为什么看不到局域网其他计算机名,windows10系统局域网看不到计算机名怎么办
  9. win7网络里的计算机,win7看不到局域网计算机怎么办
  10. 迪克斯特拉(Dijkstra)算法之MATLAB实现