发明名称 Sharing a block of memory between processes on a portable electronic device
摘要 Process 305 creates and names a block of shared memory 314 in memory 300. This block is mapped onto process 305's virtual address space 330 at a random address 370. The MMU stores a mapping adjustment 325. Process 305 creates a pointer and stores it in shared memory 315 which includes virtual address 370. Process 310 wishing to access a specific data address in shared memory 315 maps the block of shared memory into its own virtual space 340 at address 375. To make use of a pointer stored by process 305, it must first correct the pointer by adding or subtracting the difference between its offset value 375 (as maintained by the MMU) and that value 370 of process 305 calculated with respect to some baseline 360. When memory is always allocated in pages (e.g. 4096 bytes), such as in the Symbian (r.t.m.) operating system, as an alternative to the above method the pointers may be corrected by creating a certain number of the most significant bits of an address, as a number of the least significant bits will be the same for each local address space. This is because the data will always be in the same position relative to the nearest page boundary.
申请公布号 GB2420642(A) 申请公布日期 2006.05.31
申请号 GB20040026184 申请日期 2004.11.30
申请人 SENDO INTERNATIONAL LIMITED 发明人 WILLIAM ALLAN CLARK
分类号 G06F12/10;G06F9/46 主分类号 G06F12/10
代理机构 代理人
主权项
地址