当前位置: 首页 > news >正文

网站建设 cms增塑剂网站建设

网站建设 cms,增塑剂网站建设,企业邮箱在哪里登陆,wordpress 媒体库代码📝个人主页:五敷有你 🔥系列专栏:面经 ⛺️稳中求进,晒太阳 IO的定义 IO是计算机内存与外部设备之间拷贝数据的过程。CPU访问内存的速度远高于外部设备。因此CPU是先把外部设备的数据读取到内存,在…

       📝个人主页:五敷有你      

 🔥系列专栏:面经

⛺️稳中求进,晒太阳

IO的定义

IO是计算机内存与外部设备之间拷贝数据的过程。CPU访问内存的速度远高于外部设备。因此CPU是先把外部设备的数据读取到内存,在进行处理。

大家是否还记得局部性原理:

  • 时间局部性
  • 空间局部性

一次IO会把一块或一块旁边的数据全部加载到内存种

IO的流程

        用户发起调用操作,通过系统调用函数read()来间接的调用系统内核,从网卡读取数据,先将数据读取到内核缓冲区,在由内核缓冲区拷贝到用户态内存缓冲区。

为什么要有内核态与用户态?

因为早期的计算机设计是没有这个设计思想的,有一些指令是非常危险的,如果错用,将导致整个系统崩溃,有些敏感操作为了避免直接由用户操作。

内核态

        处于内核态的CPU可以任意访问数据。包括外围设备,比如网卡,硬盘等。处于内核态的CPU可以从一个程序切换到另一个程序,并且占用CPU不会发生在抢占情况,一般处于特级0的状态我们称之为内核态。

用户态

        处于用户态的CPU只能访问受限制的资源,不能直接访问内存等硬件设施,必须通过系统调用陷入到内核态中,才能访问这些特权资源。

        

        内核缓冲区处理的是内核空间和磁盘之间的数据传递,目的是减少访问磁盘的次数;而用户缓冲区处理的是用户空间和内核空间的数据传递,目的是减少系统调用的次数

IO要解决的问题

         在这个过程中设计的CPU操作,内存操作、外部物理设备的操作。由于三者数据处理速度的差异:用户读取数据时采用 用户线程阻塞等待?非阻塞轮询并读取数据?这个就是IO模型要解决的问题。

四种主要的IO模型

同步阻塞IO

        用户线程发起read调用后阻塞让出CPU,内核态等待网卡数据到来,把网卡拷贝到内核空间,接着把数据拷贝到用户空间。在把用户线程唤醒。

同步非阻塞IO

        将Socket设置为non-blocking,当前连接就变成了非阻塞IO,使用非阻塞模式的IO读写,叫做同步非阻塞IO。

在同步非阻塞IO中会出现以下几种情况:

  • 在内核缓冲区没有数据的情况下,系统调用会立刻返回,返回一个调用失败的信息。这样的请求不会阻塞。
  • 用户线程需要不断发起IO系统调用,测试内核数据是否准备好。
  • 在内核缓冲区有数据的情况下,是阻塞的。直到内核缓冲区的数据全部复制到进程缓冲区,系统调用完成。

同步非堵塞IO模型如下图:

同步非阻塞IO特点:程序需要不断的进行IO系统调用轮询数据是否准备好,如果没有准备好,就继续轮询

IO多路复用模型

        在IO多路复用模型中,引入了一种新的系统调用select/epoll,查询IO的就绪状态。通过该系统调用可以监视多个文件描述符。一旦某个描述符就绪(一般是内核缓冲区可读可写),内核就能将就绪的状态返回给应用程序。随后,应用程序根据就绪状态进行相应IO。

        在IO多路复用模型中通过select/epoll系统调用,单个应用程序的线程,可以不断轮询成百上千的socket连接,当某个或者某些socket网络连接有IO就绪的状态,就返回对应的可以执行的读写操作

O多路复用模型如下图所示:

IO多路复用模型的特点:IO多路复用模型涉及两种系统调用,一种是就绪查询(select/epoll),一种是IO操作。

多路复用IO也需要轮询。负责就绪状态查询系统调用的线程,需要不断的进行select/epoll轮询,查找出达到IO操作就绪的socket连接

异步IO模型(AIO)

基本流程为:

        用户通过系统调用,向内核注册某个IO操作,内核在整个IO操作(包括数据准备,数据复制)完成后,通知用户程序,执行后续的业务操作。(类似回调函数)

       在异步IO模型中,整个内核的数据处理过程中,包括内核将数据从网络物理设备(网卡)读取到内核缓存区、将内核缓冲区的数据复制到用户缓冲区,用户程序都不需要阻塞

异步IO模型如下图所示:

异步IO模型的特点:在内核等待数据复制数据的两个阶段,用户线程都不是阻塞的。当内核的IO操作(等待数据和复制数据)全部完成后,内核会通知应用程序读数据

http://www.yayakq.cn/news/146343/

相关文章:

  • 张家口网站建设张家口mini主机做网站服务器
  • 请问做网站需要什么软件网站必须做电子认证吗
  • 提供网站建设框架品牌包装设计公司
  • 苏州外贸网站建设公司价格h5直播视频接入
  • 网站开发成本预算网站互联网推广
  • 加强农业网站建设哪些网站上可以做租车
  • 网站如何设置长尾词瑞诺国际的数字营销模式
  • 融安有那几个网站做的比较好的推广软文范文
  • 站酷网logo濮阳建网站
  • 微信网站用什么软件做基础网页制作
  • 论坛类网站开发报价wordpress ajax -1
  • 网站优化待遇的网站开发工具有哪些
  • 学校专业群建设专题网站做视频网站公司要怎么做的
  • 免费推广的网站平台新渝网门户网
  • 广州海珠做网站如何制作网址
  • 做网站哪家公司比较好而且不贵网站怎么自己做推广
  • 王磊网站建设金融理财网站建设方案
  • 如何制作网站教程视频讲解建设淘宝网站
  • 贵州网站seo贵阳市有翻译资质的公司
  • 企业网站的形式有哪些网站开发培训机构哪个好
  • 扶沟县建设局网站一台电脑主机做网站
  • 爱站网是怎么回事网络app制作网站有哪些内容
  • 网站建设和推广的话术财务费是指企业为施工生产
  • 南宁网站建设公司如何为老板打造网站赚钱的wordpress 返回顶部代码
  • 优秀个人网站优秀个人网站案例
  • 即墨区城乡建设局网站石景山重庆网站建设
  • 上市公司专利查询网站深圳建筑工程交易服务主页
  • 长沙网站建设哪家好wordpress是用php语言的
  • 福建省住建厅建设网站烟台网站制作软件
  • 工业设计网站排名产品推广方案设计