最新回复
当时我感冒了,回家呆了半天,然后写了这些东西。
当时2013、2014年完成了一些技术攻关,2014、2015年一直到广东省科技创新大赛前基本都还在做,省赛意外失利后就没继续做了,所以到写这些东西的时候,已经过去了将近一年,每个功能具体入微的实现、当时对其他系统的研究、一些设备的支持啥的这些细节都已经忘得差不多了,只剩下那个时候开发的整体印象。所以这篇文章没有给大家带来更多的知识真是不好意思。
我的博客http://hwj.me我其实蛮少用的,最近才想再次去使用它,所以那里也没有太多的东西给大家。
有人说PS的,我也表示理解,毕竟就一个图放在这,喜欢搞大新闻的人也蛮多。这里就放一个视频表示真实性吧。
鬼鸟操作系统的简单演示(for 知乎) 鬼鸟操作系统的简单演示(for 知乎)—在线播放—优酷网,视频高清在线观看 http://v.youku.com/v_show/id_XMTYzOTk3NTc4NA==.html至于有人说那个按钮的单词打错了,这个好像当时也有人说过,忘记改了……当时我的英语水平刚刚从不及格到及格,这种错误犯了不止一次,包括在一些函数中。
有人还说这些东西不牛x,我说真心话这的确不牛x,这篇文章也并非炫耀。只是解答上面这个人的问题罢了。希望更多人能够到达自己要到达的山峰。
目前高考结束了,我最近在试图去研究AI,这个操作系统(包括内核)也会进行不断的更新。
-------------------------------------------历史分割-------------------------------------
我很想回答这个问题。 我是一个高中生,自初中开始就想做一个操作系统,并付诸于行动。 我们制作的操作系统 鬼鸟操作系统,使用自己实现的 探索者操作系统内核,已经完成了基本的功能,外加一个不错的图形用户界面。
上面这个图就是我们操作系统在VMware虚拟机里面的运行截图。 其实说来做操作系统,你需要首先掌握一些基本功,我在初中的时候已经学习了x86的汇编语言,在高中的时候,在正式做系统内核前,我完成了两三次每次2-3000行的汇编技术验证代码,对汇编语言,函数思维,很多设备的特性和诸如参数传递这类众多小技术细节都有了较为详细的理解。
类似这样的基本功必不可少,我可以用汇编实现整套操作系统,但是考虑到可移植性,后续维护,我们到后期还是用了汇编和C混编的方案。除此之外,因为操作系统运行环境和应用程序运行环境着实不同,这些基本功对于我们进行操作系统设计,调试都是极其重要的。
除此之外,毕竟操作系统是个大工程,在做这个东西的时候,我们力量小,这时就需要我们有聪明的开发策略。打个比方,现在商业级操作系统的文件系统部分所占代码量可能就已经超越众多小型操作系统总代码量了,个人或者小团体开发的操作系统,真的不能过多关注单一的功能,人家的东西是按商业化考虑的,你就按照实现的角度考虑就行了,哪怕你的一些做法功能不会像人家那么好,一些优化算法不如人家那么有效,但是到真正的需要你考虑其效能问题的时候,你们的操作系统已经非常大了,那时候进行商业性的设计,比现在的更方便。
做操作系统,最关键的是,要在大的功能上均有所实现,在人少力量弱的情况下,小功能不要追求完整。只要能够支撑下个功能的实现就行了。例如,实现内核模块动态链接功能,至少需要在文件系统方面实现文件读取,能读取文件才能支持后面对elf格式分析,重定位等一堆功能实现。但是这并不意味着你需要在百忙中追求文件系统中长文件名的读取这类只有用户才介意的功能。
操作系统包含的功能面多,对于我们而言,不可能一开始就学完所需要的各个知识,各种标准规范协议,实际上大多数情况下,你需要边学习,边借鉴,边设计,边研发。在这个情况下,你需要清晰的知道自己需要完成哪些功能,对于这些功能,你要有清晰的了解,然后以这些功能实现为主线,博览群书,看看民间的方案,linux和Windows的方案,然后再设计自己的方案。我接触过的很多人,边看30天自制操作系统边做,或者Orangs 一个操作系统的实现 ,哪怕是一些更加专业的书籍,也会有一些不足和局限,如果对自己做的功能不了解,只能深陷于这些书的坑。
就说这么多吧,我的qq 2322869088,个人网站
胡文杰的小站,时间不早了,还有80多天就高考了,希望这篇文章能给大家说明一些事情。还有,对于985 211院校,凭着操作系统参加自主招生容不容易一本线录取?
稍后这个文章会被复制到知乎其他文章中。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有