Open2
「ゼロからのOS自作入門」備忘録
0.2そもそもOSって何?
OSの機能を3つの側面で説明している
- アプリケーションに対するインターフェースとしての側面
- 計算資源分配者としての側面
- 人間に対するインターフェースとしての側面
1の例として周辺機器制御プログラムに対するインターフェースが出てきた
新しいデバイスを追加してもドライバをインストールすればなんとかなるみたいな話なのか?疑問
本編を読んで理解したい
2.7 メモリマップの確認
以下の内容だった
P.58に書かれている構造体と比較するとIndex, Type(name)が加えられていてVirtualStartが削られている
ちゃんとコード読んでないのでなぜこの内容になったか疑問
Index, Type, Type(name), PhysicalStart, NumberOfPages, Attribute
0, 3, EfiBootServicesCode, 00000000, 1, F
1, 7, EfiConventionalMemory, 00001000, 9F, F
2, 7, EfiConventionalMemory, 00100000, 700, F
3, A, EfiACPIMemoryNVS, 00800000, 8, F
4, 7, EfiConventionalMemory, 00808000, 8, F
5, A, EfiACPIMemoryNVS, 00810000, F0, F
6, 4, EfiBootServicesData, 00900000, B00, F
7, 7, EfiConventionalMemory, 01400000, 3AB36, F
8, 4, EfiBootServicesData, 3BF36000, 20, F
9, 7, EfiConventionalMemory, 3BF56000, 2726, F
10, 1, EfiLoaderCode, 3E67C000, 2, F
11, 4, EfiBootServicesData, 3E67E000, A, F
12, 9, EfiACPIReclaimMemory, 3E688000, 1, F
13, 4, EfiBootServicesData, 3E689000, 1F7, F
14, 3, EfiBootServicesCode, 3E880000, B4, F
15, A, EfiACPIMemoryNVS, 3E934000, 12, F
16, 0, EfiReservedMemoryType, 3E946000, 1C, F
17, 3, EfiBootServicesCode, 3E962000, 10A, F
18, 6, EfiRuntimeServicesData, 3EA6C000, 5, F
19, 5, EfiRuntimeServicesCode, 3EA71000, 5, F
20, 6, EfiRuntimeServicesData, 3EA76000, 5, F
21, 5, EfiRuntimeServicesCode, 3EA7B000, 5, F
22, 6, EfiRuntimeServicesData, 3EA80000, 5, F
23, 5, EfiRuntimeServicesCode, 3EA85000, 7, F
24, 6, EfiRuntimeServicesData, 3EA8C000, 8F, F
25, 4, EfiBootServicesData, 3EB1B000, 6F7, F
26, 7, EfiConventionalMemory, 3F212000, 4, F
27, 4, EfiBootServicesData, 3F216000, 6, F
28, 7, EfiConventionalMemory, 3F21C000, 1, F
29, 4, EfiBootServicesData, 3F21D000, 7FE, F
30, 7, EfiConventionalMemory, 3FA1B000, 1, F
31, 3, EfiBootServicesCode, 3FA1C000, 17F, F
32, 5, EfiRuntimeServicesCode, 3FB9B000, 30, F
33, 6, EfiRuntimeServicesData, 3FBCB000, 24, F
34, 0, EfiReservedMemoryType, 3FBEF000, 4, F
35, 9, EfiACPIReclaimMemory, 3FBF3000, 8, F
36, A, EfiACPIMemoryNVS, 3FBFB000, 4, F
37, 4, EfiBootServicesData, 3FBFF000, 201, F
38, 7, EfiConventionalMemory, 3FE00000, 8D, F
39, 4, EfiBootServicesData, 3FE8D000, 20, F
40, 3, EfiBootServicesCode, 3FEAD000, 20, F
41, 4, EfiBootServicesData, 3FECD000, 9, F
42, 3, EfiBootServicesCode, 3FED6000, 1E, F
43, 6, EfiRuntimeServicesData, 3FEF4000, 84, F
44, A, EfiACPIMemoryNVS, 3FF78000, 88, F
45, 6, EfiRuntimeServicesData, FFC00000, 400, 1