原创

redis网络模型-用户空间与内核空间


任何Linux发行版,其系统内核都是Linux。我们的应用都需要通过Linux内核与硬件交互。

微信截图_20230212161241

为了避免用户应用导致冲突甚至内核崩溃,用户应用与内核是分离的:

  • 进程的寻址空间会划分为两部分:内核空间、用户空间

  • 用户空间只能执行受限的命令(Ring3),而且不能直接调用系统资源,必须通过内核提供的接口来访问

  • 内核空间可以执行特权命令 (Ring0),调用一切系统资源

微信截图_20230212162227

以IO读写举个例子

Linux系统为了提高lO效率,会在用户空间和内核空间都加入缓冲区:

  • 写数据时,要把用户缓冲数据拷贝到内核缓冲区,然后写入设备

  • 读数据时,要从设备读取数据到内核缓冲区,然后拷贝到用户缓冲区

如下图

微信截图_20230212163058

redis原理
网络模型
  • 作者:陌攻(联系作者)
  • 发表时间:2023-02-16 09:18
  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
  • 公众号转载:请在文末添加作者公众号二维码
  • 评论