毕业设计做一个linux操作系统怎么样?

130 篇文章 3 订阅
102 篇文章 1 订阅

毕业设计选择做操作系统的话,不太建议做的规模太大,你可以参考一下Linux内核的代码量,完全从头写的工作量还是挺大的。如果是一行一行从头写,学生期间,一学期写10000-20000行有效代码就很强了,而且还要学习硬件基础知识了,比如各种系统寄存器,中断控制,分页,一切都从头开始做是有点难的。

在开始前我有一些资料,是我根据网友给的问题精心整理了一份「linux的资料从专业入门到高级教程」,

点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!


做底层开发,最好是在虚拟机或者另外找一个测试机,开发用的电脑和测试机最好分开的,因为硬件没办法自己调试自己。如果是想做ARM方向的开发,最好买一个开发板,如果是x86开发,找一台旧的PC机就行。

不管是你做一个完整的发行版,还是做一个内核,或者是一个简单的操作系统,工作量都不小,而且这三个方向的区别也比较大。

制作一个发行版,大部分工作都是在做各种软件包的适配,你需要了解各种包的用途、依赖性,比如前几天爆出的liblzma/xz被植入漏洞的新闻,你要了解这个注入的过程,以及如何回滚或者修复。

写一个内核,要学习的主要是操作系统的启动过程,硬件如何初始化:时钟、中断、内存如何配置,如果涉及到多任务,还要考虑调度器的设计。

写一个简单的操作系统,除了内核以外,更多的工作是在驱动和应用环境上面,比如屏幕如何输出,系统调用如何设计,你的用户态代码如何编译,编译器选什么等等。

网上有很多关于操作系统的资料(或者书),大部分都是介绍如何写一个简单的内核,一般是时钟+中断,然后循环打印一个时钟信号,学生时代吃透这部分知识,作为一个爱好者来说,大概就需要一个学期的时间,内容已经足够丰富了。如果真的很喜欢,并且天赋很好,那么再加点驱动和用户态切换的功能,大概也就非常完整了,时间需要半年到一年。

底层开发跟操作系统开发不完全是一回事,底层开发大多数都是写驱动,操作系统开发,更重要的是架构的设计。底层开发跟跟渗透技术也不太一样,都是偏底层,可是方向不同,渗透技术也可以在用户态实现,只不过有点麻烦。

我猜你可能只是想写一个简单的操作系统,概括来说就是一个内核,那么去买一本书,一个开发板,一学期应该足够了。如果用别人的SDK,开发一个内核应该很快的,如果想理解每一行代码的含义,从头写,需要一个学期或者更长的时间。

827fad6aedaaaa596c24ff2cf01dc515.jpeg

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

单片机一哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值