Nachos指南(一)

Nachos是一个教学用的操作系统,它提供了一个操作系统的骨架来支持线程,用户级别进程,虚拟内存以及中断驱动的输入输出设备。Nachos和实际的操作系统的区别在于它是作为一个独立的UNIX进程运行,而实际的操作系统在裸机上运行,但Nachos模拟了机器的底层设施,这包括中断,虚拟内存和中断驱动的输入输出设备。

Nachos模拟了一个基本类似于MIPS架构的机器,它有寄存器,内存和CPU,除此以外,还提供了一个事件驱动的模拟时钟来进行中断调度,并在特定的时间点执行中断。这个模拟的MIPS机器可以执行二进制程序代码。它简单地将指令加载到机器的内存中,初始化寄存器(包括程序计数器PCReg,然后通知机器开始执行指令。机器就按照PCReg所指的地址去取指令,对指令进行译码并执行。这个过程无限的重复,直到执行非法操作或者产生硬件中断。当进入陷阱或者发生了中断时,MIPS指令的执行就暂停,转而去调用一个中断服务例程去处理。

Nachos有两种执行模式,其中一种时MIPS模拟器,它是这样来执行用户级进程的,将其加载到模拟器的内存中,初始化模拟器的寄存器,然后运行模拟器。用户程序只能访问与模拟机器相关联的内存。第二种模式是Nachos内核。当第一次启动或者用户程序执行的指令产生了硬件陷阱(例如,非法指令,缺页错误,系统调用等)就执行内核。在内核模式下,Nachos以普通的UNIX进行的方式执行。也就是说,Nachos源代码语句被执行,内存的访问也对应于赋予Nachos的变量的那部分内存。

Nachos支持内核线程,允许多个线程并发执行。这点上Nachos和其他线程包类似。事实上,用户级进程是通过一个内核线程去调用模拟器而得以执行,因此,多进程就意味着使用了多个线程,每个用户级进程都有一个与其相关联的Nachos内核线程,通过这个内核线程来执行MIPS模拟器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值