Linuxカーネルのsleep関数の使い方

linuxカーネルには、ユーザー空間のsleep()関数に相当するものはありません。しかし、カーネルでは、実行を遅延させるため関数を用意しており、それらの機能を使ってsleep()に相当する機能を実現できます。

  1. ミリ秒で遅延
#include <linux/delay.h>
// 延迟500毫秒
mdelay(500);
  1. スリープ
#include <linux/delay.h>
// 延迟1秒
msleep(1000);
  1. usleep_range()のネイティブな日本語訳
#include <linux/delay.h>
// 延迟100~200毫秒
usleep_range(100000, 200000);

カーネルコードでのにのみ使用可能であり、ユーザー空間では使用できないことに注意してください。ユーザー空間では、遅延には sleep() 関数を使用できます。

bannerAds