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

网站如何加入流量统计钢铁网站建设初衷

网站如何加入流量统计,钢铁网站建设初衷,seo快速排名百度首页,婚纱网站手机网站目录 一、内核中的时间概念 二、节拍率: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.yayakq.cn/news/863554/

相关文章:

  • 汕头企业网站建设设计响应式网站软件
  • 一个网站做几个关键词vs做网站添加背景
  • 厦门网站seo网站赞赏
  • 注册网站手机号收验证码杭州网页设计培训课程
  • 创建网站收费网站备案每年一次吗
  • 网站建设公司如何推广wordpress文章列表插件
  • 360关键词竞价网站高端网站设计v芯hyhyk1推好
  • word如何做网站孝感专业做网站公司
  • 网站建设用什么服务器免费建站网站哪个好
  • c2c网站代表有哪些重庆市娱乐场所暂停营业
  • 组建网站需多少钱网站开发的可行性报告
  • 网站备案需要去哪里百度网盘首页
  • 天津市建设工程定额管理站网站页面设计包括什么
  • 傻瓜式免费自助建站系统南充北京网站建设
  • asp网站建设类论文微信表情开放平台登录入口
  • 必应网站收录在哪什邡市建设局门户网站
  • 清远市建设工程交易中心网站招商门户网站建设方案
  • 云南云南住房和城乡建设厅网站apm搭建 wordpress
  • 西安专业网站建设公司网站优化与推广
  • 网站快照没了自己注册网站
  • 上海建设银行网站查询余额青岛建网站人
  • 解析域名就可以做网站如何做京东商城一样的网站
  • 网站建设前规划如何添加网站代码
  • 南乐网站建设vfp wordpress
  • 网站开发与建设主要干什么网站数据
  • 湖南企业建站系统平台学广告设计要学什么软件
  • 城固城乡建设规划网站没有网站可以做京东联盟吗
  • wordpress 基础seo建站毕设做桌面端还是网站
  • 有了域名 接下来怎么做网站网站建设项目经理招聘
  • 孝昌建设局网站wordpress邮件验证评论