ウォンツテック

そでやまのーと

OS作成 - ページング&プロセス編

簡易システムコールとテスト用プロセスの実行ファイルを作成。
とりあえず実行ファイルをファイルシステム作成ツール(kmkfs.cpp)で直接ファイルシステムに埋め込んでおいてkernel.cで.data部分の文字列をext3_readで読み込み、システムコールで表示するとこまで出来た。

実行ファイル
STDOUT_FILENO = 1                                                               
                                                                                
.text                                                                           
.global _start, proctest                                                        
_start:                                                                         
proctest:                                                                       
        movl    $0x4, %eax                                                      
        movl    $STDOUT_FILENO, %ebx                                            
        movl    $mes, %ecx                                                      
        movl    mes_end - mes, %edx                                             
        int     $0x80                                                           
                                                                                
.data                                                                           
mes:    .ascii "process test message\0"                                         
mes_end: 

この実行ファイルをアセンブル&リンクしておく(開始アドレスは.textが0x0で.dataが0x100としておく)
今はこのファイルの.data部分を読み込んで表示させてるだけに過ぎず、次の目標は.text部分をプロセスとしてプロセス領域に配置(0x0〜0xC0000000)してスケジューリングさせる事。

sodex rev.20