一;linux系统中的时间
1、段时间和点时间
定时器timer定的时间就是短时间、实时时钟RTC就是和点时间有关的一个器件
2、jiffies的引入
jiffies数值的本质是定义当前时间到1970-01-01 00:00:00 +0000(UTC)标准时间段转换为jiffies单位的数值。
jiffies是一个linux内核的全局变量,这个变量用来记录以内核的节拍时间为单位时间长度的一个数值,这个时间节拍其实也是系统调度的时间片。
3、linux系统如何记录时间
内核在开机启动的时候会读取RTC硬件获取一个时间作为初始化基准时间,
在运行时根据这个基准时间转换为jiffies进行累加时间。
从而在需要获取时间的时候将jiffies进行转换即可
4、linux中时间相关的系统调用
二、linux中使用随机数
RAND_MAX 表示linux内核中产生的随机数最大值
srand(time(NULL));为rand配置随机的种子用时间配置,但1s内种子还是一样的
val = rand();
三、用于调试的虚拟文件系统
1、proc系统
proc系统的作用就是用于调试内核的
设计思路;在内核中构建一个虚拟文件系统/proc,内核运行时将内核中一些关键的数据结构以文件方式呈现在/proc目录中的一些特定文件中,从而达到相当于将不可见的内核中的数据结构以可视化的方式呈现给内核的开发者。
但是注意 proc目录下的文件大小都是0,因为其实这不是存在硬盘的文件而相当于接口,可以实时去获取内核中的数据结构,而不是从硬盘中获取。
可以使用cat手工查看,或在程序中IO文件访问获取
2、sys文件系统
其本质与proc文件系统一样,都是虚拟文件系统,但是sys相对于proc,他可以写入内核的数据结构,而proc只能获取不能设置。