说明: 1. pmem_probe A. 获得设备的内存空间,包括物理地址和大小 B. 对空间的管理模块进行初始化,分区域 C. 对空间进行ioremap2. pmem_open A. 创建新的pmem_data结构 B. 并使之与pmem[]建立链表关系 3. pmem_mmap A. 根据mmap大小的需求,重新调整空间的管理模块。并从device中获得需要的空间 B. 为获得的区域重新建立页表 C. 如果是CONNECTED状态,需要对每个子区域从新建立页表 4. ioctl: PMEM_MAP A. 确保map的可行性,获得map请求的区域 B. 创建新的region_node,将获得的区域信息保存到region_node中 C. 并与region_list建立链表关系 5. ioctl: PMEM_UNMAP A. 从region_list移除请求的区域 B. 释放页表 6. ioctl: PMEM_CONNECT A. 链接需要被connected的文件到当前文件。相当于两个文件映射到同一块区域。 7. ioctl: PMEM_ALLOCATE A. 根据allocate大小的需求,重新调整空间的管理模块。并从device中获得需要的空间