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

哪个网站看电影做便宜互联网产品推广是做什么的

哪个网站看电影做便宜,互联网产品推广是做什么的,网站开通银行支付接口,苏州做公司网站RPC框架原理 网络和IO的关系,IO(input和output)面向的是谁?OSI 7层参考模型,TCP/IP协议为什么会出现一个会话层三次握手socket心跳keep alive四次挥手 网络IO(IO模型) IO框架底层 学习顺序&…

RPC框架原理

  • 网络和IO的关系,IO(input和output)面向的是谁?
    • OSI 7层参考模型,TCP/IP协议
      • 为什么会出现一个会话层
      • 三次握手
      • socket
      • 心跳keep alive
      • 四次挥手
    • 网络IO(IO模型)
  • IO框架
    • 底层

学习顺序:从网络,到IO模型,到RPC
在这里插入图片描述
目前只涉及网络IO(与磁盘IO无关)

网络和IO的关系,IO(input和output)面向的是谁?

在这里插入图片描述

OSI 7层参考模型,TCP/IP协议

在这里插入图片描述
分层解耦是软件工程学特点,OSI7层模型被实现出来共通使用的是TCP/IP协议
在这里插入图片描述

为什么会出现一个会话层

逃离了底层内核里面连接的约束,不是同一个生命周期内的,会话层是比内核公共层次中更高的一个层次。
例子:用户持久化登陆,在浏览器上连接(登陆)一次某服务端,会话层中记住一个session,浏览器与服务端连接断开,在下一次重新连接的时候直接带上会话层中的session,无需重新认证(不需要重新走会话层重新构建)。
(ps:如果想让用户认证一次后永远不需要重新登陆,强调持久性,可以将session存到一个可靠性更高的地方,如redis)
在这里插入图片描述

三次握手

在这里插入图片描述
内核开辟一段空间(资源,即socket和queue)
因此
网路IO的读写是单机行为,是面向socket的queue(队列,即socket缓冲区)去读写

socket

套接字,插座
由客户端和服务端组成(客户端和服务端套在一起),形成的结果是四元组(全局唯一的)。(要是不唯一,数据包可能出现串扰)
四元组包括:客户端ip、port,服务端ip、port
在这里插入图片描述

心跳keep alive

在socket连接后,如何尽早感知对方下线(比如,挂掉),而不是在需要传数据时才发现。

内核开启心跳检查——属于健康检查级别
但是在内核中开辟的心跳,他的维度、层次(只检查tcp对应的socket是否连接);
想做服务的健康检查时,没有办法使用内核中的心跳检查。
kernel只能保证socket连接没问题,无法知道其上面的某一个服务(一个socket上面可能有多个服务)是否有问题。所以需要在applicate应用层也需要做心跳

心跳分为:

  • 内核TCP级的心跳
  • 应用层的心跳

在这里插入图片描述

长连接:生命周期较长,在三次握手和四次挥手之间,进行了多次数据传输,各种请求(复用了该连接)
短连接:生命周期短,只为了完成一个请求响应
无论长短连接,都可以开启keepalive

四次挥手

网络IO(IO模型)

网络IO是程序app和内核kernel之间的过程
程序在网络IO中无论是read还是write,其实都是要对内核中的队列Queue进行操作
在这里插入图片描述
IO模型:
BIO模型:当app读取(read)时,如果queue是空的,那么就没有返回值,这时候会进入一种阻塞状态blocking;如果有很多个连接,所以每一个连接对应一个线程,每个线程去阻塞自己对应线程去读取,直到有返文,对应线程才会动。需要的资源较多
NIO模型:无论有没有数据,read就一定会返回(所以可以使用一个线程处理多个连接) ,有弊端,如果一直没有收到消息,该线程一直在空跑(使用多路复用器解决)

在这里插入图片描述

多路复用器:多个连接就是多条路
多个连接作为参数传递给一个函数,这个函数会返回其中谁有数据的状态/事件
内核级的,减少read调用次数。
然后再去read,相比NIO的read精准有效不浪费。

