Linux时钟与时钟函数.ppt

上传人:sh****n 文档编号:6353975 上传时间:2020-02-23 格式:PPT 页数:43 大小:1.92MB
返回 下载 相关 举报
Linux时钟与时钟函数.ppt_第1页
第1页 / 共43页
Linux时钟与时钟函数.ppt_第2页
第2页 / 共43页
Linux时钟与时钟函数.ppt_第3页
第3页 / 共43页
点击查看更多>>
资源描述
Linux时钟与时钟函数 主要内容 一 Linux时钟概念 二 Linux时钟原理 三 Linux时钟设置 四 Linux时钟函数 一 Linux时钟概念 1 Linux两个时钟概念 硬件时钟又叫RTC时钟 RealTimeClock CMOS时钟由主板电池驱动的时钟振荡器生成用于操作系统关机时记录时间软件时钟又叫系统时钟 SystemClock 内核时钟系统时钟源于时钟中断操作系统关机时系统时钟不存在 2 Linux两个时间概念 Wall clock 墙上时钟时间 从 1970 1 100 00 00UTC 开始经过的时间由全局变量xtime记录System time系统启动后经过的时间由全局变量jiffies记录单位是时钟滴答 3 时区的概念 时区的由来地球自转造成地域时间差1884年在华盛顿召开的国际经度会议上 规定将全球划分为24个时区中时区 零时区 东1 12区 西1 12区常用时区缩写UTC UniversalTimeCoordinatedGMT GreenwichMeanTime GMT UTC CST ChineseStandardTime CST UTC 8 世界时区图 4 夏令时的概念和由来 夏令时的概念又叫夏时制 日光节约时间常用缩写DST DaylightSavingTime 是一种为节约能源而人为规定地方时间的制度 制度实行期间所采用的统一时间称为 夏令时间 夏令时的由来本杰明 富兰克林首次提出夏令时的思想1916年 德国首先实行夏令时目前全世界有近110个国家每年实行夏令时 5 夏令时的利弊 优点充分利用光照 节约了能源燃料的使用减少了 温室气体排放也相应减少有人认为夏令时对患有夜盲症的人大有好处也让人们养成了早睡早起的好习惯弊端时间更换对人们生活带来不便有人认为夏令时在旅游业和能源消耗上获利不明显扰乱了人类和动物的生物钟 6 中国的夏令时 1986年至1991年 中华人民共和国在全国范围实行了六年夏令时规定每年从4月中旬的第一个星期日2时整 北京时间 到9月中旬第一个星期日的凌晨2时整 北京夏令时 夏令时制度在1992年停止施行 二 Linux时钟原理 1 时钟电路的组成 电脑主板时钟电路组成晶振时钟芯片 常见ICS和Winbond 电容 电感 电阻等 2 时钟频率的来源 时钟频率的来源时钟振荡器时钟振荡器组成晶体振荡器 简称晶振 时钟芯片时钟振荡器原理晶体压电效应与压电谐振有源放大反馈电路 时钟芯片原理图 主板时钟分布图 3 系统时钟的成因 时钟中断 时钟中断的概念由时钟中断电路按照一定的时间周期向CPU发出的中断时钟中断的周期称为一个滴答 tick 时钟中断电路的组成 可编程逻辑定时器中断管理器 3 系统时钟的成因 时钟中断 时钟中断的主要工作更新系统启动后的时间流失 即更新jiffies 更新系统 墙上时钟时间 即更新xtime 计算进程的时间片更新资源计数引发软件定时器 4 系统时钟运作机制 三 Linux时钟设置 1 Linux时钟配置文件 1 Linux时钟涉及到的配置文件 etc sysconfig clock usr share zoneinfo etc localtime etc rc d rc sysinit 1 Linux时钟配置文件 2 etc sysconfig clock包含系统时区信息决定硬件时钟是UTC时钟还是本地时钟 1 Linux时钟配置文件 3 usr share zoneinfo 包含世界全部时区信息 1 Linux时钟配置文件 4 etc localtime是Linux的时区配置文件是 usr share zoneinfo目录下对应文件的符号连接如上海应为 usr share zoneinfo Asia Shanghai 1 Linux时钟配置文件 5 etc rc d sysinit是Linux的启动脚本之一 其中包含了系统时钟初始化过程该脚本运行 sbin hwclock程序 把当前的硬件时钟复制为系统时钟该脚本会读取 etc sysconfig clock文件的设置 从而确定硬件时钟是本地时钟还是UTC时钟 rc sysinit时钟初始化部分示例 2 Linux时钟命令 1 查看系统系统时钟date设置系统时钟dateMMDDhhmmYYYY ss查看硬件时钟hwclock showclock show设置硬件时钟hwclock set date 07 07 0610 19 月 日 年时 分 秒 clock set date 07 07 0610 19 月 日 年时 分 秒 2 Linux时钟命令 2 硬件时钟和系统时钟的同步重新启动系统 系统时间会读取硬件时间 实现同步硬件时钟与系统时钟同步 hwclock hctosysclock hctosys系统时钟和硬件时钟同步 hwclock systohcclock systohc Linux时钟命令示例 1 Linux时钟命令示例 2 3 Linux时区命令 查看当期时区date Rcat etc sysconfig clock设置当前时区方法一 Linux系统安装时配置时区方法二 修改时区环境变量TZ Asia Shanghai 方法二 使用Linux时区设置命令tzselect方法三 复制相应的时区文件 替换系统默认时区ln sf usr share zoneinfo 主时区 次时区 etc localtime Linux时区命令示例 2 Linux夏令时配置 夏令时存储在时区信息文件中 位于目录 usr share zoneinfo 下夏令时查看方法 cd usr share zoneinfo zdump vAsia Shanghai 夏令时配置举例 四 Linux时钟函数 1 Linux时钟数据类型 常用时钟数据类型time tstructtimevalstructtmstructtimezonestructtimeb头文件 2 Linux常用时钟函数 1 获取系统时间time ttime time t t 取得从1970年1月1日至今的秒数intgettimeofday structtimeval tv structtimezone tz 返回当前距离1970年的秒数和微妙数 以及时区intftime structtimeb tp 获取当前时间日期 时区及夏令时标志 2 Linux常用时钟函数 2 设置系统时间intsettimeofday conststructtimeval tv conststructtimezone tz 功能 设置系统时间及时区返回值 成功返回0 失败返回 1 2 Linux常用时钟函数 3 时间格式转换structtm gmtime consttime t t time t类型转换为structtm类型stucttm localtime consttime t t time t类型转换为structtm类型time tmktime structtm timeptr structtm类型转换为time t类型 2 Linux常用时钟函数 4 时间格式转换char asctime conststructtm timeptr structtm类型转换为时间字符串类型字符串格式示例 SatOct2802 10 062010char ctime consttime t timep time t类型转换为时间字符串类型字符串格式同asctimesize tstrftime char s size tmax constchar format conststructtm tm 将structtm格式的时间tm按照format指定的字符串格式format输出到数组s中字符串格式示例 Y m d H M S 2 Linux常用时钟函数 5 时间运算doubledifftime time tt1 time tt2 功能 计算两个时间t1和t2的时间差返回值 返回二者时间差 单位秒 3 各时间函数的关系 4 时间函数应用举例 应用要求获取当前系统本地时间 并按照 yyyy mm ddHH MM SS 的格式打印输出 ThankYou
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!