欢迎光临散文网 会员登陆 & 注册

马哥云原生/微服务治理大厂冲刺班/名师亲授

2023-04-01 10:39 作者:al_sa  | 我要投稿

用户态和内核态之间的切换是通过系统调用、中断、异常等方式实现的。当应用程序需要访问操作系统提供的服务时,它会触发系统调用,从用户态切换到内核态,操作系统会执行相应的操作并返回结果给应用程序,之后再从内核态切换回用户态。因为用户态和内核态之间的切换需要进行状态的保存和恢复,所以切换的开销比较大,应尽量避免过多的切换操作。

常见的阻塞进程的系统调用函数

  • read():读取文件或者其他的输入设备时,如果没有可用的数据,会将进程挂起等待数据到来,直到数据到来或者出现错误才会返回。

  • write():写入数据到输出设备时,如果设备缓冲区已满,就会将进程挂起等待设备空闲,直到写入的数据全部被写入或者出现错误才会返回。


马哥云原生/微服务治理大厂冲刺班/名师亲授的评论 (共 条)

分享到微博请遵守国家法律