Nachos
maerdym
这个作者很懒,什么都没留下…
展开
-
Nachos系统简介
Nachos是一款教学用的操作系统平台,它的全名叫做"Not Another Completely Heuristic Operating System“,Nachos的运行必须借助于宿主机,它通过软件模拟了各种硬件系统,包括中断系统、存储系统、磁盘文件、网络等。它的运行是可以跟踪的,因此,我们可以一步一步的观察操作系统是如何运行的.Nachos操作系统本身只提供了一套框架,很多地方的实现都需原创 2012-03-27 19:25:47 · 4898 阅读 · 0 评论 -
Nachos环境搭建
上一节:Nachos系统简介 介绍了Nachos的基本信息和阅读辅助书籍,本节将介绍Nachos实验环境的搭建和代码编辑工具上一节介绍过,Nachos必须在宿主机下运行,因此本节将介绍Nachos在Linux下的实验环境搭建.首先确保你已安装Linux操作系统获取虚拟机.接着下载Nachos源代码,获取到源代码后,我们开始环境配置.首先需要安装gcc编译器,gcc编译器可以直接通过apt-g原创 2012-03-27 20:56:38 · 6792 阅读 · 1 评论 -
Nachos之系统调用
今天仔细研究了Nachos的系统调用(主要阅读Nachos Study Book.pdf),基本上理解了Nachos系统调用的过程. 首先来明确一下系统调用的概念,系统调用是指用户程序调用系统提供的程序接口,而使系统进入内核态执行对应功能代码的过程。Nachos模拟了这一机制.那么Nachos是如何模拟的呢?当用户程序调用系统调用接口时,Nachos会执行与此系统调用相对应的原创 2012-04-17 18:29:34 · 5639 阅读 · 0 评论 -
程序返回地址的理解
这几天在看Nachos时,突然明白,所谓的返回地址原来就是当前执行块外的下一条指令地址。举个例子,如果当前在执行方法A,在方法A中含有三条指令B、C、D.假设C为调用指令。当执行完B后,从IR寄存器中取出C执行,并将D的指令地址放入PC寄存器中.那么C调用的返回地址其实就是D的地址,也就是当前PC寄存器内的地址。只不过在执行C的时候PC寄存器内的值会发生变化,因此用返回地址来临时存一下D的地址。不原创 2012-05-01 10:24:39 · 2752 阅读 · 0 评论 -
Nachos之线程切换过程中的上下文保存与恢复
一直认为线程的上下文保存与恢复是个神秘的过程,今天仔细阅读Nachos Study Book后,发现其理解起来也不是非常困难.Nachos中线程的上下文环境,被定义在Thread.h中,上下文数据主要包括线程栈顶执行、线程下一条代执行执行地址、以及调用过程中用到的各个寄存器的值。这些数据的定义必须按指定位置,因为Nachos在线程切换时,会按预先指定的顺序操作线程上下文内存和寄存器。线程切换的原创 2012-05-01 10:50:14 · 3122 阅读 · 2 评论