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

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


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


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


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


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


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

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


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

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


厉害俩月一个OS,还得Rust

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


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

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


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


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


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


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


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


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


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


自行设计 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、操作系统、编译器全自己写


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


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


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


这些东西实际上是我和另外几个同学一起做的。他们都十分厉害,在前面一个龙芯杯的参赛作品的 CPU、SoC、Linux 移植以及其它一些东西里面我主要做的是 CPU 的部分。如果没有他们的话一个暑假完成这样一件事情在我的能力范围内是不太可能的。


另外这个“在自己写的 CPU 上运行自己写的操作系统”项目,也是多人共同努力的结果,这一情况已经在RCore仓库下面做了详细说明。关于“自己实现的编译器”部分,miskcoo 表示,本质上是基于编译原理课程的 Decaf 编译器修改而来,完成的情况比较丑陋。


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


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


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


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


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


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


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


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


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


支持的体系结构: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>
清华学霸直博简历火了:CPU、操作系统、编译器全自己写

Java Web核心框架刘中兵 著

主要内容包括如下。
持久层框架Hibernate:讲解Hibernate入门与核心技术,分别实现MySQL、Oracle、SQL Server数据库的信息系统开发。
持久层框架iBATIS:讲解iBATIS入门与核心技术,分别实现MySQL、Oracle、SQLServer数据库的信息系统开发。
表现层框架Struts l:讲解Struts l 的入门配置、核心组件、标签库、国际化、数据校验、Sitemesh集成、数据库开发技术,并分别实现与Hibernate、iBATIS持久层框架的集成开发。
表现层框架Struts 2:讲解Struts 2的入门配置、核心组件、标签库、国际化、数据校验、转换器、拦截器,并分别实现与Hibernate、iBATIS持久层框架的集成开发。
业务层框架Sprin9:讲解Sprin9的入门配置与IoC容器,并讲解使用Sprin9进行MVC应用开发的标签库、国际化、数据校验、数据库开发技术。
  多层框架集成:实现5种框架的搭配集成,分别实现SSH l、SSI 1、SSH 2、SSI 2集成框架的开发。
随书附赠光盘内容为本书各种原型包、系统源程序。本书内容循序渐进,通俗易懂,覆盖了Java Web开发的最流行框架技术。无论对于Java软件设计还是软件开发,本书都是精通开发Java Web应用的必备的实用手册。
  本书适合作为Java相关培训机构的教材,也可作为Java自学人员的参考手册。



目录


第1部分 准备篇
 第1课 构建Eclipse集成开发环境
 第2课 创建企业信息管理系统数据库
第2部分 持久层框架Hibernate
 第3课 Hibernate快速入门
 第4课 Hibernate核心技术详解
 第5课 Hibernate项目实践——企业信息管理系统MySQL数据库开发
 第6课 Hibernate项目实战——企业信息管理系统Oracle数据库开发
 第7课 Hibernate项目实战——企业信息管理系统SQL Server数据库开发
第3部分 持久层框架iBATLS
 第8课 iBATLS快速入门
 第9课 iBATLS核心技术详解
 第10课 iBATLS代码生成工具iBATLS
 第11课 iBATLS项目实战——企业信息管理系统MySQL数据库开发
 第12课 iBATLS项目实践——企业信息管理系统Oracle数据库开发
 第13课 iBATLS项目实践——企业信息管理系统SQL Server数据库开发
第4部分 表现层框架Struts 1+Hibernate/BATIS
第14课 Struts快速入门
 第15课 Struts核心组件详解


 第16课 Struts标签库详解
 第17课 Struts应用国际化
 第18课 Struts数据校险
 第19课 Struts与SiteMesh集成
 第20课 Struts访问数据库
 第21课 Struts项目实战——企业信息管理系统Struts 1+Hibernate实现
 第22课 Struts项目实践——企业信息管理系统Struts+iBATIS实现
第5部分 表现层框架Struts2+Hibernate/iBATIS
 第23课 Struts 2快速入门
 第24课 Struts 2核心组件详解
 第25课 Struts 2标签库详解
 第26课 Struts 2应用国际化
 第27课 Struts 2数据校验
 第28课 Struts 2数据转换器
 第29课 Struts 2拦截器
 第30课 Struts 2项目实战——企业信息
 第31课 Struts 2项目实战——企业信息管理系统Struts 2+iBATIS实现
第6部分 Spring快速入门
 第32课 Spring快速入门
 第33课 Spring用做IoC容器
 第34课 Spring用作MVC框架
 第35课 Spring标签库
 第36课 Spring应用国际化
 第37课 Spring数据校验
 第38课 Spring数据库开发技术
第7部分 多层框架集成Struts 1/Struts 2+Spring+Hibernate/iBATIS
第39课 SSH1项目实战——企业信息管理系统Struts 2+Spring+Hibernate
 第40课 SSI1项目实战——企业信息管理系统Struts 2+Spring+iBATIS

 第41课 SSH2项目实践——企业信息管理系统Struts 2+Spring+Hibernate
 第42课 SSH2项目实战——企业信息管理系统Struts 2+Spring+i

需要的小伙伴私信小编““学习””免费领取哦


分享到:


相關文章: