カーネルに関数ポインタを作成し(割り込みサービスルーチンに似ており、割り込みベクトルテーブルに関数のアドレスを維持する)、コンパイルとリンクを開始すると、リンカはおそらく実行する場所から静的に関数のアドレスを割り当てるでしょう.
カーネル開発者は、関数が実行される可能性のある関数のアドレスを知らない場合があります。
ただし、新しいカーネル プロセスが作成されると、そのプロセスにメモリを動的に割り当てる必要があります。
では、RAM に空きメモリがあるかどうかを判断し、そのメモリをプロセスに割り当てるにはどうすればよいでしょうか。
また、リンカーによって割り当てられたメモリアドレスを見つける方法は?
malloc または kmalloc が空きメモリを処理に割り当てる方法を知りたいです。