我的操作系統(tǒng)開發(fā)學(xué)習(xí)之路
我的操作系統(tǒng)開發(fā)學(xué)習(xí)之路,以下我列明每一個(gè)階段所用過的時(shí)間
1) 匯編, 這個(gè)階段我用了最長(zhǎng)時(shí)間,學(xué)匯編之前我未玩過low-level,很不習(xí)慣沒有for-loop,更加不習(xí)慣要自己搞內(nèi)存分配,我差不多用了3-4年才把x86的實(shí)模式和保護(hù)模式學(xué)好,這里“學(xué)好”的意思是不再怕匯編的東西。我用的是NASM,我不是很喜歡gcc的匯編語法。
2) Linux上的GCC, 這個(gè)階段比較容易,因?yàn)槲沂峭鎎asic出身的, high-level的C我不怕, 但搞操作系統(tǒng)需要的不是high-level的C編程能力,所有我一直向低層進(jìn)發(fā),中途什么都學(xué)點(diǎn), 因?yàn)闆]人帶的關(guān)系, 所以自己無一條定好的學(xué)習(xí)道路,花了三年時(shí)間學(xué)了linker script, 嵌入式asm,LD用法,Gas,Makefile,Objdump等,你可能問我為什么會(huì)花這么長(zhǎng)的時(shí)間,第一,因?yàn)檠芯縊S是我的副業(yè),無人逼我什么時(shí)候要出什么成果,所以學(xué)習(xí)是比較輕松的,第二,我是以研究的心態(tài)去學(xué),所以我什么也想學(xué)深一點(diǎn)才停,所以就花了這么多時(shí)間了。
以上只供參考