09 2021 档案

摘要:关键在 read(fd,buffer,size),buffer的大小 如果读缓冲区数据足够多的话,read可能会全部填满,也有可能读取一部分 所以,最好是知道要收数据的结构,根据结构的大小去定义buffer的size收数据 阅读全文
posted @ 2021-09-28 18:27 caopf 阅读(91) 评论(2) 推荐(0) 编辑
摘要:1. 应用层 网络使用多路复用 2. 工作线程 根据cpu密集型还是io密集型,创建合适线程 thraed local ,绑定cpu 3. 网卡手法数据 使用dma方式,应该比irq 硬件中断方式好,虽然都是不停的触发,但是irq触发的话,cpu不能处理其他的事情 4. 在系统协议栈层 通过rfs, 阅读全文
posted @ 2021-09-11 12:50 caopf 阅读(42) 评论(1) 推荐(0) 编辑
摘要:内核如何从网卡接收数据,传统的过程:1.数据到达网卡;2.网卡产生一个中断给内核;3.内核使用I/O指令,从网卡I/O区域中去读取数据; 我们在许多网卡驱动中(很老那些),都可以在网卡的中断函数中见到这一过程。 但是,这一种方法,有一种重要的问题,就是大流量的数据来到,网卡会产生大量的中断,内核在中 阅读全文
posted @ 2021-09-11 12:40 caopf 阅读(159) 评论(2) 推荐(0) 编辑