6 、系统信息与系统资源情况
6.1 系统信息
unmae 可以获取当前操作系统内核的名称信息,其函数原型如下
buf: 指向一个结构体指针
struct utsname的结构体如下:
6.1.2 sysinfo函数
该函数用来获取一些系统统计信息
其函数原型
也是指向一个结构体类型指针
6.1.3 gethostname函数
用来单独获取Linux 系统主机名
6.1.4 sysconf函数
可以运行时候获取的一些配置信息。
其函数原型
可以通过man手册查看
6.2 时间
实时时钟RTC
操作系统由两个时钟,一个是系统时钟,一个是实时时钟。 系统时钟由内核来维护,关机之后将不存在。而RTC是实时时钟,保证在关机的情况下,能够继续即时。
linux系统在开机启动之后会读取RTC硬件获取实时时钟作为系统时钟的初值,之后便是开始维护自己的系统时钟。
jiffies引入
内核实际是通过jiffies来维护系统时钟,
6.3 休眠
常用的系统调用和C库函数休眠有 sleep()、usleep()、nanosleep()
6.3.1 秒级休眠
sleep
参数则是休眠的时长,正常返回0,若被信号中断则返回剩余的秒数。
6.3.2 微秒级休眠 usleep
其函数原型
休眠时长用微妙做单位。
成功返回0,失败返回-1 并设置errno
6.3.3 高精度nanosleep
该函数具有更高的精度来设置休眠时间,支持纳秒级时长设置。 并且其是一个系统调用
其函数原型如下:
req 参数指向struct timespec变量
rem 也指向struct timespec变量,可以设置NULL