- 1、本文档共76页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Nachs线程通信和调度分析操作系统课程设计说明书
操作系统课程设计
说 明 书
学 院: 信息科学与工程学院
TOC \o 1-3 \h \u HYPERLINK \l _Toc13669 一、 理解Nachos模拟的物理机的运行机制 PAGEREF _Toc13669 3
HYPERLINK \l _Toc7854 1. Sysdep模块分析(文件sysdep.cc sysdep.h) PAGEREF _Toc7854 5
HYPERLINK \l _Toc25559 2. 中断模块分析(文件interrupt.cc interrupt.h) PAGEREF _Toc25559 10
HYPERLINK \l _Toc17859 3. 时钟中断模块分析(文件timer.cc timer.h) PAGEREF _Toc17859 16
HYPERLINK \l _Toc11892 4. 终端设备模块分析(文件console.cc console.h) PAGEREF _Toc11892 18
HYPERLINK \l _Toc8435 二、 理解Nachos中线程运行机制 PAGEREF _Toc8435 19
HYPERLINK \l _Toc31733 1. 工具模块分析(文件list.cc list.h utility.cc utility.h) PAGEREF _Toc31733 20
HYPERLINK \l _Toc27361 2. 线程启动和调度模块分析(文件switch.s switch.h) PAGEREF _Toc27361 21
HYPERLINK \l _Toc6132 3. 线程模块分析(文件thread.cc thread.h) PAGEREF _Toc6132 22
HYPERLINK \l _Toc30243 4. 线程调度算法模块分析(文件scheduler.cc scheduler.h) PAGEREF _Toc30243 26
HYPERLINK \l _Toc29328 5. Nachos主控模块分析(文件main.cc system.cc system.h) PAGEREF _Toc29328 27
HYPERLINK \l _Toc8913 6. 同步机制模块分析(文件synch.cc synch.h) PAGEREF _Toc8913 28
HYPERLINK \l _Toc8740 三、 理解Nachos中支持用户进程的机制 PAGEREF _Toc8740 30
HYPERLINK \l _Toc24555 一、用户程序空间(文件address.cc, address.h) PAGEREF _Toc24555 35
HYPERLINK \l _Toc27544 二、系统调用(文件exception.cc, syscall.h, start.s) PAGEREF _Toc27544 36
理解Nachos模拟的物理机的运行机制
Machine类 XE Machine类 用来模拟计算机主机。它提供的功能有:读写寄存器。读写主存、运行一条用户程序 XE 用户程序 的汇编指令、运行用户程序、单步调试用户程序、显示主存和寄存器状态、将虚拟内存 XE 虚拟内存 地址转换为物理内存地址、陷入 Nachos 内核等等。
Machine类 XE Machine类 实现方法是在宿主机上分配两块内存分别作为虚拟机的寄存器和物理内存。运行用户程序 XE 用户程序 时,先将用户程序从 Nachos 文件系统中读出,写入模拟的物理内存中,然后调用指令模拟模块对每一条用户指令解释执行。将用户程序的读写内存要求,转变为对物理内存地址的读写。Machine类提供了单步调试用户程序的功能,执行一条指令后会自动停下来,让用户查看系统状态,不过这里的单步调试是汇编指令级的,需要读者对R2/3000 XE R2/3000 指令比较熟悉。如果用户程序想使用操作系统提供的功能或者发出异常信号时,Machine调用系统异常陷入功能,进入Nachos的核心部分。
Interrupt类 XE Interrupt类 用来模拟硬件中断系统。在这个中断系统中,中断状态有开,关两种,中断类型有时钟中断、磁盘中断、控制台写中断、控制台读中断、网络发送中断以及网络接收中断。机器状态有用户态,核心态和空闲态。中断系统提供的功能有开/关中断,读/写机器状态,将一个即将发生中断放入中断队列,以及使机器时钟前进一步。
在Interrupt类 XE Interrupt类 中有一个记录即将发生中断的队列,称为中断等待队列。中断等待队列中每个等待处理的中断包含中断类型、中断处理程序的地址及参数、中断应当
文档评论(0)