全球旧事资料 分类
计算机科学与技术学院
20092010学年第一2009-2010学年第一学期
操作系统》《操作系统》课程设计
题目:题目:班级:班级:学号:学号:姓名:姓名:教师:教师:成绩:成绩:
Nachos线程模块分析070341B070341221阮琳琳杨志娴
f1题目分析
本次课程设计中,我将遵循课本上进程部分的章节组织来分析Nachos中线程模块。我想这样会使分析的思路更加清晰,系统性和理论性更强。分析目的:分析目的:通过阅读
achos代码,了解一个最基本的操作系统是如何工作运转起来的。结合书本上的知识,理解
achos中的源码,并使在书本上学到的知识得到巩固。以使我对操作一同这门课有更深入的理解。Nachos相关知识概述一、Nachos的线程管理Nachos广泛采用线程的概念,是多线程操作系统。线程是Nachos处理机调度的单位,在Nachos中线程分成两类,一类是系统线程。所谓系统线程是只运行核心代码的线程,它运行在核心态下,并且占用宿主机的资源,系统线程共享Nachos操作系统本身的正文段和数据段;一个系统线程完成一件独立的任务。Nachos的设计者认为,教授并发性的最好方法是让读者能够直观地看到程序的并发行为。Nachos的另一类线程同Nachos中的用户进程有关。Nachos中用户进程由两部分组成,核心代码部分和用户程序部分。用户进程的进程控制块是线程控制块基础上的扩充。每当系统接收到生成用户进程的请求时,首先生成一个系统线程,进程控制块中有保存线程运行现场的空间,保证线程切换时现场不会丢失。该线程的作用是给用户程序分配虚拟机内存空间,并把用户程序的代码段和数据段装入用户地址空间,然后调用解释器解释执行用户程序;由于Nachos模拟的是一个单机环境,多个用户进程会竞争使用Nachos唯一的处理机资源,所以在Nachos用户进程的进程控制块中增加有虚拟机运行现场空间以及进程的地址空间指针等内容,保证用户进程在虚拟机上的正常运行。系统线程竞争使用宿主机的CPU资源,而用户进程的用户程序部分竞争使用的是虚拟机的CPU和寄存器。所以用户进程在被切换下处理机时,需要保存其系统线程部分的现场,同时还需要保存虚拟机部分的现场。当线程运行终止时,由于当前线程仍然运行在自己的栈空间上,所以不能直接释放空间,只有借助其他的线程释放自己。Nachos和实际的进程管理有以下的不同:不存在系统中所有线程的列表在一般的操作系统中,进程的数目总是有限的,但是Nachos中的线程数目可以是无限的(当然,用户进程的数目应该也是有r
好听全球资料 返回顶部