CN101616194B - 主机网络性能优化系统及方法 - Google Patents
主机网络性能优化系统及方法 Download PDFInfo
- Publication number
- CN101616194B CN101616194B CN2009101599279A CN200910159927A CN101616194B CN 101616194 B CN101616194 B CN 101616194B CN 2009101599279 A CN2009101599279 A CN 2009101599279A CN 200910159927 A CN200910159927 A CN 200910159927A CN 101616194 B CN101616194 B CN 101616194B
- Authority
- CN
- China
- Prior art keywords
- data
- sent
- buffer zone
- shared drive
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
一种主机网络性能优化方法,包括以下步骤:将内核空间的预定内存划分为用户空间与内核空间的共享内存缓冲区;根据应用程序的指令将磁盘中待发送数据读入所述共享内存缓冲区中,并写入所述待发送数据的对应发送信息;以及网卡驱动程序主动查询所述共享内存缓冲区,以搜索待发送数据并结合所述发送信息进行发送。本发明能够以相对简单的方式提高网络的性能。
Description
技术领域
本发明涉及互联网领域,尤其涉及一种主机网络性能的优化方法。
背景技术
网络性能是主机性能的一个极其重要的组成部分,网络性能主要包括两个方面:中央处理单元(CPU)占用率和吞吐率。在其它因素没变的情况下,降低CPU占用率是一个值得追求的目标。理想的网络传输性能要求在提高网络吞吐率的同时,降低CPU占用率。
但是,CPU占用率和吞吐率是互相矛盾的,一般地,吞吐率的提高是以牺牲CPU为代价的,客观上要求消耗大量的CPU资源。特别是随着互联网技术的发展,无论是终端系统还是骨干网络,由于大量采取千兆甚至万兆的路由器,加上光纤技术的广泛使用,使得互联网的网络带宽不断提升,CPU处理速率远远落后于网络处理速率,具体表现在:主机在发送数据时候,主机CPU资源大部分都使用在数据发送上,剥夺了其它应用程序的执行机会。
传统数据发送原理如图1所示,在处于进程用户空间的应用程序发出磁盘数据发送的指令时,磁盘数据会经过实线表示的直接存储器存取(DMA)复制(对应步骤102和步骤108)和虚线表示的CPU复制(对应步骤104和步骤106),依次经过进程用户空间和内核空间对应的读缓冲区、应用程序缓冲区、协议栈缓冲区和网卡缓冲区,最后将数据发送出。由于传统方式过程中,数据在内存中存在多个复制,需要CPU参与,因此造成CPU资源浪费。
为了节省主机CPU资源,目前提出了TCP/IP(传输控制协议/网际协议)减负引擎(TOE,TCP/IP offload engine)技术。该技术原理如下:TOE把原来由主机CPU处理的网络流量转化给网卡处理,采用内嵌有处理器的网卡(俗称智能网卡)来处理所有的网络流量,从而节省主机CPU资源。
但是综合来说,TOE方法有以下缺点:1.价格偏高,TOE成品网卡价格都是数千元以上。2.软件硬件实现上极其困难,TOE设计上涉及到许多嵌入式器件的使用。3.TOE系统架构复杂,不容易实现和使用。
发明内容
本发明的目的旨在至少解决现有技术中的上述问题之一。
为此,本发明的实施例提出一种主机网络性能优化方法和系统,以节省主机CPU资源,
根据本发明的一个方面,本发明实施例提出了一种主机网络性能优化方法,所述优化方法包括以下步骤:将内核空间的预定内存划分为用户空间与内核空间的共享内存缓冲区;根据应用程序的指令将磁盘中待发送数据读入所述共享内存缓冲区中,并写入所述待发送数据的对应发送信息;以及网卡驱动程序主动查询所述共享内存缓冲区,以搜索待发送数据并结合所述发送信息进行发送。
根据本发明进一步的实施例,所述待发送数据的读入步骤利用mmap系统调用。
根据本发明进一步的实施例,所述网卡驱动程序为后缀为ko的模块。
根据本发明进一步的实施例,所述共享内存缓冲区被影射为字符设备文件。
根据本发明的另一方面,本发明的实施例提出一种主机网络性能优化系统,所述优化系统包括:内存划分模块,将内核空间的预定内存划分为用户空间与内核空间的共享内存缓冲区;应用层调用模块,根据应用程序的指令将磁盘中待发送数据读入所述共享内存缓冲区中,并写入所述待发送数据的对应发送信息;网卡驱动模块,主动查询所述共享内存缓冲区,以搜索待发送数据并结合所述发送信息进行数据发送。
根据本发明进一步的实施例,所述应用层调用模块通过mmap系统调用读入所述待发送数据。
根据本发明进一步的实施例,所述网卡驱动模块为后缀为ko的模块。
根据本发明进一步的实施例,所述内存划分模块将所述共享内存缓冲区影射为字符设备文件。
本发明通过在内核空间内开辟可以用户空间和内核空间共享的内存,在利用该共享内存缓冲区执行数据发送时,减少系统的数据复制次数,使得CPU的资源在数据发送时不被占用。从而在不增加硬件的前提下,以相对简单实用的方式在保证网络吞吐率的同时降低CPU的使用率,实现对主机网络性能的优化。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为传统数据发送原理图;
图2为本发明主机网络性能优化系统结构示意图;
图3为本发明实施例的数据发送原理图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
参考图2,如图所示,本发明的应用层调用模块12通过应用程序接口(API)14,根据用户空间的应用程序的上层指令来进行调用,从而将磁盘中待发送数据读入用户空间和内核空间的一个共享内存缓冲区16中,并在该共享内存缓冲区16中写入待发送数据的对应发送信息。
具体来说,共享内存缓冲区16是在网卡启动的时候,申请并且初始化一块处于内核空间的内存,作为和用户空间共享的内存。在一个实施例中,并把该块内存映射成字符设备文件,其他应用程序可以通过访问该设备文件来访问这块内存。在一个实施例中,应用层程序可以通过mmap函数(该函数为unix/linux下的系统调用)进行内存映射,由mmap函数得到共享内存缓冲区的虚拟地址,通过该地址执行对共享内存缓冲区的读写操作。
网卡驱动模块18可以主动查询共享内存缓冲区16,以搜索待发送数据并结合对应的发送信息进行数据发送。即,使得共享内存缓存区16作为供网卡驱动程序和用户模式的应用程序共同访问的内核空间的数据缓冲区。网卡在工作的时候,每次发送或者接收到数据都会产生一个中断,网卡驱动模块18可以调用中断处理函数,来查询共享内存缓冲区16中是否存在待发送数据。
具体来说,修改网卡驱动程序的工作方式,使得驱动程序主动地查询上述共享内存缓冲区16,如果发现应用程序有数据发送的指令,则马上组织发送数据。传统上,网卡是被动地发送数据,内核主动调用网卡驱动来发送数据,本发明改变数据发送方式,改为网卡驱动程序驱动网卡主动发送数据,由网卡主动搜索共享内存缓冲区16中待发送的数据,并且根据相应地要求,打包发送数据。
下面结合图3的数据发送示意图,对本发明的工作原理进行详细说明。
如上文所述,对共享内存缓冲区的划分,可以在网卡驱动程序初始化的时候,主动申请一块内存,作为供网卡驱动程序和用户模式的应用程序共同访问的内核空间的数据缓冲区。具体的,驱动程序启动时候执行的第一个函数是static int_init driver_init_module(void),申请内存的代码可以在该函数插入,内存申请函数是vmalloc。
在一个实施例中,可以将已开辟内存映射为字符设备文件,从而用户模式的应用程序也可以访问该段内存。
对于上述获取的用vmalloc函数分配的内存,利用vmalloc_area指向该内存,并把vmalloc_area指向的内存映射为一个字符设备文件,应用程序访问该文件就是访问vmalloc_area所指向的内存,即共享内存缓冲区16。图3中虚线框表示的共享内存缓冲区16表示用户空间可以对内核空间的实际内存16进行访问,两者之间对该内存共享。
在一个实施例中,网卡驱动程序为后缀为ko的模块。网卡驱动程序以后缀为ko的模块形式存在于内核里面,这种后缀为ko的模块可以动态加载到内核里面。即:系统启动的时候模块可以不加载到内存,等需要的时候才手动地加载进去,成为内核的一部分。因为网卡驱动程序是用C语言写的,并可以动态加载,所以可以根据网卡的源代码修改,然后生成ko模块,重新加载到内核。
当然,本发明不局限于该具体实施例,网卡驱动程序可以是其他格式的模块,和/或可以固定加载到内核中。
对于ko后缀的可动态加载的网卡驱动程序,为了使得应用程序可以和驱动程序模块通信,应用层调用接口(API)首先需要动态载入网卡驱动程序模块insmod mmap.ko,mmap.ko是网卡驱动程序编译出来的模块文件,载入模块后,才可以发挥该模块的功能。
为了使得应用程序和驱动程序模块有一个通信空间,必须建立一个节点文件,即字符设备文件。由于网卡驱动程序模块采用的是动态分配字符设备文件的主设备号,因此首先要查询网卡驱动程序模块所使用的主设备号,使用下面的命令:
ls-al/proc/devices|grep mmap
mmap是网卡驱动程序使用的名字,用来表示主设备号名称,这里假设主设备号为220。
可以使用下面的命令来创建节点:
mknod node c 220 0
node是所创建的字符设备文件名,c是char的缩写,表示创建的是字符设备文件。220和0分别是主设备号和次设备号,驱动程序通过它们找到在驱动程序模块中的实现函数。
这时,应用程序可以通过API接口执行下列步骤和模块通信:
首先打开刚刚创建的字符设备文件,然后使用mmap函数映射文件,获取处于内核空间的共享内存缓冲区16的虚拟地址;读入待发送的文件到该虚拟地址上(对应步骤202);然后,建立通信协议,指示内核空间的网卡驱动程序发送数据。
关于建立与网卡驱动程序的通信协议,具体来说应用程序需要通过某个信号变量指示网卡驱动程序模块有数据需要发送,并且将发送地源IP,源端口,目标IP、目标端口和发送数据的开始地址以及长度等有关发送数据的发送信息写到某个信号变量里面。
在本实施例中,使用struct user_kernel_signal来表示该信号变量的类型,它是驱动程序模块和应用程序通信的桥梁,它们之间的关系是读-写关系,所以没有必要加锁控制。
struct user_kernel_signal定义如下:
struct user_kernel_signal{
bool yesorno; //是否有数据发送,=1表示有数据要发送,=0表示没有
bool ok; //数据是否发送完成,由驱动模块填写。
int socket; //与发送相关的套接字
int source_IP; //附加信息,源IP
int sourc_port; //附加信息,源端口
int dest_IP; //附加信息,目标IP
int dest_port; //附加信息,目标端口
char*start_address; //待发送数据起始地址
int length; //待发送数据长度
struct user_kernel_signal*next;//是否有下一个信息单元
};
当应用程序需要发送数据,它只需构造该数据结构,把每项信息填写到下面结构里面:
struct user_kernel_signal*uk_signal=(struct user_kernel_signal*)vadr;
然后初始化指针的每个域,并将该数据结构写入到共享内存缓冲区特定位置中。
网卡驱动程序模块主动搜索共享内存缓冲区,从而从中获得应用程序写入的有关信息,首先检查yesorno,如果该值为1,并且ok置0,表示有数据发送,则网卡驱动程序模块根据与发送相关的套接字(socket)、待发送数据起始地址(start address)、待发送数据长度(length)各项附加信息来构造数据头,并且把数据头和帧负载分别拷贝到网卡缓冲区20中(对应步骤204),网卡缓冲区20自动发送数据。数据发送完成后,网卡驱动程序模块把信号变量的ok域置1,同时yesorno置0,表示发送完成,用来通知应用程序数据发送完成,可以再次使用该信号变量。在数据发送后,应用程序同时负责将磁盘数据进行释放和销毁,避免在磁盘中产生碎片。
网卡驱动程序(模块)主动查询已经开辟的内存,这里的主动查询可以是网卡驱动程序根据网卡完成数据发送的中断触发进行主动查询。
实际操作中,网卡每次发送或者接收到一个数据帧,都会产生一个软中断,中断处理入口函数是:
static irqreturn_t xxxxxx_interrupt(int irq,void*dev_instance,structpt_regs*regs)
该函数会首先分辨是什么类型的代码,然后不同的中断,调用不同的处理函数。本发明只需要修改“发送完成中断”的处理过程,即对应下面函数:
static void xxxxxx_tx_interrupt(struct net_device*dev,structxxxxxx_private*tp,void_iomem*ioaddr)
通过上述修改函数,可以增加的处理过程如下:
(1)通过tp指针,网卡驱动程序访问网卡缓冲区20,如果该缓冲区中存在发送空间能容纳新数据,则继续下面的操作步骤(2),否则按照正常过程执行,即执行网卡驱动程序的原有代码处理功能。
(2)通过vmalloc_area变量(该变量是处于模块全局变量函数,因此网卡驱动程序可以访问所有函数),网卡驱动程序检查是否vmalloc_area所指的内存有待发送的数据。若有,则根据应用程序写入共享内存缓冲区16中数据对应发送信息,把数据拷贝到空余的网卡缓冲区20中,以待发送。若无,则按正常过程执行。
本发明的典型应用场景是大文件发送过程,比如FTP(文件传输协议)服务器要在服务器端和客户端中传输一个大文件,或者在局域网上两台主机需要共享大文件。本发明对于大文件的发送效率较高,可以明显降低CPU的使用率,取得预期效果。
本发明通过在内核空间内开辟可以用户空间和内核空间共享的内存,在利用该共享内存缓冲区执行数据发送时,仅具有从磁盘到该共享内存以及从该共享内存到网卡缓冲区的两次DMA复制,而避免了跨用户空间和内核空间的数据复制,即传统CPU复制步骤,因此可以减少系统的数据复制次数,使得CPU的资源在数据发送时不被占用。这样,系统里面只有一份数据,做到了真正的零拷贝。即数据在内存中只存在一份,消除了拷贝,从而节省了CPU资源。
采取网卡驱动程序主动发送数据的方式,各种数据头,例如IP(网际协议)、TCP(传输控制协议)、MAC(介质访问控制)和实际数据分离,可以避免了网络协议栈的操作。
此外,本发明通过mmap系统调用映射文件,可减少文件访问时间,控制数据发送时机和发送方式。并且,通过减少系统调用次数,从而减少上下文环境的切换次数,降低了CPU的使用率。
本发明考虑在不改变主机系统结构的条件下,在不增加硬件的前提下,以一种相对简单实用的方式,有效地提高主机的吞吐率,同时努力降低因此造成的过高的主机CPU占用率,使得有更多的CPU资源可以用于其它调度工作,从而优化主机网络性能。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
Claims (10)
1.一种主机网络性能优化方法,其特征在于,所述优化方法包括以下步骤:
将内核空间的预定内存划分为用户空间与内核空间的共享内存缓冲区;
根据应用程序的指令将磁盘中待发送数据读入所述共享内存缓冲区中,并写入所述待发送数据的对应发送信息;以及
网卡驱动程序主动查询所述共享内存缓冲区,以搜索待发送数据并结合所述发送信息进行发送。
2.如权利要求1所述的优化方法,其特征在于,所述待发送数据的读入步骤利用mmap系统调用。
3.如权利要求1所述的优化方法,其特征在于,所述网卡驱动程序为后缀为ko的模块。
4.如权利要求1所述的优化方法,其特征在于,所述共享内存缓冲区被影射为字符设备文件。
5.如权利要求1所述的优化方法,其特征在于,所述网卡驱动程序根据网卡完成数据发送的中断触发进行主动查询。
6.一种主机网络性能优化系统,其特征在于,所述优化系统包括:
内存划分模块,将内核空间的预定内存划分为用户空间与内核空间的共享内存缓冲区;
应用层调用模块,根据应用程序的指令将磁盘中待发送数据读入所述共享内存缓冲区中,并写入所述待发送数据的对应发送信息;
网卡驱动模块,主动查询所述共享内存缓冲区,以搜索待发送数据并结合所述发送信息进行数据发送。
7.如权利要求6所述的优化系统,其特征在于,所述应用层调用模块通过mmap系统调用读入所述待发送数据。
8.如权利要求6所述的优化系统,其特征在于,所述网卡驱动模块为后缀为ko的模块。
9.如权利要求6所述的优化系统,其特征在于,所述内存划分模块将所述共享内存缓冲区影射为字符设备文件。
10.如权利要求6所述的优化系统,其特征在于,所述网卡驱动模块根据网卡完成数据发送的中断触发进行主动查询。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101599279A CN101616194B (zh) | 2009-07-23 | 2009-07-23 | 主机网络性能优化系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101599279A CN101616194B (zh) | 2009-07-23 | 2009-07-23 | 主机网络性能优化系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101616194A CN101616194A (zh) | 2009-12-30 |
CN101616194B true CN101616194B (zh) | 2012-07-11 |
Family
ID=41495592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101599279A Expired - Fee Related CN101616194B (zh) | 2009-07-23 | 2009-07-23 | 主机网络性能优化系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101616194B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014071A (zh) * | 2010-12-17 | 2011-04-13 | 天津曙光计算机产业有限公司 | 一种实现软硬件中报文分类规则同步删除的方法 |
CN102567068A (zh) * | 2011-12-13 | 2012-07-11 | 曙光信息产业(北京)有限公司 | 一种解决内核mmap调用失败的系统和方法 |
CN102929722A (zh) * | 2012-10-18 | 2013-02-13 | 曙光信息产业(北京)有限公司 | 一种基于大页面万兆网卡的收包及其系统 |
CN105335309B (zh) * | 2014-05-30 | 2018-09-11 | 华为技术有限公司 | 一种数据传输方法及计算机 |
WO2017177400A1 (zh) * | 2016-04-13 | 2017-10-19 | 华为技术有限公司 | 一种数据处理方法及系统 |
CN106775923B (zh) * | 2016-11-16 | 2019-06-28 | 中国人民解放军信息工程大学 | 处理器协助的内核地址空间细粒度管理方法 |
CN106776164B (zh) * | 2016-11-29 | 2019-08-20 | 国网四川省电力公司电力科学研究院 | 一种智能变电站监控后台主机cpu占用测试方法 |
US10430245B2 (en) * | 2017-03-27 | 2019-10-01 | Hong Kong Applied Science And Technology Research Institute Co., Ltd. | Systems and methods for dynamic low latency optimization |
CN110121114B (zh) * | 2018-02-07 | 2021-08-27 | 华为技术有限公司 | 发送流数据的方法及数据发送设备 |
CN109413106A (zh) * | 2018-12-12 | 2019-03-01 | 中国航空工业集团公司西安航空计算技术研究所 | 一种tcp/ip协议栈实现方法 |
CN110086571A (zh) * | 2019-04-10 | 2019-08-02 | 广州华多网络科技有限公司 | 一种数据发送及接收的方法、装置及数据处理系统 |
CN111107019A (zh) * | 2019-12-29 | 2020-05-05 | 浪潮电子信息产业股份有限公司 | 一种数据传输方法、装置、设备及计算机可读存储介质 |
CN113973091A (zh) * | 2020-07-23 | 2022-01-25 | 华为技术有限公司 | 一种报文处理方法、网络设备以及相关设备 |
CN113179327B (zh) * | 2021-05-14 | 2023-06-02 | 中兴通讯股份有限公司 | 基于大容量内存的高并发协议栈卸载方法、设备、介质 |
CN113839889B (zh) * | 2021-09-18 | 2024-04-05 | 深圳震有科技股份有限公司 | 一种报文处理方法、终端及计算机可读存储介质 |
CN114416402A (zh) * | 2022-01-17 | 2022-04-29 | 闻泰通讯股份有限公司 | 信息传输方法、终端设备及存储介质 |
CN117376343B (zh) * | 2023-12-08 | 2024-02-13 | 湖南博匠信息科技有限公司 | 一种提升发送端设备吞吐量的网络文件传输方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150487A (zh) * | 2007-11-15 | 2008-03-26 | 曙光信息产业(北京)有限公司 | 一种零拷贝网络报文发送方法 |
CN101150485A (zh) * | 2007-11-15 | 2008-03-26 | 曙光信息产业(北京)有限公司 | 一种零拷贝缓冲区队列网络数据发送的管理方法 |
CN101178694A (zh) * | 2006-11-07 | 2008-05-14 | 莱克斯信息技术(北京)有限公司 | Intel e1000零拷贝的方法 |
-
2009
- 2009-07-23 CN CN2009101599279A patent/CN101616194B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101178694A (zh) * | 2006-11-07 | 2008-05-14 | 莱克斯信息技术(北京)有限公司 | Intel e1000零拷贝的方法 |
CN101150487A (zh) * | 2007-11-15 | 2008-03-26 | 曙光信息产业(北京)有限公司 | 一种零拷贝网络报文发送方法 |
CN101150485A (zh) * | 2007-11-15 | 2008-03-26 | 曙光信息产业(北京)有限公司 | 一种零拷贝缓冲区队列网络数据发送的管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101616194A (zh) | 2009-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101616194B (zh) | 主机网络性能优化系统及方法 | |
US7992149B2 (en) | Virtual machine connection to a tangible network | |
CN100573459C (zh) | 用于网络、块和文件输入及输出的卸载堆栈 | |
US20160134702A1 (en) | Data sharing using distributed cache in a network of heterogeneous computers | |
US8589917B2 (en) | Techniques for transferring information between virtual machines | |
US20070005867A1 (en) | Virtual peripheral device interface and protocol for use in peripheral device redirection communication | |
US20040015966A1 (en) | Virtual machine operating system LAN | |
CN101150487A (zh) | 一种零拷贝网络报文发送方法 | |
CN103346981A (zh) | 虚拟交换方法、相关装置和计算机系统 | |
JPH10301873A (ja) | 通信システムで比較的大きなデータ・オブジェクトの伝送を制御するシステムと方法 | |
WO1999026377A3 (en) | A high performance interoperable network communications architecture (inca) | |
CN101102305A (zh) | 管理网络信息处理的系统和方法 | |
MY143575A (en) | Lightweight input/output protocol | |
CN103095834A (zh) | 一种跨虚拟化数据中心的虚拟机在线迁移方法 | |
CN102857510B (zh) | 访问控制列表acl表项下发方法和装置 | |
CN101150488A (zh) | 一种零拷贝网络报文接收方法 | |
CN104156255A (zh) | 一种虚拟机迁移方法、虚拟机迁移装置及源物理主机 | |
CN111966446A (zh) | 一种容器环境下rdma虚拟化方法 | |
WO2022143714A1 (zh) | 服务器系统、虚拟机创建方法及装置 | |
CN113472624A (zh) | 一种基于vDPA实现虚拟网络数据包转发的方法及应用 | |
US6345241B1 (en) | Method and apparatus for simulation of data in a virtual environment using a queued direct input-output device | |
CN102065568A (zh) | 基于数据描述符的mac软硬件交互方法及其硬件实现装置 | |
WO2024082944A1 (zh) | 一种多处理器数据交互方法、装置、设备及存储介质 | |
US6401145B1 (en) | Method of transferring data using an interface element and a queued direct input-output device | |
KR100936918B1 (ko) | 정적 파일 전송 시스템콜 처리 toe 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120711 Termination date: 20150723 |
|
EXPY | Termination of patent right or utility model |