xv6(MITが開発した教育用OS)と同じく、Understanding the Linux Kernel 3rd.ed.をソースコードリーディングしてまとめた記事を羅列しておく。(これも適宜更新していきたい)
Note) この本が取り扱っているバージョンは2.6.11でかなり古い。また、x86のコードを中心に扱っている。以下の記事群で取り扱っているソースコードは全てversion 2.6.11のx86(32bit)である。
e820(BIOS命令)について: http://cstmize.hatenablog.jp/entry/2019/04/05/e820%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6
initcall
マクロ関数群の詳細: http://cstmize.hatenablog.jp/entry/2019/04/22/initcall%E3%81%A8%E3%81%AFlinux kernelにおけるFPU, MMU, SSEの取扱: http://cstmize.hatenablog.jp/entry/2019/04/14/linux_kernel%E3%81%A7%E3%81%AEFPU%2C_MMX%2C_SSE%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6
Slab Allocatorの内部実装: http://cstmize.hatenablog.jp/entry/2019/04/07/slab_allocator%E3%81%AE%E5%86%85%E9%83%A8%E5%AE%9F%E8%A3%85
switch_to(context switchのコアの関数)を読む: http://cstmize.hatenablog.jp/entry/2019/03/16/%60switch_to%60%E3%82%92%E8%AA%AD%E3%82%93%E3%81%A7%E3%81%BF%E3%82%8B
ExceptionとSystem Callの挙動: http://cstmize.hatenablog.jp/entry/2019/03/28/linux2_6%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AEException%E3%81%A8%60int_%240x80%60%28system_call%29%E3%81%AE%E6%8C%99%E5%8B%95
path_lookup(ファイルパスのlookup関数)の実装: http://cstmize.hatenablog.jp/entry/2019/05/06/%60path_lookup%28%29%60%E3%82%92%E8%BF%BD%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B
spinlockについて: http://cstmize.hatenablog.jp/entry/2019/05/12/spinlock%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6
vm_area_structの探索関数(
find_vma
とか)の内部実装: http://cstmize.hatenablog.jp/entry/2019/07/29/vm_area_struct%E3%81%AE%E6%8E%A2%E7%B4%A2%E9%96%A2%E6%95%B0%28find_vma_%2A%2A%E9%96%A2%E6%95%B0%E7%BE%A4%29%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6Copy On Writeの実装(概要編): http://cstmize.hatenablog.jp/entry/2019/08/12/Linux_Kernel%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8BCopy_On_Write%28CoW%29%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF%28%E6%A6%82%E8%A6%81%E7%B7%A8%29
mmapにおけるMAP_PRIVATEの挙動: http://cstmize.hatenablog.jp/entry/2019/08/27/mmap%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8BMAP_PRIVATE%E3%81%AE%E6%8C%99%E5%8B%95