![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OS
进击的Coder*
这个作者很懒,什么都没留下…
展开
-
什么是同步、异步?什么是阻塞与非阻塞?
同步与异步:同步与异步讲的是,用户线程与内核的交互方式。在同步的情况下,用户线程将需要由内核完成的操作交付给内核线程后,需要一直等待内核线程完成,才能返回到用户线程;异步情况下,用户线程将任务交付给内核后,即可返回至自己的运行空间。阻塞与非阻塞:阻塞与非阻塞讲的是用户线程与内核IO操作的交互方式。阻塞模式下,当内核执行IO操作时,用户线程将一直处于阻塞状态,无法执行其它代码,无法回到用户空间;非阻塞模式下,当IO操作交付至内核空间后,整个工作流程可以直接返回至用户空间,进行下一步操作。...原创 2021-10-12 14:55:49 · 194 阅读 · 0 评论 -
为什么划分内核态、用户态?
为了保证系统的稳定性、安全性,需要在系统中划分内核态、用户态。所有涉及IO操作、内存操作等,均在内核态中完成,因为当这些操作出现差错时,可能会导致整个计算机系统的崩溃。用户写的程序可能是含有导致这些操作出现差错的bug的,所以,用户编写的不涉及IO、内存等操作的程序在用户态中完成,而涉及这些操作时,则需要进行用户态到内核态的切换。将实际操作交付给内核态,内核态完成操作后,将结果传递至用户态。注意,用户态、内核态之间的切换是十分耗费性能资源的。...原创 2021-09-30 20:33:30 · 2343 阅读 · 0 评论