20191323王予涵第五章学习笔记

20191323王予涵第五章学习笔记

一、知识点归纳

定时器及时钟服务

个人计算机定时器

  1. 实时时钟(RTC):
  • 小型备用电池供电。即使在个人计算机关机时,它也能继续运行。它用于实时提供时间和日期信息。

  • 时间变量是一个长整数,包含从1970年7月1日起经过的秒数。

  1. 可编程间隔定时器(PIT):
  • PIT是与CPU分离的一个硬件定时器。

  • 可对它进行编程,以提供以毫秒为单位的定时器刻度。

  1. 多核CPU中的本地定时器:
    在多核CPU中,每个核都是一个独立的处理器,它有自己的本地定时器,由CPU时钟驱动。4.高分辨率定时器:
  2. 高分辨率定时器:

    大多数电脑都有一个时间戳定时器(TSC),由系统时钟驱动,提供纳秒级定时器分辨率

CPU操作

  1. 当cpu遇到异常时,它会根据内存中预先安装的指针来执行软件中的异常处理程序,在每条指令结束时,cpu会检查挂起的中断。
  2. 中断是I/O设备或协处理器发送给cpu的外部信号

时钟服务函数

  • gettimeofday-settimeofday
#include <sys/time.h>
int gettimeofday(struct timeval *tv,struct timezone *tz);//返回当前时间
int settimeofday(const struct timeval *tv,const struct timezone *tz);//设置当前时间

第二个参数timezone已过期,应设置为NULL

  • time系统调用
time_t time(time_t *t);//返回当前时间

以秒为单位返回当前时间。

具有一定的局限性,只提供以秒为单位的分辨率,而不是以微秒为单位。

  • times系统调用
clock_t times(struct tms *buf)

该函数可用于获取某进程的具体执行时间。它将进程时间存储在struct tms buf中

struct tms{
	clock_t tms_utime;
	clock_t tms_stime;
	clock_t tms_cutime;
	clock_t tms_cstime;
}

time和date命令

  1. date:打印或设置系统日期和时间。

  2. time:报告进程在用户模式下和系统模式下的执行时间和总时间。

  3. hwclock:查询并设置硬件时钟(RTC),也可以通过BIOS来完成。

上一篇:实现tms瓦片转mbtile


下一篇:《信息安全系统设计与实现》学习笔记8