diff slides/2018/04/16/memo.txt @ 29:fc1dbdad3f63

auto-Update generated slides by script
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Wed, 25 Apr 2018 16:19:47 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/slides/2018/04/16/memo.txt	Wed Apr 25 16:19:47 2018 +0900
@@ -0,0 +1,35 @@
+# x86
+
+OSの起動時
++ BOOTi
+    - Kernel Load by ARM
+    - CnPUがMemoryにアクセスする時はpagingのアルゴリズムを使うのでpagingをする必要がある
+    - PageingTable
+    - initialize ( memory,Process,IO,file...)
+    - init process(rc.d/~)
+  CPU , Memory, Device(UARTなど...結局はVM上に構築される)
+
+ls
+    - fork
+    - exec ls <- open
+                load
+                memory空間の初期化==page tableのリセット
+                goto user mode
+        user.mode
+            opendir
+            memory allocation ( systemcall ) 
+                historycal : brk();
+    - 複数のprocess がactive -> task scheduler
+
+- armのregisterはarm0~arm12
+- 一番最初のentryはmainを誰かがよばないと行けない->assemblerレベルCRT(C runtime rootine)
+- arm registerにいれられる値は大きさにより、サイズがでかいのはある場所に置いといてPCで計算して持っていく
+
+define si
+ stepi
+ x/1i $pc
+end
+
+- initialize stack pointerがされるまでサブルーチンコールは許可されない。
+
+実際にはkernel pagetableとuser pgage tableの2種類がある