Open2

「ゼロからのOS自作入門」備忘録

iwayu987iwayu987

0.2そもそもOSって何? 
OSの機能を3つの側面で説明している

  1. アプリケーションに対するインターフェースとしての側面
  2. 計算資源分配者としての側面
  3. 人間に対するインターフェースとしての側面

1の例として周辺機器制御プログラムに対するインターフェースが出てきた
新しいデバイスを追加してもドライバをインストールすればなんとかなるみたいな話なのか?疑問
本編を読んで理解したい

iwayu987iwayu987

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