long kernel_mktime(struct tm * tm){
long res; int year;
year = tm->tm_year - 70;/* magic offsets (y+1) needed to get leapyears right.*/
res = YEAR*year + DAY*((year+1)/4);
res += month[tm->tm_mon];/* and (y+2) here. If it wasn't a leap-year, we have to adjust */
if (tm->tm_mon>1 && ((year+2)%4))
res -= DAY; res += DAY*(tm->tm_mday-1);
res += HOUR*tm->tm_hour;
res += MINUTE*tm->tm_min;
res += tm->tm_sec;
return res;
}
分享到:
相关推荐
### Linux 0.11 Bochs 调试详解 #### 一、概述 Linux 0.11 是一个早期的Linux内核版本,对于学习Linux内核开发来说具有非常重要的意义。它不仅有助于理解现代Linux内核的基本原理,而且还是进行内核调试的良好起点...
在0.11版本中,Linux采用了简单的页表机制进行内存管理和地址转换。 4. **设备驱动**:`drivers/`目录下包含各种硬件设备的驱动程序,如磁盘驱动、串口驱动等。这些驱动程序让操作系统能够与硬件交互。 5. **文件...
1. **Makefile**: 在任何Linux项目中,`Makefile`都是核心文件,它定义了构建过程的规则,包括编译、链接以及如何将源文件转换成可执行文件。在Linux 0.11中,`Makefile`指导编译系统如何构建内核,包括编译各个子...
2. 内存管理:Linux 0.11内核采用了分页内存管理机制,将物理内存划分为固定大小的页,通过页表进行地址转换。它也实现了内存分配和释放的机制,如`kmalloc`和`kfree`函数。 3. 中断处理:中断是硬件与内核通信的...
### Linux 0.11 内核源码分析 #### 概述 《[Linux的内核及其内核源码分析] Linux 0.11》是一本介绍Linux早期版本内核实现细节的经典著作,适合Linux内核学习的初学者。本书通过详细剖析Linux 0.11 版本的内核源码...
Linux 0.11 是一个早期版本的开源操作系统内核,由林纳斯·托瓦兹(Linus Torvalds)于1991年发布。这个版本的源代码对于理解操作系统的基本工作原理以及Linux内核的架构至关重要。下面将详细探讨这个源代码中的关键...
3. **内存分配与释放**:`kmalloc()`和`kfree()`是Linux 0.11中用于动态内存分配和释放的函数。`kmalloc()`根据请求的大小从空闲页框中分配连续的内存块,并返回其虚拟地址;`kfree()`则负责将不再使用的内存区域...
在Linux 0.11的系统中,信号、进程、内存管理和文件系统是操作系统的核心组成部分,深入理解这些概念对于掌握Linux内核的设计思路至关重要。 首先,信号在Linux系统中被用于进程间通信(IPC),允许一个进程通知另...
Linux内核0.11是Linux操作系统历史上的一个重要里程碑,它是Linus Torvalds在1991年发布的第二个公开版本。这个版本标志着Linux作为开源操作系统的发展起点,为后续的版本奠定了基础。在这个源码中,我们可以深入...
其中最主要定义了tm 结构和一些有关时间的函数原形。 /* * we need this inline - forking from kernel space will result * in NO COPY ON WRITE (!!!), until an execve is executed. This * is no problem, ...
### Linux 0.11 编译指南 #### 一、环境配置与工具准备 根据提供的部分内容,要编译 Linux 0.11,首先需要准备一个适当的开发环境。这通常意味着在 Windows 平台上安装 MinGW 工具集。 1. **创建工作目录**:在 D...
Linux 0.11是Linux操作系统历史上的一个重要里程碑,它标志着Linux从一个个人项目逐渐发展成为一个全球开发者共同参与的开源操作系统。在这个版本中,Linux的内核已经具备了基本的操作系统功能,包括进程管理、内存...
2. **内存管理**:Linux 0.11的内存管理采用的是分页技术,将物理内存划分为固定大小的页,并通过页表进行地址转换。内核负责分配和回收内存,防止内存碎片,并提供物理地址到逻辑地址的映射。 3. **文件系统**:...
Linux-0.11code-master.zip 是一个包含Linux操作系统0.11版本源代码的压缩文件,对于想要深入了解操作系统工作原理、学习Linux内核或进行系统级编程的开发者来说,这是一个宝贵的资源。Linux 0.11是林纳斯·托瓦兹在...
通过配合“Linux内核完全注释(内核版本0.11)”进行学习,可以更清晰地了解每个函数和结构体的作用,加深对Linux内核设计和实现的理解。这不仅有助于提升技术能力,也是对开源精神的一种实践和尊重。
Linux 0.11 是 Linux 内核发展过程中的一个重要版本,它标志着 Linux 开源操作系统在1990年代初期的初步成熟。这个版本的源代码对于理解 Linux 内核的工作原理及其发展历史具有极高的价值,特别是对于学习操作系统...
总的来说,"json-c-0.11"是C程序员处理JSON数据的强大工具,它简化了JSON与C语言之间的数据转换,并提供了丰富的API来进行操作。无论是在开发Web服务、客户端应用还是嵌入式系统中,JSON-C都是一个值得信赖的选择。...
文档中介绍了多个关键函数,如TRAPS.C中的中断处理函数、SYSTEM_CALL.S中的系统调用入口点,以及如何在用户态和内核态之间进行安全转换。 #### 6. 内存管理 Linux内核的内存管理机制是其高性能的重要保障。文档中...