同步/异步IO模型:
程序自己去read,都叫做同步IO模型;
异步IO模型

IO框架

在这里插入图片描述

IO模型是在内核kernel中实现的
内核可以完成对网卡向上一直到tcp,网络协议栈;可以向上支撑成千上万的程序

在这里插入图片描述
虚拟化:app->kernel(进程级)->kernel->CPU
容器化:app->kernel(协议栈放在kernel中)->CPU

底层

例如一个问题:有client端和server端,请问他们所选用的IO模型
client端可以使用BIO,server端使用NIO
因为一个client对应一个server,一个server可能与多个client连接

基本的计算机构成:一块CPU、内存、网卡、硬盘、键盘
在这里插入图片描述
程序是如何运行在计算机当中的
当按下电源,计算机中做的第一件事情(主板检测……先略过),从磁盘的引导分区里面拿到引导程序,再加载文件系统,识别文件系统后读取,内核是第一个进入内存的。
在这里插入图片描述

内核第一个加载进内存,然后是各种application程序

内核作用:可以向下管理所有硬件(统一管理);程序需要通过访问内核访问硬件
在这里插入图片描述

程序通过访问内核(内核中的函数)叫做——系统调用system call

但同时要考虑安全问题,使用空间划分进行安全隔离
在这里插入图片描述
在这里插入图片描述

CPU上的程序是如何切换的,才能理解从app切换到内核是如何实现的,才能理解如何完成系统调用

晶振给CPU一个信号,产生一个中断(时钟中断),内核中进程调度程序(函数),计算机中有很多表IDT(interrupt describe table)(中断描述表,0-255个信号,第二列是一个地址),CPU根据晶振信号找IDT表中地址,找到进程调度地址。
内核中有两个队列:running queue(可运行的进程)、blocking queue(阻塞的队列,等待事件,无法拿到CPU直接运行)
在这里插入图片描述

进程调度针对running queue中的进程,进程调度就是从running queue队列中选一个进程放入CPU执行

还有一个表GDT(描述内核空间在哪里)

http://www.mmbaike.com/news/101445.html

相关文章:

  • 微商分销系统怎么做自动优化句子的软件
  • 模板网站建设青岛百度竞价推广开户多少钱
  • 网站域名被注销合肥网
  • 做网站开发想转行做医药销售广告加盟
  • 我的网站怎么做一键生成网站
  • 淘宝作图在哪个网站上做图济南seo优化公司
  • 宝塔面板wordpress青岛百度网站排名优化
  • 宁夏建设工程质量监督站网站发新闻稿平台
  • 景安网站备案的服务码免费关键词优化排名软件
  • 施工企业信用评价等级简单网站建设优化推广
  • 牛天下网站做的怎么样营销策划品牌策划
  • 襄阳住房和城乡建设网站抖音seo搜索引擎优化
  • 手机建立网站多少钱江苏seo团队
  • 教人做辐射4mod的网站推广衣服的软文
  • 政府网站架构工具北京网站推广营销服务电话
  • 石家庄做网站网络公司百度一下你就知道移动首页
  • 建设 展示型企业网站关键词挖掘长尾词工具
  • 专用车网站建设哪家好想要网站导航推广
  • 自用电脑做网站企业培训师
  • 做网站开发需要培训吗app推广有哪些渠道
  • 织梦想把网站上传到现有网站的文件夹中测试现有网站能正常使用肇庆seo优化
  • 伊春网站优化软文街
  • 电商网站开发环境怎么写巨量引擎
  • 长宁区网站建设设计找相似图片 识别
  • 做网站销售是干什么的搜索引擎有哪些网站
  • 做美食网站的图片文娱热搜榜
  • 推广运营是什么工作标题优化怎样选关键词
  • 安阳市商祺网络有限责任公司seo技术培训茂名
  • 电商网站开发发展和前景windows优化大师在哪里
  • 有没有做ppt好看的免费网站友情链接有用吗