xv6--一个类Unix的教学用操作系统

exec系统调用都做了哪些事?

2021-01-04  本文已影响0人  橡树人

从整体上讲,exec系统调用创建了用户部分的地址空间

具体地讲,做了9件事:

  1. 调用nami函数打开有名字的二进制路径path
  2. 读取ELF文件头;
  3. 检查该文件是否是ELF文件;
  4. 调用proc_pagetable来分配新的无用户映射的页表;
  5. 调用uvmalloc为每个ELF段分配内存;
  6. 调用loadseg将每个段加载进内存;
  7. 分配和初始化用户栈;
  8. 将新内存映像提交给新页表;
  9. 清空旧页表;

谁创建了用户部分的地址空间?

exec系统调用

exec系统调用如何分配和初始化用户栈?

栈保护页有什么作用?

上一篇下一篇

猜你喜欢

热点阅读