




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux时钟与时钟函数,主要内容,一、Linux时钟概念,二、Linux时钟原理,三、Linux时钟设置,四、Linux时钟函数,一、Linux时钟概念,1、Linux两个时钟概念,硬件时钟 又叫RTC时钟(Real Time Clock)、CMOS时钟 由主板电池驱动的时钟振荡器生成 用于操作系统关机时记录时间 软件时钟 又叫系统时钟(System Clock)、内核时钟 系统时钟源于时钟中断 操作系统关机时系统时钟不存在,2、Linux两个时间概念,Wall-clock “墙上时钟时间” 从“1970.1.1 00:00:00 UTC”开始经过的时间 由全局变量xtime记录 System-time 系统启动后经过的时间 由全局变量jiffies记录 单位是时钟滴答,3、时区的概念,时区的由来 地球自转造成地域时间差 1884年在华盛顿召开的国际经度会议上,规定将全球划分为24个时区 中时区(零时区)、东1-12区、西1-12区 常用时区缩写 UTC:Universal Time Coordinated GMT:Greenwich Mean Time(GMT=UTC) CST:Chinese Standard Time(CST=UTC+8),世界时区图,4、夏令时的概念和由来,夏令时的概念 又叫夏时制、日光节约时间 常用缩写DST(Daylight Saving Time) 是一种为节约能源而人为规定地方时间的制度,制度实行期间所采用的统一时间称为“夏令时间” 夏令时的由来 本杰明富兰克林首次提出夏令时的思想 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 设置系统时钟 date MMDDhhmmYYYY.ss 查看硬件时钟 hwclock show clock -show 设置硬件时钟 hwclock -set -date=“07/07/06 10:19” (月/日/年 时:分:秒) clock -set -date=“07/07/06 10:19” (月/日/年 时:分:秒),2、Linux时钟命令(2),硬件时钟和系统时钟的同步 重新启动系统,系统时间会读取硬件时间,实现同步 硬件时钟与系统时钟同步: hwclock -hctosys clock -hctosys 系统时钟和硬件时钟同步: hwclock -systohc clock -systohc,Linux时钟命令示例(1),Linux时钟命令示例(2),3、Linux时区命令,查看当期时区 date -R cat /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 -v Asia/Shanghai,夏令时配置举例,四、Linux时钟函数,1、Linux时钟数据类型,常用时钟数据类型 time_t struct timeval struct tm struct timezone struct timeb 头文件 ,2、Linux常用时钟函数(1),获取系统时间 time_t time(time_t *t); 取得从1970年1月1日至今的秒数 int gettimeofday(struct timeval *tv, struct timezone *tz); 返回当前距离1970年的秒数和微妙数,以及时区 int ftime(struct timeb *tp); 获取当前时间日期、时区及夏令时标志,2、Linux常用时钟函数(2),设置系统时间 int settimeofday(const struct timeval *tv, const struct timezone *tz); 功能:设置系统时间及时区 返回值:成功返回0,失败返回-1,2、Linux常用时钟函数(3),时间格式转换 struct tm* gmtime(const time_t *t); time_t类型转换为struct tm类型 stuct tm* localtime(const time_t *t); time_t类型转换为struct tm类型 time_t mktime(struct tm* timeptr); struct tm类型转换为time_t类型,2、Linux常用时钟函数(4),时间格式转换 char *asctime(const struct tm* timeptr); struct tm类型转换为时间字符串类型 字符串格式示例:Sat Oct 28 02:10:06 2010 char *ctime(const time_t *timep); time_t类型转换为时间字符串类型 字符串格式同asctime size_t strftime(char *s, size_t max, const char *format, const struct tm *tm); 将struct tm格式的时间tm按照format指定的字符串格式format输出到数组s中 字符串格式示例:“%Y-%m-%d %H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 理想的风筝读后感700字(7篇)
- 企业人才储备及发展路径规划工具
- 纪检业务实战培训课件
- 五子棋争霸赛250字12篇
- 2025年日语能力测试N1级词汇语法强化训练试卷
- 乡村集体经济合作管理合同
- 2025年社会工作师职业水平考试社会工作评估实务(中级)试卷
- 宁德三年级数学试卷
- 鄱阳二中数学试卷
- 邳州初中考数学试卷
- 2025年山东省菏泽市中考英语真题(无答案)
- 2025劳动合同书示范文本下载
- 急性阑尾炎病人护理课件
- 水利水电工程单元工程施工质量验收标准第8部分:安全监测工程
- 2026年高考政治一轮复习:高考政治主观题背诵提纲汇编
- 2025总公司授权分公司签订合同的示范文本
- 2025年医师定期考核法律法规试题及答案
- 学堂在线 大学计算机基础 章节测试答案
- 骨科手术切口感染的预防与控制
- 县域共配仓农村物流配送成本控制报告
- 二级实验室生物安全管理手册
评论
0/150
提交评论