专栏首页微信公众号【Java技术江湖】清华学霸直博简历火了:CPU、操作系统、编译器全自己写

清华学霸直博简历火了:CPU、操作系统、编译器全自己写

程序猿(ID:imkuqin) 整编 综合自:zibuyu9微博、https://www.zhihu.com/question/345718537、龙芯中科等

近日,知乎上有条帖子火了,有人提问:清华大学计算机专业本科这位在「自己写的 CPU 上运行自己写的操作系统」的同学是什么水平?

起因是前几天清华的刘知远教授在一条微博上发了清华大学某位计算机专业的本科生的直博面试简历,简历上写着:实现了在自己写的CPU上运行自己写的操作系统,以及自己实现的编译器生成的程序......

此条微博很快引起了热议,许多网友都说很牛逼,连刘知远老师都称赞。附上微博网友的评论让你们品一品:

清华大佬不得不服,怕是我研究生毕业也难以望其项背,路长且艰!

神仙中的神仙,告辞[跪了][跪了][跪了]要见证同时代的巨佬的诞生了吗[跪了][跪了][跪了]

厉害?俩月一个OS,还得Rust

有人质疑,两个月时间应该是复现为主吧,某项目则成员霸气回应:作为被打码的人很负责任的说不是......

不过对于网友的称赞,题主表示自己体会不到,希望有人能形象比喻一下。

接着,刘知远教授在知乎上对该问题做了补充回答,表示:清华大学计算系有三门必修课分别是计算机组成原理、操作系统和编译原理,这三门课是分在几个学期上的,各自有一套大作业体系。然而,这位面试的同学却融会贯通了这三门课的知识,在同一套体系下完成了三门课的大作业。

虽然对于常年浸淫这些领域的专家不算什么,但是对于一名大三的本科生,在这一个忙碌的学期里,愿意主动折腾这些硬核内容,完成了一个项目,这是很难得的事情。刘知远还表示该同学简历上的这句“在自己写的CPU上运行自己写的操作系统,以及自己实现的编译器生成的程序”,反映的是一位热爱计算机技术少年的浪漫情怀。

同时,刘知远教授又附上了另一段这位同学的另一份简历:

NonTrivialMIPS -十级流水双射MIPS处理器:该项目由陈晟祺、周聿浩、刘晓义和陈嘉杰四位同学组成的清华大学计算机系代表队在“龙芯杯”比赛获得特等奖,受邀在“2019年高等院校计算机系统类课程研讨会”进行报告。

自行设计 CPU 核心及 SoC,并在上面运行测试程序。清华计算机系学生代表队设计并实现了双发射 10 级流水线 CPU,支持运行最新版 Linux 内核,启动 X11 图形界面以及Python、GCC等程序等。在OpenSSL上利用AES单元加速后吞吐率大约为10MBps,同频率下i7-8750H的2.7倍

rCore for MIPS32 - Rust语言实现的Linux兼容操作系统:这是一个操作系统的课程项目,rCore 是用 rust 编写的一个操作系统,持了 x86_64, RISCV32/64, AArch64 三个平台。本项目将其移植到 MIPS32 上。它最终可以在组成原理课程编写的 MIPS32 处理器上运行。

该项目实现了在自己写的CPU上运行自己写的操作系统,以及自己实现的编译器生成的程序

以上的话题的主人公是清华计算机系本科生周聿浩同学(miskcoo),曾经是一名 OIer,第一次参赛就拿到了省一。

而且,miskcoo也在知乎上回帖了,他表示这些项目实际上是他和另外几个同学一起完成的:

这些东西实际上是我和另外几个同学一起做的。他们都十分厉害,在前面一个龙芯杯的参赛作品的 CPU、SoC、Linux 移植以及其它一些东西里面我主要做的是 CPU 的部分。如果没有他们的话一个暑假完成这样一件事情在我的能力范围内是不太可能的。 另外这个“在自己写的 CPU 上运行自己写的操作系统”项目,也是多人共同努力的结果,这一情况已经在RCore仓库下面做了详细说明。关于“自己实现的编译器”部分,miskcoo 表示,本质上是基于编译原理课程的 Decaf 编译器修改而来,完成的情况比较丑陋。

