2008/7/15 Star Liu <[EMAIL PROTECTED]>: > 2008/7/14 Taishan <[EMAIL PROTECTED]>: > > 另外向你推荐一件模拟器软件bochs。 > > vmware这类偏向应用的模拟器软件为了最大化发挥机器的性能,利用CPU的保护模 > > 式下的虚拟机技术拦截中断及IO操作,但各个指令还是要放到真正的CPU上执行 > > 的,是一种"部分"的模拟。 > > 而bochs是一个完完全全的软件模拟器,每一个指令都被bochs程序进行解释并执 > > 行,而不是放到CPU上直接执行,这样作虽然牺牲了性能,但可以做到很多vmware > > 这类模拟器不能做到的事情,你甚至可以像调试程序那样单步运行和在运行时改变 > > 内存的内容以及CPU的寄存器状态等。因此bochs非常适合作为学习研究之用,或者 > > 说bochs是一个"玩具"更为恰当,呵呵。 > > 这东西确实挺伟大的,软件行业真是人才济济啊,呵呵 > 不过有个牛人建议我这种基础薄弱的人(不懂操作系统原理)先多学学理论,再去搞代码,我也觉得挺对的。把他的建议贴出来供大家参考吧 > > > Star Liu wrote: > > I'm a self-learner of computer software, I hope I can know software > very clearly from the first instrction to the end applications. I have > read Intel IA32 and 64 architecture manuals, so I know some theories > about CPU execution environment, now I'm willing to read the real > code, my idea is to get the binary code, then follow its execution to > figure out the very basis of software, then i may continue to figure > out kernel.... > > > I tend to believe this is the wrong path for learning. It is wrong > because PCs are becoming very complex systems, and because to learn > something you need some simpler & pedagogical stuff (ie some good > abstractions) > > I would suggest instead: > > before all, read carefully all the web pages I referenced before! > > first read a good book on operating systems. > http://www.prenhall.com/tanenbaum/ > http://www.cs.vu.nl/~ast/books/mos2/<http://www.cs.vu.nl/%7East/books/mos2/> > > Then read a good book on the internals of some kernel, in particular > on linux or minix > http://www.amazon.com/Linux-Kernel-Internals-Michael-Beck/dp/0201331438 > http://tldp.org/LDP/tlk/tlk.html > http://kernelbook.sourceforge.net/ > http://kniggit.net/wwol26.html > http://books.regehr.org/reviews/understandingthelinuxkernel.html > http://www.kroah.com/lkn/ > http://www.informit.com/store/product.aspx?isbn=0131181637 > http://www.minix3.org/ > > http://www.pearsonhighered.com/educator/academic/product/0,,0131429388,00%2ben-USS_01DBC.html > > Read a good book on the internals of microprocessors > http://computer.howstuffworks.com/microprocessor.htm > > Read some academic stuff on non Posix ways of designing an operating > system. > http://www.coyotos.org/ > http://tunes.org/ > > eventually, code some kernel code, either a Linux module, or a small > kernel. This is very time consuming (I did try myself), mostly because > of very low level devices details. > Also read stuff describing PC hardware, like > http://oreilly.com/catalog/9780596005139/ > > > I really and strongly suggest you to spend much more time on reading & > learning, before coding. > > -- > Regards! > Star > Shanghai, China >
如果真正的把这些资料读完,也要花费好长时间。。。 -- Border Blog: http://b0rder.com/ Mail: borderj {at} gmail.com

