タグ

kernelに関するqpSHiNqpのブックマーク (2)

  • E:\LW2001_how_to_walk_the_kernel.prn.pdf

    •1 VA Linux Systems Japan taka@valinux.co.jp Linux World C&D/Tokyo 2001 2001 10 24 Linux World C&D/Tokyo 2001 2001 10 24 u u u u u u u u u u u u u CD Linux if ( A { A B B A if ( A { B return } B •2 u u u u ’ u … ² u u u u u u u u u u u u u u u u u u u u J •3 u u u u … u … u … u … u … u … u u u u u u u u u u … u u u u …… u u u u •4 u u u u u l l l l CD Linux libc.so 4. I/O a.out LINUX fread() 3. I/

  • プリエンプション - Linuxカーネルメモ

    CONFIG_PREEMPTを定義しておくと、プロセスコンテキストでカーネル内のコードを実行している時でも他のプロセスに切りかわることができる。 このため、プロセスがカーネル空間のコード実行中にCPU時間を使いきった場合でも、速やかにプロセスが切り替えられる。プリエンプション機能がないと、カーネル空間のコードの実行が終了するまでプロセスの切り替えが遅れる。 通常Unixはユーザモードのみプリエンプティブでカーネルモードではノンプリエンプティブだが、CONFIG_PREEMPTを有効にするとカーネルモードでもプリエンプティブになる。 CONFIG_PREEMPTがなければLinux 2.4と同様にカーネルモードでは明示的に自分からSleepしてCPUを手放さない限り切り替わらない。 1.プリエンプションの実装1.1 プリエンプションの実行preempt_schedule() preempt_

  • 1