nachos各包

来源:互联网 发布:mysql 年月日时分秒 编辑:程序博客网 时间:2024/06/15 10:04

nachos.machine包

提供运行nachos模拟机的各种类。

接口概述

ElevatorControllerInterface:所有elvators的控制器

ElevatorControls:一组可以由elvators使用的控制装置

FileSystem:允许用户对文件进行创建、打开和删除的文件系统

RiderControls:一组可以被rider控制器使用的控制器

SerialConsole:一个可以用来发送和接收字符的串行控制台

ArrayFile:一个只读的OpenFile backedby a byte array

Coff:一个COFF(通用对象文件格式)装载器

CoffSection:一个COFFSection管理a singlesection within a COFF executable

Config:提供访问nachos配置的程序

ElevatorBank:A bank of elevators

ElevatorEvent:一个影响elevator软件的事件

ElevatorTest:用单个elevator和单个rider测试ElevatorBank调度

Interrupt:一个模拟低级的硬件中断的中断类

Kernel:操作系统内核

Lib:提供杂项的程序库(就是很多类、杂类)

Machine:模拟器的主类

NetworkLink:一个全双工的网络连接

OpenFile:一个可供读、写、查的文件

OpenFileWithPosition:一个保存当前文件位置的OpenFile

Packet:一个链路层包

Processor:模拟一个支持R3000指令集的MIPS处理器的处理器类

RiderEvent:一个影响rider software的事件

StandardConsole:一个基于文本的用System.in和System.out的控制台

Stats:一个包含nachos运行时统计的对象

StubFileSystem:这个类提供了一个重定向所有对主操作系统的文件系统的需求的文件系统

TCB:一个TCB模拟了底层的必需的细节:创建、上下文切换、和销毁nachos线程

Timer:一个硬件定时器大约每500个时钟周期产生一个CPU中断

TranslationEntry:一个在虚拟页和物理页之间的翻译器

异常

MalformedPacketException:当一个格式错误的数据包被处理的时候抛出该异常

nachos.ag包

提供可以用来为nachos项目自动分级的类

AutoGrader:默认自动分级器

BoatGrader

nachos.network包

提供支持nachos进程在网络上进行交互的类

MailMessage:一个邮件消息

NetKernel:一个支持网络的内核

NetProcess:一个支持网络工作系统调用的虚拟进程

PostOffice:一个消息队列的集合,每一个对应一个本地端口

nachos.security包

提供保护主系统不受来自nachos内核的恶意攻击的类

接口

Privilege.InterruptPrivilege:提供访问一些私有中断方法的接口

Privilege.MachinePrivilege:提供访问一些私有的机器方法的接口

Privilege.ProcessorPrivilege:提供访问一些私有的进程方法的接口

Privilege.TCBPrivilege:提供访问一些私有的TCB方法的接口

NachosSecurityManager:保护环境不受恶意nachos代码的攻击

Privilege:一种允许对nachos机器进行特权访问的能力

nachos.threads包

提供支持多线程内核的类

Alarm:使用硬件计时器提供抢占,并允许线程休眠一定时间。

Boat:

Communicator:允许线程同步地交换32位信息。

Condition:条件变量的实现建立在信号量的基础之上。

Condition2:条件变量的实现不能用interrupt()同步

ElevatorController:elevatorbank中所有的elevator的控制器

KThread:可以执行nachos内核代码的线程

Lock:锁是有忙和空闲两种状态的同步原语

LotteryScheduler:彩票调度器

PriorityScheduler:优先级调度器

Rider:一个单独的rider

RoundRobinScheduler:轮转调度等待FIFO队列中的waiting线程,用链表实现

Scheduler:协调相同类型的线程队列组

Semaphore:信号量是一个无符号值的同步原语

SynchList:一个同步队列

ThreadKernel:一个多线程操作系统内核

ThreadQueue:Schedules access tosome sort of resource with limited access constraints

nachos.userprog包

提供的类允许nachos在单独的地址空间加载并执行单线程的用户程序

SynchConsole:提供一个简单的同步接口

UserKernel:可以支持多用户程序的kernel

UseProcess:封装用户进程状态不包括其用户线程

UThread:在用户进程中可以执行用户程序代码,不包括nachos内核代码

nachos.vm包

提供的类允许nachos的进程按需分页,和使用TLB地址转换

VMKernel:可以支持多个进程按需分页的内核

VMProcess:支持按需分页

 

 

 

 

0 0
原创粉丝点击