CPU工作状态分为内核态与用户态,他们的执行的指令的权限不同,用户态程序不能访问0xb00000以后的的内存(虚拟内存) 系统内核会提供一些系统调用,它们执行一些底层的,有关硬件的功能,出于安全与兼容的考虑,用户态程序无法访问硬件,需要通过系统调用来实现一些功能,如获取当前事件,在屏幕上显示等。 操作系统提供了一些系统api以供程序调用,一个系统api可能调用多个系统调用,一个系统调用也可能有多个系统api使用。 我们在程序中可以调用系统api实现某些功能,也可以直接使用系统调用 调用api:
#include <time.h>
int main()
{
time_t tt;
struct tm *t;
tt=time();
t=localtime(&tt);
printf(
"time:%d:%d:%d:%d:%d:%d\n",t->tm_year+
1900, t->tm_mon, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec);
return 0;
}
使用系统调用
time_t tt;
struct tm *t;
asm volatile(
"mov $0,%
转载请注明原文地址: https://ju.6miu.com/read-38036.html