我的操作系统开发学习之路
2012-10-05 07:36
190 查看
我的操作系统开发学习之路,以下我列明每一个阶段所用过的时间
1) 汇编, 这个阶段我用了最长时间,学汇编之前我未玩过low-level,很不习惯没有for-loop,更加不习惯要自己搞内存分配,我差不多用了3-4年才把x86的实模式和保护模式学好,这里“学好”的意思是不再怕汇编的东西。我用的是NASM,我不是很喜欢gcc的汇编语法。
2) Linux上的GCC, 这个阶段比较容易,因为我是玩basic出身的, high-level的C我不怕, 但搞操作系统需要的不是high-level的C编程能力,所有我一直向低层进发,中途什么都学点, 因为没人带的关系, 所以自己无一条定好的学习道路,花了三年时间学了linker script, 嵌入式asm,LD用法,Gas,Makefile,Objdump等,你可能问我为什么会花这么长的时间,第一,因为研究OS是我的副业,无人逼我什么时候要出什么成果,所以学习是比较轻松的,第二,我是以研究的心态去学,所以我什么也想学深一点才停,所以就花了这么多时间了。
3) 到了这个阶段,汇编和C也还可以了,所以动手搞比较多,但到这个阶段才知道要学的更多,例如mult-boot格式,C库,file system等,这些东西我也不记得用了多少时间,我只知道当年我很不喜欢GDB,加上想创造一个自己的调试器,所以花了很多时间(>3年)去搞peter-bochs debugger,到现在我也相信要造最好的OS,一定要有要合身的调试器。
以上只供參考
1) 汇编, 这个阶段我用了最长时间,学汇编之前我未玩过low-level,很不习惯没有for-loop,更加不习惯要自己搞内存分配,我差不多用了3-4年才把x86的实模式和保护模式学好,这里“学好”的意思是不再怕汇编的东西。我用的是NASM,我不是很喜欢gcc的汇编语法。
2) Linux上的GCC, 这个阶段比较容易,因为我是玩basic出身的, high-level的C我不怕, 但搞操作系统需要的不是high-level的C编程能力,所有我一直向低层进发,中途什么都学点, 因为没人带的关系, 所以自己无一条定好的学习道路,花了三年时间学了linker script, 嵌入式asm,LD用法,Gas,Makefile,Objdump等,你可能问我为什么会花这么长的时间,第一,因为研究OS是我的副业,无人逼我什么时候要出什么成果,所以学习是比较轻松的,第二,我是以研究的心态去学,所以我什么也想学深一点才停,所以就花了这么多时间了。
3) 到了这个阶段,汇编和C也还可以了,所以动手搞比较多,但到这个阶段才知道要学的更多,例如mult-boot格式,C库,file system等,这些东西我也不记得用了多少时间,我只知道当年我很不喜欢GDB,加上想创造一个自己的调试器,所以花了很多时间(>3年)去搞peter-bochs debugger,到现在我也相信要造最好的OS,一定要有要合身的调试器。
以上只供參考
相关文章推荐
- Android开发学习之路--异步消息Handler,Message,Looper和AsyncTask之初体验
- Android开发学习之路-SnackBar使用心得
- Java学习之路全攻略——编程本质论-Java基础-Java-编程开发
- Android 学习之路和App开发框架
- Android开发学习之路-编程环境初探
- iOS7开发学习之路:No.9: 引导页之三&内存释放
- Android开发学习之路--Activity之Intent
- U3D开发学习之路——持久化数据
- Android开发学习之路--Drawable mutations
- MFC学习之路之UI --(6)在SlickSkins 基础上开发的一个很不错的浏览器
- java学习之路--java数组--java开发实战经典第四章
- VSTS2008 学习之路(1):配置开发环境
- IOS开发---菜鸟学习之路--(七)-自定义UITableViewCell
- Python学习之路二开发工具eclipse(Eclipse3.X)插件的详细配置
- Android开发学习之路--UI之简单聊天界面
- 用S60操作系统SDK开发NOKIA手机应用程序-学习笔记(3)
- Android开发学习之路--MediaPlayer之简单音乐播放器初体验
- 用S60操作系统SDK开发NOKIA手机应用程序-学习笔记(1)