在 Windows NT 内核中你是无法使用 time.h 获取当前系统时间的,这个时候你需要用到 Wdm.h(你可以 include Wdm.h,
Ntddk.h, 或 Ntifs.h)里面提供的 KeQuerySystemTime()
函数。这个函数和相关头文件需要 Windows 2000, Windows Vista 或者 Windows 7 等 NT 系统。
函数原型:
VOID KeQuerySystemTime(
__out PLARGE_INTEGER
CurrentTime
);
参数:
CurrentTime [out]
这是一个指向当前系统时间的指针。
备注:
系统时间是一个以 100 纳秒为单位从 1601 年 1 月 1 日开始计算的 64 位有符号整数。以下是有关于这个 64 位的 LARGE_INTEGER
的结构:
typedef union _LARGE_INTEGER {
struct {
DWORD LowPart;
LONG
HighPart;
} ;
struct {
DWORD LowPart;
LONG HighPart;
}
u;
LONGLONG QuadPart;
} LARGE_INTEGER, *PLARGE_INTEGER;
>
实际上这是一个为了防止你没有 64 位字符定义而设立的兼容性数据结构。当然如果你有 LONGLONG 定义的话,你可以直接使用里面的 QuadPart
作为你需要使用的时间。例如:
LONGLONG Timer;
LARGE_INTEGER
timeUTC;
KeQuerySystemTime(&timeUTC);
Timer =
timeUTC.QuadPart;
如上即可。
来自一位学弟的博客:http://valencyding.wordpress.com
22.200000 113.550000
分享到:
相关推荐
获取当前系统时间的函数可以使用 get_jiffies_64() 函数,该函数返回当前系统的时间。在添加新系统调用时,需要注意用户空间的需求,并且需要更新头文件和系统调用表。 Linux 系统调用是操作系统中最基本的接口之一...
例如,在实时嵌入式系统中,内核通常采用抢占式调度算法,以便能够在规定时间内完成特定的任务。 #### 五、案例分析:基于嵌入式系统的多任务处理 在给定的部分内容中,提到了一个具体的案例——基于嵌入式系统的...
在IT领域,操作系统内核是计算机系统的核心部分,它负责管理硬件资源,提供基础服务给上层应用程序。本文将详细探讨“凝思V6.0.80系统内核升级”这一主题,包括升级的必要性、流程、注意事项以及可能遇到的问题。 ...
2. **查看系统信息**:使用`uname -a`命令可以查看当前系统的内核版本和其他相关信息。 3. **下载和编译内核**: - 下载新的内核源代码,这里使用的是Linux 3.13.6版本。 - 解压下载的内核文件,然后进入解压后的...
### Linux操作系统内核的升级 #### 一、引言 Linux是一种开源的多任务操作系统,以其高度的灵活性、丰富的功能...通过上述步骤,用户可以顺利完成Linux内核的升级,从而获得一个更加高效、稳定且安全的操作系统环境。
Linux内核通过I/O操作访问RTC,获取当前时间并更新内核的时间状态。 2. **系统时钟与时钟中断** - 系统时钟是由硬件时钟触发的软件时钟,一般每秒产生几百到几千次的中断,称为时钟中断。每次时钟中断都会调用内核...
3. **配置内核**:进入解压后的目录,运行 `make oldconfig` 来基于当前系统的配置更新新的内核配置。然后,通过 `make menuconfig` 或 `make xconfig` 打开图形化配置界面,根据需要自定义内核选项。 4. **编译...
- **BIOS时代**: BIOS(基本输入/输出系统)是一种位于ROM中的固件程序,用于在启动过程中初始化、测试系统硬件功能,并加载操作系统引导程序。BIOS通过一系列自检程序来验证硬件的状态,并提供最基本的硬件控制。 -...
1. **持续记录当前的时间和日期**:这种需求主要用于为内核中的某些对象或事件打上时间戳,或者允许用户通过系统调用获取当前时间。 2. **维持一个固定周期的定时器**:这种定时器提醒内核或用户一段时间已经过去,...
在IT领域,获取系统开机时间是一项常见的任务,尤其在系统监控、日志分析以及性能测试等场景中。这里,我们关注的是系统从启动到用户成功输入密码并登录这段时间,不包括用户登录后的停留时间。这样的需求可能出于...
本课程设计项目旨在让学生深入了解系统调用的工作原理,并实际动手实现一个简单的系统调用——返回当前系统时间。这不仅有助于学生掌握系统调用的基本概念和技术细节,还能提高学生对操作系统底层机制的理解能力。 ...
在系统重启后,执行模块代码,读取 pfcount 值,获取缺页次数。 四、知识点总结 * 虚拟内存技术的基本原理 * Linux 虚拟内存管理技术 * 按需调页过程 * 内核模块的概念和操作方法 * 向/proc 文件系统中增加文件的...
总结起来,"my_syscall"项目展示了如何利用内核模块技术在Linux系统中添加自定义系统调用,以便获取系统时间。这个过程涉及内核编程、系统调用表操作、用户空间与内核空间交互等多个核心概念,对于理解和学习Linux...
在Linux系统中,栈可以分为进程栈、线程栈、内核栈以及中断栈。 首先,我们需要了解栈(Stack)的基本概念。栈是一种后进先出(LIFO, Last In First Out)的数据结构,它允许数据被存储和检索,但只允许在一段称为...
在Android系统中,修改系统时间通常涉及到安全性和应用程序的正确运行。系统时间是操作系统的核心组件之一,用于跟踪日期和时间,对于同步、日志记录和其他关键功能至关重要。下面将详细介绍两种在Android中修改系统...
Linux系统内核抢占补丁是Linux内核中用于提高系统响应性和实时性的关键特性,尤其在多处理器(SMP)环境中。在不支持抢占的内核中,一旦一个进程进入内核模式,就无法被其他高优先级进程打断,这可能导致用户感知到...
这便会发生所有内核任务都在相互等待,但它们永远不会释放已经占有的资源,于是任何内核任务都无法获得所需要的资源,无法继续运行这便意味着死锁发生了。 五、总结 Linux 内核同步机制是指内核中用于避免并发和...
在计算机科学中,尤其是对于Linux系统,"刷内核"是指升级或更换操作系统的内核版本,以获取新功能、优化性能或者支持特定硬件。"一键刷内核"通常指的是简化了这个过程的工具或方法,使得用户无需深入理解内核编译...
本文主要围绕内核中的时间概念、HZ值、全局变量jiffies以及如何获取当前时间这几个方面进行阐述。 首先,内核中的时间概念包括绝对时间和相对时间,以及周期性事件和推迟执行的事件。绝对时间是指特定时刻,如日期...
- **备份当前内核**:在升级之前,一定要备份当前正在运行的内核版本。 - **获取新内核源码**:从官方渠道获取最新的内核源码。 - **重新配置和编译**:根据新的硬件特性重新配置内核,并进行编译。 - **安装...