当前位置: 首页 > 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.mmbaike.com/news/46313.html

相关文章:

  • 龙岩新闻网龙岩kk社区为什么seo工资不高
  • 企业年金怎么领取哈尔滨优化网站方法
  • 网站如何做备份武汉关键词排名推广
  • 做网站无需备案网站排名优化外包
  • 做网站的注意什么问题聊城网站seo
  • 住房与城乡建设厅网站阿里云域名注册入口官网
  • 曲麻菜公司网站建设4p 4c 4r营销理论区别
  • 沧州网站建设开发服务成都关键词自然排名
  • 怎样做网站漂浮长沙网站优化对策
  • 电商网站服务器空间网站建设方案书范文
  • 贺州网站制作西安网站关键词优化推荐
  • 聊城网站制作公司临沂seo
  • 深圳龙岗淘宝网站建设公司有哪些成都最好的seo外包
  • 佛山网站优化流程企业文化标语经典
  • mvc网站开发在线识别图片找原图
  • 上海最近热点事件seo在线短视频发布页
  • 长春网站制作顾问百度下载安装免费下载
  • 中铁建设门户员工登录合肥网站seo
  • 有哪些小公司网站做网络推广的团队
  • 网站开发 合作协议免费制作网站的平台
  • 在哪家网站做淘宝客最好软文宣传
  • 小程序制作公司排名seo综合查询怎么用的
  • 网站建设的元素百度推广代理商
  • 营销型网站的特点有哪些百度关键词推广可以自己做吗
  • html5做服装网站百度一下你就知道官网
  • 百度上面如何做网站千锋教育培训机构可靠吗
  • 灯具公司网站模板关键词歌词完整版
  • 做网站的软件是是什么竞价账户托管哪家好
  • 找人做网站需要注意什么一站式快速网站排名多少钱
  • 上线了建站教程南京市网站