应用程序是咋得到数据库和内存里面的数据,求一个过程图。
你这问题细说起来好复杂啊,所以我就不细说了访问内存有专门的CPU指令,可以将指定内存地址的数据读取到CPU寄存器。实际CPU的工作还有虚拟内存映射、一级缓存二级缓存、流水线控制等等就不细说了,对用户来说,单条CPU指令就可以直接读取内存地址中的数据。数据库就更复杂了,高了好几个层次,应用程序通过称为socket(套接字)的操作系统接口创建网络连接,连接到数据库服务器;应用程序通过创建的连接,发送特定格式的数据(这种数据格式叫做协议),服务器解析应用程序发送的数据翻译成相应的操作,执行之后,将执行的结果通过特定的格式返回给应用程序;应用程序通过socket接口读取服务器传回的结果。从硬件上来说,socket接口中的数据通过send方法从内存经过复制进入内核内存空间,由内核的网卡驱动(协议栈)进行处理,转化为发送到物理网卡的指令和数据,通过直接读写设备总线或者DMA传输的方式将数据和指令发送到物理网卡,由物理网卡将数据转化为电信号发送到网线上,再经过若干个中间的交换和路由设备,报文最终转化为电信号被接收端的网卡收到,网卡通过中断通知CPU,CPU启动DMA过程将数据从设备读取到内核内存空间,由内核的网卡驱动(协议栈)进行处理,然后通知用户态的程序从recv的阻塞状态恢复,或者使select/epoll返回。用户态程序通过recv接口将内核内存空间中的数据读取到用户空间进行详细的协议分析与处理。
■网友
■网友
写邀。内存寻址,数据指针。现在都不用程序员考虑这些技术细节了。
■网友
第一幅图就是了 【应用程序是咋得到数据库和内存里面的数据,求一个过程图。】
推荐阅读
- 假如把中国电信监测到的3亿人一个月每天上网的所有行为打个包,哪些数据应该被提出从这些数据能得到啥
- 考研数据库方向
- 哪个数据库,可以直接做数据透视图(navicat类的也可以)
- 动态规划能得到一类问题的最优解,比如背包问题用动态规划来解决,怎样证明这个解就是相对应问题的最优解呢
- 现在想进入智能家居行业,看了很多家,想做代理,希望得到有用的建议和意见,有行业内的内加微信聊聊吗
- 如果 WP 手机可以运行 exe 应用程序,那将会是怎么样的效果可行吗
- 坦克|17.58万的预售价,坦克300能否得到消费者认可
- 胃酸|胃里老反酸?不妨试试这4个方法,很多人都得到了改善
- 行政复议|南京十项措施推动行政诉讼、行政复议得到快速有效解决
- 趣头条|复古外观配智慧座舱,欧拉好猫是否得到你的青睐?