(终)从零开始的操作系统开发日记

直到某一天,博主被叫去交课程设计,才想起了这个系列的日记还没填坑。。。


由于时间和精力还有精力以及精力等各方面的原因,这次依旧是单刷课程设计,却异常的觉得心累。
归结一下,原因大概是有三点:
1.一开始的框架设计上存在信息的冗余和表达,存储的不便,导致信息填充相关的代码写起来很心累,一不小心就写错。
2.这次有队友,让我心理上存在“啊,不想写的时候好像可以给队友写”,但是队友和我自己都没啥空,回过头来看其实BUG也没多少,不过谁又能预估BUG的数量呢【苦笑】
3.代码基本是一口气完成了90%才开始DEBUG的,,,不过也没办法,功能间有依赖,不完成也调试不了。。
4.去干别的事了【懒】

于是死皮赖脸地完成了个很水的用户极其不友好的估计还有一堆BUG的模拟磁盘操作。https://github.com/hirorogithub/OS
不过第一次在github上合作写代码,感觉的确很新鲜,尤其在完成的时候看我们的commit记录,啊,真好看,我好像做了好多,好感人【自我满足能力EX级】
整个程序下来头文件200+行,实际代码去掉冗余部分应该1K行不到,只是做了基本的CRUD,树形目录。尤其为了抠字节数在3B里存字符,自己写了一堆辅助函数来控制IO这种没有\0结束的字符串,写得好心累;为了扣存储空间,把本文件\目录信息保存在了父目录里,更新信息起来也是各种蓝瘦。香菇;因为和函数返回值有冲突加上尽可能纯C语法没有异常支持所以没有做很多错误提示【虽然可以返回错误码,但是的确有一定冲突,以及太多宏定义以及懒的因素在里面】
项目的大致架构如下:
项目的架构大致如下
在一定程度上是模仿了ucore里的做法的,毕竟一开始也是想要和那边接轨组合进去的。。。
其实这种弃坑的感觉还是蛮不好受的,自己也不是没少投入时间进去,什么精力不足的都是借口,毕竟还是有认识的人应该是单刷写个小内核的了。但是我在开工没多久就耗掉了绝大部分的动力,这次对于我来说绝对是个失败的课程设计,其实git地址完全没有必要贴出来,只是作为一种警示自己的作用吧,自己做过这么糟糕的事情。总结一下可以改进的地方吧:
1.一开始架构设计可能具体到接口层,任务的划分【包括参数处理那些】,信息的设定,具体多一点的话,也不至于一边修改设定一边写代码这么心累,而且也浪费时间没效率,我还是太过习惯先code再想了。
2.在git的分支管理上,后面是渐渐好起来了,以后还是多习惯git托管代码版本比较好
3.尽早DEBUG,不然对着一堆耦合的代码,DEBUG各种心累。
4.其实我中间的时间大概是开学玩了一下lifegame->撸了一下数据挖掘->补C++看森爷的协程库->和二雷玩WOWS。。。。。。。。。。

引以为戒

讲讲最近的一些事吧
1.昨天和在大佬带飞下打了一场apactest,大佬70+,我1000+,【当然是RANK】,不过我还是好开心,没想到时隔几乎两年了我还是能做得懂这些小思维题【虽然的确很水就是】,大佬也顺理成章理所当然的收到了GG的邀请函,看来明年跟着大佬打几场atcoder,练习练习的话,GG的面试还是有戏的啊,fight!
2.c++11我还在继续看,看到了一些高级特性部分,越来越觉得C++真的想要什么都做得到,的确是有那么一点表达上的臃肿了。
3.对了,最近也还在鼓捣并行计算,毕竟被选了这门课,还好老师提供了很个性化的教学任务,等这个学期的实验我做得差不多,到时候写一篇总结吧,毕竟也有尊重知识版权不能上传太多资料在内的原因。
4.最后赞一下CSDN的审核,好像变快了?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值