内核态do_gettimeofday函数返回的timeval如何转成年月日时分秒的格式?

morneve1 2010-02-05 04:51:49
struct timespec {
time_t tv_sec; /* seconds */
long tv_nsec; /* nanoseconds */
};
#endif

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

struct timezone {
int tz_minuteswest; /* minutes west of Greenwich */
int tz_dsttime; /* type of dst correction */
};

内核态do_gettimeofday函数返回的timeval如何转成年月日时分秒的格式?
有什么函数可用,还望大家指点,感激
...全文
2119 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
morneve1 2010-02-21
  • 打赏
  • 举报
回复
先用proc文件系统简单传到kernel吧,do_fork的方法留以后试试
morneve1 2010-02-21
  • 打赏
  • 举报
回复
非常感谢各位指教,特别是do_fork
do_fork 2010-02-09
  • 打赏
  • 举报
回复
open => filp_open
read => vfs_read
write => vfs_write
close => filp_close

内核空间和用户空间的地址空间不同,一些函数有地址空间限制,
所以读写的时候,vfs_xxx之前需要set_fs解除这个限制。

fs/exec.c中有个例子,可以参考下
 681 int kernel_read(struct file *file, loff_t offset,
682 char *addr, unsigned long count)
683 {
684 mm_segment_t old_fs;
685 loff_t pos = offset;
686 int result;
687
688 old_fs = get_fs();
689 set_fs(get_ds());
690 /* The cast to a user pointer is valid due to the set_fs() */
691 result = vfs_read(file, (void __user *)addr, count, &pos);
692 set_fs(old_fs);
693 return result;
694 }


你也可以开一个内核线程,在内核线程中做这样的事情,
最好还是由用户空间程序配合内核做这个事情,以减少潜在错误,降低不稳定性因素。
morneve1 2010-02-07
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 morneve1 的回复:]
喔,那怎么在内核查普通文件? 感谢
[/Quote]

do_fork兄还在不?我查到我的系统用的是/etc/TZ这个文件
morneve1 2010-02-07
  • 打赏
  • 举报
回复
strftime是内核可以用的函数吗?

这个函数好象不能用吧
morneve1 2010-02-07
  • 打赏
  • 举报
回复
喔,那怎么在内核查普通文件? 感谢
do_fork 2010-02-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 morneve1 的回复:]
谢谢do_fork,我是2.6.20.s内核没发现有/etc/localtime 这个文件啊?


谢谢mostmark,strftime是内核可以用的函数吗?
[/Quote]

这个文件是文件系统中的,不是内核的一部分,只是个普通文件
morneve1 2010-02-07
  • 打赏
  • 举报
回复
谢谢do_fork,我是2.6.20.s内核没发现有/etc/localtime 这个文件啊?


谢谢mostmark,strftime是内核可以用的函数吗?
do_fork 2010-02-07
  • 打赏
  • 举报
回复
从内核中访问 /etc/localtime 文件,里面存储着时区信息
mostmark 2010-02-07
  • 打赏
  • 举报
回复
strftime()
很强大
morneve1 2010-02-07
  • 打赏
  • 举报
回复
内核模块如何取得时区啊?

兄弟们知道的帮忙啊
morneve1 2010-02-05
  • 打赏
  • 举报
回复
谢谢2楼,是不是没有现成函数的?

还有内核态如何取得时区
morneve1 2010-02-05
  • 打赏
  • 举报
回复
最终转换还缺个时间timezone喔,还请解释下,这个从哪可以取到?

谢谢兄弟们了
ma100 2010-02-05
  • 打赏
  • 举报
回复
http://www.xgdown.com/article/175/50550_1.htm
morneve1 2010-02-05
  • 打赏
  • 举报
回复
用户态下有localtime和gmtime将timeval.time_t转成struct tm的,
不知道内核应该怎么搞,好象没有这些函数的
代码下载链接: https://pan.quark.cn/s/a175d1ef418b 标题部分中的"新建文件夹 (2).zip"暗示这是一个采用ZIP编码方式的压缩文档,这种格式通常用于将多个关联的文件或目录整合进一个压缩单元中。在信息技术领域,ZIP编码格式是一种广泛应用的标准,它支持将多个数据单元压缩成一个独立的压缩文件,从而提升文件传输的便捷性、存储空间的利用效率以及管理的便捷度。ZIP格式的压缩文件可以通过多种解压缩工具进行访问,例如WinRAR软件、7-Zip应用程序或操作系统自带的压缩解压功能。 描述文本里的"shop"字样或许指向这个压缩文档与商业店铺、电子商务平台或网络销售系统存在关联。在Java编程范畴内,这有可能是一个范例项目,用以说明构建电子商务平台相关功能的实现方法,涵盖商品维护、购物车功能以及订单处理等模块。Java语言因其跨平台兼容性、系统稳定性以及完备的库资源支持,经常被选作开发大型企业级应用的技术栈,尤其是电子商务系统。 依据标签"java"的指示,可以推断压缩包内部可能包含了采用Java编程语言编写的源代码片段、系统配置文档、数据库操作脚本及其他辅助性资源。Java程序员一般借助集成开发环境(IDE)如Eclipse、IntelliJ IDEA或NetBeans进行Java代码的编写、编译及执行操作。这些开发工具能够高效地支持ZIP文件中项目结构的导入与管理。 文件命名列表仅列出一个条目"新建文件夹 (2)",这或许意味着压缩文档中包含一个同名的文件夹,该文件夹内可能收纳了一系列子文件及子目录。在实际的Java开发任务中,类似的结构可能包含src目录(存放程序源代码)、lib目录(存放项目依赖的jar库文件)、resou...
内容概要:本文系统研究了基于Kantorovich距离的SBR(Sequential Benefit Replacement)算法在电力系统场景削减中的应用,旨在从大量原始不确定性场景中筛选出最具代表性的典型场景,以降低随机优化问题的计算复杂度。该方法通过引入Kantorovich距离(也称Wasserstein距离)精确量化场景之间的差异性,并结合SBR算法实现场景的逐步合并与削减,有效保留原始场景的概率分布特征。文中提供了完整的Matlab代码实现,便于用户复现算法,特别适用于处理风电出力、负荷波动等具有强随机性和不确定性的多场景优化问题,如微电网调度、电氢耦合系统运行等。; 适合人群:具备一定概率统计、优化理论基础和Matlab编程能力,从事电力系统、新能源并网、能源互联网、随机规划及综合能源系统优化等领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于高比例可再生能源接入下的电力系统随机优化调度、微电网能量管理、多能互补系统等需要进行多场景分析与决策的建模场景;②帮助研究人员深入掌握Kantorovich距离的数学原理与计算方法,以及SBR算法的迭代逻辑与实现技巧,提升对不确定性建模、场景生成与削减技术的理解与应用能力; 阅读建议:建议读者结合提供的Matlab代码,重点理解距离矩阵的构建、场景权重的更新规则以及场景合并的判定逻辑,通过调试代码并代入实际风电或负荷数据进行案例测试,以深刻领会算法的核心思想与工程价值。

70,038

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