《操作系统课程设计-内存管理》.docVIP

  • 8
  • 0
  • 约2.57万字
  • 约 33页
  • 2016-12-11 发布于贵州
  • 举报
作者:李晓琳 200800300117 刘泽民 200800300153 三、实现系统调用与内存管理 设计目标: 实现fork,exec,exit与join系统调用。 实现Nachos中用户程序的装入和内存页 式转换机制,实现多道程序驻留内存 实现带有TLB机制的的内存管理机制。 设计背景: 在nachos中,Thread类是来模拟一个线程的。在Thread类中,模拟了一个系统栈,并且在这个栈中保存系统寄存器的值。这里所说的系是指nachos运行的环境,对我们来说,就是所在的Linux系统。因为nachos要模拟线程的切换,因此必须要有能保存真实机器的CPU中的寄存器内容的地方。这就是说nachos自己实现了一个线程库。 在一个线程刚创建时,其处在JUST_CREATE状态,并且未分配系统栈。Thread类中,还有一个很重要的函数是fork,这个函数接收一个函数指针作为参数。在这个函数中,nachos会初始化这个线程的系统栈空间,并且会把所传入的函数的首址放在栈顶,这样,当这个线程被第一次运行的时候,就会从传入的这个函数处开始运行。 在线程还维护了一个AddrSpace类型的指针。当调用exec时,就会从文件中装载并初始化进程的用户空间。在nachos上,可执行文件是noff格式的。这种格式的文件中,包括一个文本段与三个数据段,并且在文件头中记录了其在虚拟空间的

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档