⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmap.c.txt

📁 linux内核学习笔记 希望想看的人可以很快下载到
💻 TXT
字号:
any problems, send mails to sindybear@163.com

相关文件
	/linux/mm.h

(1)unsigned long do_mmap_pgoff(struct file * file, unsigned long addr, unsigned long len,
        unsigned long prot, unsigned long flags, unsigned long pgoff)

        struct mm_struct * mm = current->mm;	//得到当前进程的mm结构

	……	//进行一系列的检测
        if (len > TASK_SIZE)	//TASK_SIZE是0xC0000000,也就是用户和内核的区分线
                return -EINVAL;

        addr = get_unmapped_area(file, addr, len, pgoff, flags);//得到一个没有映射的虚拟地址
								//长度必须能够容纳len长度

	……	//进行一系列的检测

        vma->vm_mm = mm;
        vma->vm_start = addr;
        vma->vm_end = addr + len;
	……	//对vma结构进行一系列的初始化

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -