对于自己动手编写操作系统的困惑

来源:互联网 发布:基德新秀赛季数据 编辑:程序博客网 时间:2024/05/18 03:57

    第一次在CSDN上发表博客,想谈一下最近一直从事的操作系统的“研究”,研究之所以加上引号是因为自我感觉一个多月了似乎连门都没入的了,所以不敢谈的上是研究,只能算的上时略懂吧!说到做操作系统,被一度认为是不自量力,但是自己却深信要坚信自己的想法,于是动手边学边做(似乎这是一种接受知识比较快的做法),一个多月的时间转眼即逝,回过头来看看既有惊喜又有忧愁,在此写下自己的一些心得和困惑,望能遇到高人给与指点,也希望自己的一些小小的心得能够帮助一些比我还困惑的人。

    先自我介绍一下,本人是一普通大学的的本科生,计算机科学与技术专业,当初是被调剂的。可是阴差阳错的却喜欢上了这个专业,特别是编程。在经历了一年多的学习后,水平有点点长进,如果说原来是“爬”,现在可以说的上是会“走”了。对于操作系统这种庞大的东西,至今也没有比较细致的理解,脑袋中只有些只言片语,遂不敢妄加谈论。但是困惑却是甚多:

     1.经过了一个多月的学习,知道的竟是些模糊的理论,感觉很难付诸实际。

     2.学习操作系统,涉及到得保护模式很是头疼,大片的汇编代码让人哭笑不得。(幸亏学习了下汇编,已经有了大体的了解,不过似乎还是差的很远)。

     3.一大堆的新词汇,GDT、PDT、PDE、A20.。。。。让人似懂非懂!

     4.艰难的挺过来了,却遇到了门与特权级,看了几遍都看不懂,很是无奈!

     5.反问自己:不都是说操作系统是用c语言编写的么(那是操作系统的内核),怎么我捣鼓了这么长时间了,还是在不停的跟汇编打交道。

     6.我的学习计划正确吗?还是直接跳到内核那,用比较善解人意的c语言呢??

    以上为本人一个多月以来的困惑,困惑总是比明白的多,下边谈下几点让我比较兴奋的地方:

     通过接触操作系统,进一步加深了对内存的理解,哦!原来代码区,堆栈区,数据区,显存区等都是可以通过自己的双手亲自划分的呀!真是很有成就感的一件事。原来我们也可以有这么大的权力O(∩_∩)O~,自此以后不论拿到c、c++亦或是什么语言写的程序,我都愿意分析一下它们的内存,来来来。。。这个是全局变量,它在数据区,哦这个在动态的栈里,呵呵new出来的与malloc出来的在自由的堆里。。。。呵呵感觉真是不错的。

    其次,尽管我的进度非常的慢,像是蜗牛,可能比蜗牛还慢!总是一点点一点点的前进,不过任何一点点的进步都是让人兴奋的,我可以忍受经过努力后的失败,但是坚决接受不了不去尝试!

    以上为一堆得疑惑,和一点点的心得,我会继续自己的操作系统----FlyHorse,并且我相信它早晚会诞生!

原创粉丝点击