修論を完全に破壊したのでモチベはあったのだが、エディタをカスタマイズしたくなりついでに vim から neovim に移行していたら時間が消失した。 neovim はそこそこ満足した状態になった。
2/11
- stab document を軽く読む
- Lab 1: Booting a PC Finish lab1 · itkq/jos@224c471 · GitHub
2/21
- xv6 book Chapter 1: Operating system organization をまともに読む
- process multiplexing をするために process isolation が必要で、そのためには virtual address (address space) が必要
- strong isolation のために、application が直接物理リソースを触るのではなく OS が抽象化する
- Unix process: 透過的なプロセッサスイッチ、exec(2) によるメモリイメージ配置抽象化、file descriptor
- プログラマの利便性と strong isolation のための system call interface
- ある process が fail したとき OS も落ちたようでは困る
- x86 の kernel mode と user mode
- monolithic kernel, micro kernel
- Lab 2: Memory Management
- コメントを読みながら Part 1: Physical Memory Management を実装した Finish lab2 part1 · itkq/jos@db8c4fd · GitHub
- QEMU monitor の
info pg
info mem
が動かず色々試すがやはり動かなかった
2/24
- xv6 book Chapter 2: Page Tables の序盤を読む
- x86 は 220 の論理的な PTEs (Page Table Entries) から成る
- Page Table は two-level tree としてストアされる
- VA (Virtual Address) => PDE (Page Directory Entry) => PTE => Physical Page
- Lab2, Part2: Virtual Memory に取り組むが終わらず
- たぶんまだ物理ページと論理ページの関係がわかってない