Mercurial > hg > Members > anatofuz > slides
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種類がある