操作系统通过系统调用为运行于其上的进程提供服务。
当用户态进程发起一个系统调用, CPU 将切换到 内核态 并开始执行一个 内核函数 。 内核函数负责响应应用程序的要求,例如操作文件、进行网络通讯或者申请内存资源等。
举一个最简单的例子,应用进程需要输出一行文字,需要调用 write 这个系统调用:
hello_world.c
#include#include int main(int argc, char *argv[]){ char *msg = "Hello, world!/n"; write(1, msg, strlen(msg)); return 0;}
评论列表()