当前位置: 首页 > news >正文

小程序源码库泉州seo培训

小程序源码库,泉州seo培训,当当网网站内容建设的分析,国内正品购物app排行目录 一、内核中的时间概念 二、节拍率:HZ 实时时钟 系统定时器 三、定时器 系统定时器是一种可编程硬件芯片,能以固定频率产生定时器中断,它所对应的中断处理程序负责更新系统时间,也负责执行需要周期性运行的任务。 一、内…

目录

一、内核中的时间概念

二、节拍率:HZ

实时时钟

系统定时器

三、定时器


系统定时器是一种可编程硬件芯片,能以固定频率产生定时器中断,它所对应的中断处理程序负责更新系统时间,也负责执行需要周期性运行的任务。

一、内核中的时间概念

系统定时器以某种频率自行触发定时器中断,该频率可以通过编程预定,称作节拍率(tick rate)。当定时器中断发生时,内核就通过一种特殊的中断处理程序对其进行处理。两次定时器中断发生的间隔时间就称为节拍(tick),它的大小等于节拍率分之一(1 / (tick rate))秒

下面给出一些利用定时器中断周期执行的工作:

  • 更新系统运行时间。
  • 更新实际时间。
  • 在 smp 系统上,均衡调度程序中各处理器上的运行队列。如果运行队列负载不均衡的话,尽量使它们均衡。
  • 检查当前进程是否用尽了自己的时间片。如果用尽则重新进行调度。
  • 更新资源消耗和处理器时间的统计值。

二、节拍率:HZ

系统定时器频率(节拍率)是通过静态预处理定义的,也就是 HZ(赫兹),在系统启动时按照 HZ 值对硬件进行设置。内核在 <asm/param.h> 中定义了这个值。

实时时钟

实时时钟(RTC)是用来持久存放实际时间的设备,即便系统关闭后,也可以靠主板上的微型电池保持系统的计时。当系统启动时,内核通过读取 RTC 来初始化实际时间,该时间存放在 xtime 变量中。

系统定时器

系统定时器是内核定时机制中最为重要的部分,它提供一种周期性触发中断机制。

三、定时器

定时器(也叫动态定时器或内核定时器)可以让指定的工作在指定的时间点上执行(如延后 5 秒或指定在某个时刻上执行)。下面的代码可以定义一个定时器:

struct time_list mytimer;
// 通过一个辅助函数来初始化定时器数据结构的内部值
init_timer(&my_timer);
// 然后设置自己的值
my_timer.expires = jiffies + delay; /* delay 为定时器超时节拍数,jiffies 是系统全局变量,维护系统发生时钟中断的总次数 */
my_timer.data = 0;                  /* 给定时器处理函数传入 0 值 */
my_timer.function = my_function;    /* 定时器超时时调用的函数 */

my_timer.expires 表示超时时间,它是以节拍为单位的绝对计数值。jiffies 是系统全局变量,维护系统发生时钟中断的总次数。如果当前 jiffies 计数大于 my_timer.expires ,那么 my_timer.function 指向的处理函数就会开始执行。处理函数必须符合下面的函数原型:

void my_timer_function(unsigned long data);

最后,需要激活定时器:

add_timer(&my_timer);

一般来说,定时器都在超时后马上执行,但是也有可能推迟到下一个时钟节拍才能执行,所以不能用定时器来实现任何硬实时任务

上面的方法是延迟一个函数执行,还有一种延迟进程执行的方法是使用 schedule_timeout() 函数,该方法会让需要延迟执行的任务睡眠到指定的延迟时间耗尽后再重新运行。但该方法也不能保证睡眠时间正好等于指定的延迟时间,只能使睡眠时间接近指定的延迟时间。当时间到期后,内核唤醒被延迟的进程并将其重新放回运行队列,用法如下:

/* 将任务设置为可中断睡眠状态 */
set_current_state(TASK_INTERRUPTIBLE);/* 小睡一会,“s” 秒后唤醒 */
schedule_timeout(s * HZ);

唯一的参数为延迟的相对时间,单位为节拍。当任务被设置为 TASK_INTERRUPTIBLE 状态,即可中断状态,那么当任务收到信号时可能被提前唤醒;也可以将任务设置为 TASK_UNINTERRUPTIBLE,这样就不会被信号提前唤醒。既然调用该函数后进程会睡眠,那么这种方法肯定不能在中断上下文或者持有锁的时候使用了。

http://www.ds6.com.cn/news/24911.html

相关文章:

  • 哈尔滨网络宣传与网站建设百度收录的网站
  • 用家庭宽带做网站杭州网站优化咨询
  • 企业网站怎么扣费的百度2022最新版本
  • 哪家网站建设服务好啊百度指数可以查询多长时间的
  • 深圳公共资源交易中心网站seo优化怎么做
  • 一个公司可以做几个网站吗优速网站建设优化seo
  • 网站开发的人李海涛百度应用商店
  • 网站程序元宁波seo教学
  • 如何做融资网站刷赞抖音推广网站
  • 重庆做网站changekeseo搜索引擎优化试题及答案
  • 阿里云做网站选什么主机搜一搜搜索
  • 重庆做营销网站建设如何进行seo
  • c 建设web网站的流程图cpa推广平台
  • 怎么再贴吧给自己的网站做宣传软文营销网
  • 网站设计市场价河北网络科技有限公司
  • 太原有网站工程公司吗免费b站推广网站短视频
  • 找简历的网站群排名优化软件
  • 营销型网站有意义吗房地产销售技巧和话术
  • 外贸网站建站案例公司怎么在百度上推广
  • 网站界面设计如何实现功能美与形式美的统一在线外链
  • 备案域名价格优化大师哪个好
  • 有哪些做网站的百度业务范围
  • 如何本地安装wordpressseo软件
  • 网站制作主要公司公众号软文推广多少钱一篇
  • 做数学题的网站有吗刷粉网站推广马上刷
  • 做善事的网站百度广告登录入口
  • 上海装修公司排名前十强排行榜苏州seo网站管理
  • 外贸营销网站建设网站应该如何推广
  • dw用表格做网站江苏网站seo营销模板
  • 编程培训机构排名谷歌seo网络公司