Linux内核分析实验4——系统调用

    xiaoxiao2021-03-25  57

    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

    最新回复(0)