发明名称 |
用于跨越保护域边界的对象调用的方法、系统和设备 |
摘要 |
用于在受保护存储器系统中调用远程进程调用并促进进程间通信的方法、设备、系统和计算机程序产品采用通过系统调用支持对对象的远程调用的内核。所述系统调用可包含对象识别符以及指向输入和输出缓冲器的一组指针。所述内核将所指定的对象定位在单独的服务器进程域中并唤醒所述服务器域内的服务器线程以调用所述对象。使用所提供的存储器指针,所述内核可在单一步骤中跨越保护域复制输入和输出数据,而无需将数据复制到中间缓冲器中。这消除了常规受保护存储器系统中所需的多个数据复制步骤的额外开销。 |
申请公布号 |
CN101535958B |
申请公布日期 |
2013.12.04 |
申请号 |
CN200780040818.4 |
申请日期 |
2007.11.29 |
申请人 |
高通股份有限公司 |
发明人 |
布莱恩·H·凯利;克里斯托弗·S·厄克特;拉梅什·钱德拉塞卡尔;罗伯特·G·沃克 |
分类号 |
G06F9/54(2006.01)I |
主分类号 |
G06F9/54(2006.01)I |
代理机构 |
北京律盟知识产权代理有限责任公司 11287 |
代理人 |
刘国伟 |
主权项 |
一种用于在具有内核的存储器保护结构中实现数据的进程间传送的方法,其包括:在内核保护域级进程中,执行具有第一存储器地址空间的用户保护域级客户端进程所发起的系统调用,其它用户保护域级进程不能存取所述第一存储器地址空间,所述系统调用包括指向所述第一存储器地址空间中的含有输入数据的客户端输入缓冲器的存储器位置的第一指针和指向所述第一存储器地址空间中的输出数据将被复制到其中的客户端输出缓冲器的存储器位置的第二指针,所述系统调用请求调用所述用户保护域级客户端进程不能存取的地址空间中的对象;确定所述对象驻存在所述内核保护域级中,还是所述用户保护域级中;在所述内核保护域级进程中,识别用户保护域级服务器进程,该用户保护域级服务器进程包含与要调用的所述对象的相关联的识别符和一组指针,所识别的用户保护域级服务器进程具有其它用户保护域级进程不能存取的第二存储器地址空间;将第一指针传递到所述第二存储器地址空间中的服务器输入缓冲器中;在所述内核保护域级进程中,执行唤醒调用,以唤醒所述用户保护域级服务器进程中的服务器线程,该服务器线程调用所述对象并在所述第二存储器地址空间中的服务器输出缓冲器中输出所述调用的结果,作为输出数据;以及将指向所述服务器输出缓冲器的存储器位置的第三指针传递到所述第二指针所指向的所述客户端输出缓冲器的所述存储器位置中,所述服务器输出缓冲器包含直接来自于所述服务器输出缓冲器的所述输出数据。 |
地址 |
美国加利福尼亚州 |