首页 > 其他分享 >学习笔记8

学习笔记8

时间:2023-11-02 13:23:14浏览次数:35  
标签:定时器 struct tv 笔记 学习 计数器 tms time

苏格拉底挑战


第五章 定时器及时钟服务

一、知识点归纳

(一)硬件定时器

定时器是由时钟源和可编 程计数器组成的硬件设备。时钟源 通常是一个晶体振荡器,会产生周期性电信号,以料青确的频率驱动计数器。使用一个倒计时值对计数器进行编程,每个时钟信号减1。当计 改减为0时,计数器向CPU生成一个定时器中断,将计数值重新加载到计数器中,并重复复倒计时。计数器周期称为定时器刻店度,是系统的基本计时单元。

(二)个人计算机定时器

(三)CPU操作

(四)中断处理

(五)时钟服务函数

1.gettimeofday-settimeofday

#include<sys/time.h>
int gettimeofday(struct timeval *tv, struct timezone *tz);
int settimeofday(const struct timeval *tv, const struct timezone *tz);

这些是对 Linux 内核的系统调用。第一个参数 tv 指向一个 timeval 结构体。

struct timeval{
    time_t         tv_sec;    /* seconds */
    suseconds_t    tv_usec;   /* microseconds */
};

第二个参数 timezone 已过期,应设置为 NULL。gettimeofday() 函数用于返回当前时间(当前秒的秒和微秒)。settimeofday() 函数用于设置当前时间。在 Unix/Linux 中,时间表示自 1970年1月1日 00:00:00 起经过的秒数。它可以通过库函数 ctime(&time) 转换为日历形式。下面给出了 gettimeofday() 函数和settimeofday() 函数的示例。

2.time 系统调用

3.times 系统调用

times 系统调用

clock_t times(struct tms *bus);

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

struct tms{
    clock_t tms_utime;    // user mode time
    clock_t tms_stime;    // system mode time
    clock_t tms_cutime;   // user time of children
    clock_t tms_cstime;   // system time of children
}

以时钟计时单元报告所有时间。这可以为分析某个正在执行的进程提供信息,包括其子进程的时间(如有)。

4.time 和 date 命令

  • date:打印或设置系统日期和时间。
  • time:报告进程在用户模式和系统模式下的执行时间和总时间。
  • hwclock:查询并设置硬件时钟(RTC),也可以通过 BIOS 来完成。

标签:定时器,struct,tv,笔记,学习,计数器,tms,time
From: https://www.cnblogs.com/hosf/p/17797958.html

相关文章

  • Windows常用运维命令汇总-学习笔记
    基本网络命令ipconfig/all                                     查看IP地址whoami                                           查询账号所属权限whoami/all               ......
  • Unity从入门到主程学习路线(内含学习资料)干货超全
    写在最前很多小伙伴想进阶Unity主程,进阶Unity架构师,不知道要学哪些知识,今天给大家分享一下比较完整的知识体系,Unity学习路线,介绍一些有干货的博主与教程,给大家做参考。不管你是已经工作了,还是正在学习中的Unity初学者,如果你想在游戏开发行业中有更高更远的发展,请用五分钟阅读......
  • 一文学习mysql基础知识
    1.常见的数据库产品    1)oracle   --甲骨文    2)DB2      --IBM    3)SQLsever--微软    4)MySql    --AB->SUN->甲骨文2.名词解释    字段   --表中的列    记录   --表中的行3.登录远程数据库    1)打开一个终端窗......
  • 【转载】CUDA编程学习记录 C++
    参考Yuezero的CUDA编程基础(https://blog.csdn.net/weixin_54338498/article/details/127947551)CUDA编程模型host指代CPU及其内存,包含host程序device指代GPU及其内存,包含device程序经典CUDA程序的执行流程如下:分配host内存,并进行数据初始化;分配device内存,并从host将......
  • 深度学习资料
    《深度学习入门基于python的理论与实现》pdf免费分享,一起学习一起进步:https://github.com/MemorialCheng/deep-learning-from-scratch《深度学习入门基于python的理论与实现》,含pdf+源代码 《深度学习入门基于python的理论与实现》 视频:https://www.bilibili.com/video/BV12t411......
  • 深度学习训练模型中的 Epoch,Batchsize,Iterations
    GOODPOSThttps://towardsdatascience.com/epoch-vs-iterations-vs-batch-size-4dfb9c7ce9c9 Epoch /ˈiːpɒk/ 美 n.时代,纪元;值得纪念的事件(或日期);世(地质年代,纪下分世);历元复数epochs 当一个完整的数据集通过了神经网络一次并且返回了一次,这个过程称为一次Epoch。所有训练......
  • 【学习】第一章 第4节
    1-4原子结构的玻尔行星模型光谱:物质的特性之一,每一物质都有其独特的光谱。物质不同,光谱亦异。巴尔末经验方程的里德伯形式:\[\displaystyle\barv=\frac{1}{\lambda}=R_H(\frac{1}{2^2}-\frac{1}{n^2})\]其中\(R_H\)称为里德伯常量,其数值为\(1.09737\times10^7\te......
  • Effective Python 编写高质量Python代码的59个有效方法----读书笔记
    第二条遵循PETP8风格指南PEP8指南PythonEnhancementProposal#8使用space(空格)来表示缩进,而不要用tab(制表符)和与法相关的每一层缩进都用4个空格来表示每行的字符数不应超过79对于占据多行的长表达式来说,除了首行之外的其余各行都应该在通常的缩进级别至上再加4个空格......
  • 一文读懂强化学习:RL全面解析与Pytorch实战
    在本篇文章中,我们全面而深入地探讨了强化学习(ReinforcementLearning)的基础概念、主流算法和实战步骤。从马尔可夫决策过程(MDP)到高级算法如PPO,文章旨在为读者提供一套全面的理论框架和实用工具。同时,我们还专门探讨了强化学习在多个领域,如游戏、金融、医疗和自动驾驶等的具体应用......
  • Django实战项目-学习任务系统-查询列表分页显示
    接着上期代码框架,6个主要功能基本实现,剩下的就是细节点的完善优化了。接着优化查询列表分页显示功能,有很多菜单功能都有查询列表显示页面情况,如果数据量多,不分页显示的话,页面展示效果就不太好。本次增加查询列表分页显示功能,对一个查询列表功能进行分页改造,其他依此类推即可。......