百科问答小站 logo
百科问答小站 font logo



写一个操作系统内核有多难?大概的内容、步骤是什么? 第1页

  

user avatar   imhwj 网友的相关建议: 
      

最新回复

当时我感冒了,回家呆了半天,然后写了这些东西。

当时2013、2014年完成了一些技术攻关,2014、2015年一直到广东省科技创新大赛前基本都还在做,省赛意外失利后就没继续做了,所以到写这些东西的时候,已经过去了将近一年,每个功能具体入微的实现、当时对其他系统的研究、一些设备的支持啥的这些细节都已经忘得差不多了,只剩下那个时候开发的整体印象。所以这篇文章没有给大家带来更多的知识真是不好意思。

我的博客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院校,凭着操作系统参加自主招生容不容易一本线录取?

稍后这个文章会被复制到知乎其他文章中。


user avatar   qian-mo-32-16 网友的相关建议: 
      

世界卫生组织(WHO)根据智商将精神发育迟滞分为以下四个等级:

1.轻度

智商在50~69之间,成年后可达到9~12岁的心理年龄,幼儿期即可表现出智能发育同龄儿童迟缓,小学以后表现为学习困难。能进行日常的语言交流,但是对语言的理解和使用能力差。通过职业训练能从事简单非技术性工作,有谋生和家务劳动能力。

2.中度

智商在35~49之间,成年以后可达到6~9岁的心理年龄,从幼年开始,患者智力和运动发育都较正常儿童明显迟缓,不能适应普通小学的就读。能够完成简单劳动,但效率低、质量差。通过相应的指导和帮助,可学会自理简单生活。

3.重度

智商在20~34之间,成年以后可达到3~6岁的心理年龄,患者出生后即表现出明显的发育延迟,经过训练只能学会简单语句,但不能进行有效语言交流,不能学习,不会计数,不会劳动,生活常需他人照料,无社会行为的能力。可伴随运动功能损害或脑部损害。

4.极重度

智力在20以下,成年以后可达到3岁以下的心理年龄,完全没有语言能力,不会躲避危险,不认识亲人及周围环境,以原始性的情绪表达需求。生活不能自理,尿便失禁。常合并严重脑部损害、躯体畸形。




  

相关话题

  如何实现一个简单的虚拟机? 
  那些打破圆周率小数位计算的记录是怎么判断计算得正不正确的? 
  计算机学术界是不是喜欢发明一些没什么用的概念? 
  怎么知道电脑是32还是64位的? 
  为何 Linux 的系统 API 相比 Win32 到处是缩写?有何优劣? 造成两者差别的原因是什么? 
  Windows NT 内核与 Linux 内核相比哪个更安全? 
  windows系统为什么不预留一点资源(cpu和内存占用),在执行繁重任务时以保证系统本身的流畅运行? 
  计算机大神可以破解卡牌游戏通过不氪金获得想要的卡牌吗? 
  为什么在 Windows 中常常见到的第一个分区的盘符是 C:,而不是 A:? 
  你写过哪些比较酷的十行以内的 Matlab 代码? 

前一个讨论
看到有钱人和自己都有着类似的烦恼,你是否感觉舒心了很多,他们之间是否并无本质的区别呢?
下一个讨论
如何看待新华社文章《假如四川夺冠,CBA 还姓「C」么》?





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利