今年上岸!C++项目推荐:手写一个操作系统
操作系统本身就是面试的必考知识,。同时操作系统也是一个很不错的项目,如果是C++选手做这个项目的话,既可以用来投后端岗位,也可以投 嵌入式岗位,都是比较匹配的。如果想好好学习操作系统,一定绕不开 Mit6.s081。Mit6.s081 是麻省理工学院面向本科生的操作系统课程,其课程实验是在教学用操作系统xv6上进行扩展和优化。Xv6 操作系统源代码只有一万余行,并且相对清晰和模块化,每个 lab
操作系统本身就是面试的必考知识,尤其是面试后端开发、嵌入式开发等岗位时,更是如此。
同时操作系统也是一个很不错的项目,如果是C++选手做这个项目的话,既可以用来投后端岗位,也可以投 嵌入式岗位,都是比较匹配的。
如果想好好学习操作系统,一定绕不开 Mit6.s081。
Mit6.s081 是麻省理工学院面向本科生的操作系统课程,其课程实验是在教学用操作系统xv6上进行扩展和优化。
Xv6 操作系统源代码只有一万余行,并且相对清晰和模块化,每个 lab 都带有自动评测功能,非常适合用于实践操作系统知识。
这是大家公认的高质量操作系统实践课。
项目代码全部开源,github地址:https://github.com/youngyangyang04/KamaOS
欢迎star,fork,去学习一波。
操作系统项目文档 就分享在星球里。
为什么要做mit6.s081?
1、操作系统是面试的考察重点
操作系统本身就是面试的必考知识,尤其是面试后端开发、嵌入式开发等岗位时,更是如此。面试者如果拥有良好的操作系统基础,一方面可以提高自己在面试官心中的评级,另一方面也能消磨大量的时间,提高面试成功率。
2、mit6.s081有丰富的参考资料
首先是这门课程的官网,拥有详细的课程视频、讲义、参考书和实验指导等各种参考资料;
其次互联网上,有这门课程的视频翻译、字幕翻译、参考书翻译和实验指导书翻译等各种汉化帮助;
而且网上还有非常多该课程的学习记录可供参考、理解。这些种种,大大降低了我们学习掌握它的难度。
3、 操作系统是最重要的计算机基础之一
无论我们是打算求职还是继续深造,操作系统都是我们需要深刻理解的基础知识。就算抛开找工作的功利想法来说,深入学习操作系统的实践知识,对我们也有莫大好处。
前置知识
编程语言:
既然是操作系统,那自然是c、c++语言为主;虽然其中也有部分汇编语言,但汇编部分不对该项目的学习产生影响,所以不会汇编也可。
操作系统理论知识
具备一定的操作系统理论基础一方面可以让我们更好地学习 mit6.s081 的课程部分,另一方面,如果时间不够,可以让我们尝试跳过课程部分,直接做 lab 。理论知识可以看王道的操作系统考研课程或者《操作系统导论》。
linux使用基础
这个项目中,xv6 操作系统运行在qemu模拟的硬件上,我们需要一定的 linux 基础来配置 qemu 的运行环境、xv6的编译环境以及开发环境,
- Mit6.s081官网
- 官网视频(B站搬运)
- xv6参考书
- 星球独家资料:操作系统项目文档
项目代码全部开源,github地址:https://github.com/youngyangyang04/KamaOS
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐
所有评论(0)