经常游荡在内核源码中,反而对一些基础的东西,确实总结,总结以下经常遇到的问题,linux 用户如何从用户态切换到内核态几个方法:
系统调用syscall
系统调用是最为常见,也是用于经常使用能够直接感受到的方法。用户态进程通过系统调用申请使用操作系统提供的服务完成工资。例如经常见到的open, fork等函数都需要切换到内核进程,由内核进程完成之后再返回到用户层上去。
用户可以通过系统调用内核中的调度,内存等资源,主要工作步骤:
- Step 1) The processes executed in the user mode till the time a system call interrupts it.
- Step 2) After that, the system call is executed in the kernel-mode on a priority basis.
- Step 3) Once system call execution is over, control returns to the user mode.,
- Step 4