# 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種類がある