将晦涩难懂的技术讲的通俗易懂
发布时间:2013-07-11 19:41:53
我们用这个程序和输出结果分析一下waitpid的用法和特点。我们将waitpid设置成WNOHANG非阻塞父进程状态;第一次调用waitpid时:此时尚未有子进程,所以waitpid出错,返回-1;第二次调用waitpid时:此时有子进程,但子进程尚未结束,由于waitpid设置为非阻塞的,所以waitpid返回0;第三次调用waitpid时:此时有子进程,.........【阅读全文】
发布时间:2013-07-03 11:01:01
迭代服务器比较原始,它的原型可以描述成: while(1){new_fd = 服务器accept客户端的连接(new_fd = accept(listenfd, XX, XX))逻辑处理在这个new_fd上给客户端发送消息关闭new_fd}也就是说,这个进程是一个一个处理各个客户端发来的连接的,比如一个客户端发来一个连接,那么只要它还没有完.........【阅读全文】
发布时间:2013-04-23 21:36:00
点击(此处)折叠或打开#include "apue.h"int fun(){ int pid; if((pid=fork())<0) printf("error\n"); else if(pid==0) &n.........【阅读全文】
发布时间:2013-04-16 17:34:34
点击(此处)折叠或打开#include "apue.h"#include <netdb.h>/******************************客户端进程(Client.c)**********************************************/#include <sys/socket.h>#define BUFLEN .........【阅读全文】
发布时间:2013-04-14 09:41:40
在读apue的时候,共享存储区的讲解并没用实例,为此自己写了一个小程序,程序粗创建子进程,由子进程从终端接收字符串存入共享区,父进程从共享区读出字符串并输出。同时,父子进程均输出各自的共享区的地址区间区间。点击(此处)折叠或打开#include "apue.h"#include <sys/shm.........【阅读全文】
zf8292024-11-13 13:41
zf829:您好,请教大神一个问题,设备直通给VM时,中断到底会不会导致VM_EXIT吗,如果会,那VIRTIO直通时还会导致IO性能下降吧?“当透传设备产生中断时,vfio_msihandler ISR执行,该函数不做实际的服务程序处理,仅仅通过eventfd_signal激活irqfd_inject,然后最终调用deliver_posted_interrupt向虚机注入中断,中断号即为虚机配置透传设备时的中断号。” 这段描述在代码上我也仔细看了,逻辑肯定是对的,但另一方面我还是不确定中断到底会不会导致VM_EXIT
这里的中断主要是指数据包收发的中断
回复 | 举报lemon222024-10-09 22:34
你好,有个关于实现方面的问题:当协议栈收到来自app的数据(如ping)时,会发给tun设备,然后又被发送给vpn程序,程序对其进行加密或者一些处理之后,要发送出去,这里是通过什么方式发送出去的呢?我看你关于itun/tap的文章中写的是通过socket发送给协议栈,然后自动给物理网卡后发送出去,实现来说,就是直接用socket与下一跳建立连接,然后代码用socket发送吗?那这样是不是不会再次经过TUN设备了?因为我看好像有的原理写的是再次写入到tun设备,然后tun设备给协议栈,最后再发送。
这里有点不太清楚如何具体的实现发送的
lvyilong3162023-06-06 15:06
zhangtongjian12:你好,请教下,“qemu和vhost-user前后端协商过程”中讲到的初始化多队列时,多队列初始化时,对应的kvm中断机制中irqfd和ioeventfd是和队列数目对应的吗?还是一个虚拟机就一个irqfd和ioeventfd?
和队列对应
回复 | 举报zhangtongjian122023-06-02 10:29
你好,请教下,“qemu和vhost-user前后端协商过程”中讲到的初始化多队列时,多队列初始化时,对应的kvm中断机制中irqfd和ioeventfd是和队列数目对应的吗?还是一个虚拟机就一个irqfd和ioeventfd?