カーネル モジュールが画面に印刷できないのはなぜですか?

カーネル モジュールが画面に印刷できないのはなぜですか?

Linux カーネル モジュールは画面に印刷できない、つまりprintf動作しないという記事を読みました。これは割り込み処理と関係があるのでしょうか、それともなぜそうなるのでしょうか。

C とアセンブリを勉強した記憶がありますがprintf、割り込みがオフになっていたために使用できませんでした。

答え1

カーネルではprintf実装されていないため動作しません。printk代わりに(またはearly_printkコンソールがセットアップされる前の非常に初期のコードで)。printkは、どこからでも、どのような状況でも安全に呼び出せるように非常に注意深くコード化されています(特に、メモリを割り当てる必要はありません)。 は、 とほぼ同じAPIを実装していますがprintf、印刷されるメッセージの重要性を示すログレベルと、カーネルで役立つ

関連情報