除此之外,他还贴出一张Git 统计出来的各个提交的时间:

miskcoo还表示在清华优秀的人还是很多的,他们在各自擅长的领域都有值得学习的地方,不希望自己做过的东西被拿来过分的抬高

关于前面提到的系统都已经在Github上开源了,感兴趣的伙伴们可以仔细研究学习:

NonTrivialMIPS -十级流水双射MIPS处理器

这个是参加 “龙芯杯” 的作品,获得特等奖,是一个十级双发射顺序 MIPS32 处理器(Github地址:https://github.com/trivialmips/nontrivial-mips

rCore for MIPS32 - Rust语言实现的Linux兼容操作系统

支持的体系结构:x86_64,RISCV32 / 64,AArch64,MIPS32。(Github地址:https://github.com/rcore-os/rCore

环境:

  • Rust toolchain at nightly-2019-03-05
  • Cargo tools: cargo-xbuild
  • QEMU >= 3.1.0
  • bootimage (for x86_64)
  • RISCV64 GNU toolchain (for riscv32/64)
  • AArch64 GNU toolchain (for aarch64)
  • musl-cross-make (for userland musl, or download prebuilt toolchain from musl.cc)
  • libfuse-dev (for userland image generation)
  • See Travis script for details.

本文分享自微信公众号 - Java技术江湖(alicoder)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-01-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 为什么越来越多的开发者选择使用Spring Boot?

    使用Java做Web应用开发已经有近20年的历史了,从最初的Servlet1.0一步步演化到现在如此多的框架、库以及整个生态系统。经过这么长时间的发展,Java...

    Java技术江湖
  • 为什么选择 Spring 作为 Java 框架?

    在本文中,我们将讨论 Spring 作为最流行的 Java 框架之一的主要价值体现。

    Java技术江湖
  • 美团 Java 面试 154 道题分享!

    Java技术江湖
  • 聚焦云安全,加强云信任,e签宝受邀2019可信云大会

    7月2日,由工业和信息化部指导、中国信息通信研究院主办的“2019可信云大会”在北京国际会议中心隆重开幕。e签宝作为可靠电子签名的行业引领者受邀参与了会议,分享...

    CloudBest
  • Falco安全审计

    定期审计代码库是发布安全软件的一个重要过程。对于依赖于来自各种贡献者的代码的开源项目,审计可能特别重要。我们很高兴地宣布Falco首次安全审计的发布,这是Fal...

    CNCF
  • Spring Boot 最核心的 3 个注解详解

    最近面试一些 Java 开发者,他们其中有些在公司实际用过 Spring Boot, 有些是自己兴趣爱好在业余自己学习过。

    用户5224393
  • Spring Boot 最核心的 3 个注解详解

    最近面试一些 Java 开发者,他们其中有些在公司实际用过 Spring Boot, 有些是自己兴趣爱好在业余自己学习过。

    Java技术栈
  • Spring Boot 到底是怎么运行的,你知道吗?

    Spring Boot方式的项目开发已经逐步成为Java应用开发领域的主流框架,它不仅可以方便地创建生产级的Spring应用程序,还能轻松地通过一些注解配置与目...

    纯洁的微笑
  • Yumc.cn被百胜中国8.8万元购买 卖家一年获利146倍

    四字母域名yumc.cn以一口价8.8万元的价格被秒!没看错,就是8.8万元,远超出当今市场的行情价,被百胜餐饮集团拿下。

    躲在树上的域小名
  • Worktile王涛:面对BAT,需要更多的是处变不惊

    企业协同办公是SaaS领域起步最早、厂商比例最高同时也是竞争最激烈的领域。 第二届SaaS产业峰会——挖掘SaaS的深度价值12月8日成功在深圳召开。在协同办公...

    人称T客

扫码关注云+社区

领取腾讯云代金券