第一类延时函数原型是:(忙等) ( 头文件是 #include<linux/delay.h>
void ndelay(unsigned long nsecs);
void udelay(unsigned long usecs);
void mdelay(unsigned long msecs);
说明:内核函数 ndelay, udelay, 以及 mdelay 对于短延时好用, 分别延后执行指定的纳秒数, 微秒数或者毫秒数. 它们涉及到的延时常常是最多几个毫秒。
第二类延时函数原型是:(使进程进入休眠)
void msleep(unsigned int millisecs);
unsigned long msleep_interruptible(unsigned int millisecs);
void ssleep(unsigned int seconds)
这类方法获得毫秒(和更长)延时而不用涉及到忙等待,前2 个函数使调用进程进入睡眠给定的毫秒数.
一个对 msleep 的调用是不可中断的; 你能确保进程睡眠至少给定的毫秒数.
如果你的驱动位于一个等待队列并且你想唤醒来打断睡眠, 使用 msleep_interruptible. 从 msleep_interruptible 的返回值正常地是 0; 如果这个进程被提早唤醒, 返回值是在初始请求睡眠周期中剩余的毫秒数. 对 ssleep 的调用使进程进入一个不可中断的睡眠给定的秒数.


http://www.taodudu.cc/news/show-1837214.html

相关文章:

  • OmniCppComplete实现C代码自动补全
  • 一次Linux驱动升级的问题记录
  • Linux内核原子操作及函数
  • 使用BCC工具获取Linux内核空间read/write操作的文件名
  • linux内核IO模块plug/unplug机制
  • linux开机时驱动的加载流程
  • 服务器搭建docker环境的过程
  • 使用docker环境编译驱动
  • generic_make_request函数处理bio流程分析
  • 以rpm包形式升级Linux驱动
  • 查看设备UUID的方法
  • 关于might_sleep的一点说明
  • Linux内核中增加一个新的驱动模块
  • cdev 结构体、设备号相关知识解析
  • CentOS镜像中替换安装镜像的小系统的内核方法
  • initramfs文件解压方法
  • Linux系统下多版本gcc使用问题记录
  • kmalloc参数GFP_ATOMIC or GFP_KERNEL?
  • 几篇关于UDEV的文章
  • blk_queue_bio函数学习
  • 使用samba完成Linux服务器与Windows之间的映射
  • proc文件系统实现用户空间与内核空间的数据通信
  • Linux定时器的简单使用
  • slub释放过程-do_slab_free
  • Linux 的 history 命令显示时间
  • 缺少网卡固件导致的网络服务异常,Can‘t load firmware file bnx2x/bnx2x-e2-7.13.15.0.fw
  • slub分配流程-kmem_cache_alloc函数
  • rpm数据库异常问题总结
  • ks.cfg配置详解
  • IO负载高的来源定位

Linux内核中的延时函数相关推荐

  1. Linux内核中的延时函数详解

    内核中涉及的延时主要有两种实现方式:忙等待或者睡眠等待.前者阻塞程序,在延时时间到达前一直占用CPU,而后者是将进程挂起(置进程于睡眠状态并释放CPU资源).所以,前者一般用在延时时间在毫秒以内的精确 ...

  2. Linux Shell中的延时函数

    Linux Shell中的延时函数 在 linux shell 脚本中经常需要做一些延时处理. 所以经常要用到 sleep 或 usleep 函数. 下面来说一下  sleep 和 usleep 的区 ...

  3. linux内核中的睡眠函数*delay、*sleep

    目录 一.睡眠函数种类 1.原子上下文 2.非原子上下文 二.使用环境 1.使用环境的不同,选择不同的延时 2.驱动机制不同 3.内核中的计算函数执行的函数 三.实测两类函数的延时以及原因 1.测试系 ...

  4. linux内核中的hook函数详解,linux内核中的hook函数详解

    在编写linux内核中的网络模块时,用到了钩子函数也就是hook函数.现在来看看linux是如何实现hook函数的. 先介绍一个结构体: struct nf_hook_ops,这个结构体是实现钩子函数 ...

  5. linux hook 任意内核函数,linux内核中的hook函数详解

    在编写linux内核中的网络模块时,用到了钩子函数也就是hook函数.现在来看看linux是如何实现hook函数的. 先介绍一个结构体: struct nf_hook_ops,这个结构体是实现钩子函数 ...

  6. Linux内核中内存分配函数

    1.原理说明 Linux内核 中采 用了一种同时适用于32位和64位系统的内 存分页模型,对于32位系统来说,两级页表足够用了,而在x86_64系 统中,用到了四级页表,如图2-1所示.四级页表分别为 ...

  7. linux内核中测量时间的方法,Linux内核中获取时间函数do_gettimeofday

    内核代码能一直获取一个当前时间的表示, 通过查看 jifies 的值. 常常地, 这个值只代表从最后一次启动以来的时间, 这个事实对驱动来说无关, 因为它的生命周期受限于系统的 uptime. 如所示 ...

  8. linux内核字符串逆序,Linux内核中常用字符串函数实现

    //列举了部分常用的strcpy,strcmp,strcat,strchr,strstr,strpbrk... char *strcpy(char *dest, const char *src) { ...

  9. linux mktime函数的实现,Linux内核中mktime()函数算法分析

    Linux内核中的mktime()函数位于kernel/time.c内 该函数主要用于内核启动时,将CMOS中的 年-月-日 时:分:秒 信息转换为距离1970-01-01 00:00:00的秒数 具 ...

  10. linux启动程序api编程,Linux编程中关于API函数与系统调用间关系

    用户态xyz()函数,内核最终一般会调用形如sys_xyz()的服务例程来处理(不过也有一些例外,这里暂时不考虑) 函数xyz()是直接提供给用户编程使用的.图中"SYSCALL" ...

最新文章

  1. B样条曲线 及 B样条曲面
  2. 8.13模拟:分治二分倍增快速幂
  3. python 字符串大小写转换 其它不变_python字符串大小写如何转换
  4. AOE网与关键路径简介
  5. 3gpp协议_C-V2X: 3GPP协议阅读前的一些准备
  6. Python 性能分析入门指南
  7. LeetCode之长度最小的子数组
  8. 词频统计(30 分)(map vector sort)
  9. mysql web聊天_多嘴WEB聊天室基于PHP+MYSQL的中文聊天室
  10. 数据库系统概论重点总结
  11. WAS中间件服务器简介
  12. xmpp 即时通讯协议研究
  13. 网卡驱动离线安装经验,避坑指南
  14. java集成极光推送
  15. java60秒倒计时
  16. 易语言html加密解密,易语言实现-JScript.Encode加密解密(一)
  17. 使用Frida hook 获取native层代码的返回值
  18. 大数据缺省值插补方法(回归填补[stochastic regression imputation],聚类填补,。。)
  19. 获取网页访问者的IP地址
  20. 2020 对自己好一点之新 Mac Book Pro 环境的安装

热门文章

  1. Python 对象的绑定方法
  2. 如何注册苹果开发者账号
  3. 第五章 多个消费者监听同一个队列
  4. 系统调用服务号 linux 2.6.32
  5. maven仓库--私服(Nexus的配置使用)
  6. Cordova+Vue快速搭建Hybrid App
  7. Putty连接TPYBorad v102 开发板教程
  8. asp.net C#后台实现下载文件的几种方法
  9. 洛谷 P2712 摄像头
  10. Android应用程序组件Content Provider的启动过程源代码分析(5)