對於資訊工程或是駭客技術有興趣的同學,不妨嘗試撰寫作業系統,絕對會讓您的技術更上一層樓,那麼不知道如何從哪裡開始撰寫作業系統的同學,可以參考Torvalds在大學時期撰寫的Linux 0.11版本,不過為什麼要選擇那麼舊的0.11版本,因為此版本僅單純的處理bootloader、paging、heap、virtual filesystem (VFS)、Multitasking、User mode、syscalls,並沒有關於tcp/ip和複雜的演算法等等的程式碼,因此可以很專注的分析基本作業系統的原理。
2019年8月31日 星期六
2019年8月29日 星期四
peter-dbg tutorial
使用bochs模擬器來撰寫屬於自己的作業系統時,可能會遇到一些程式上的Bug或是一些邏輯錯誤,在小型程式(大約幾百行程式碼)都很好解決,那麼我們是撰寫作業系統等級的程式,程式碼都是上萬行,因此需要一款較好用的Debugger,常見的Debugger有GDB (GNU Debuger)、DDD (Data Display Debugger,介面化的GDB),不過這些Debugger都不能觀察GDT (Global Descriptor Table)、IDT (Interrupt Descriptor Table)、LDT (Local Descriptor Table)、Page table、CR 0-4 register (Control Register)等等資訊,如果遇到是關於在建構Page table的問題,就很難知道是這個環節的Bug,因此這篇就是介紹功能強大的Debugger,” peter-dbg”。
訂閱:
文章 (Atom)