没有合适的资源?快使用搜索试试~ 我知道了~
例如,如果您看到:nachos 5.0j 初始化中...配置中断计时器处理器控制台网络(1)用户检查分级机这表示网络链接地址为 1(上面输出中网络后面的括号中的
资源详情
资源评论
资源推荐
最后的任务是试验网络。
我们将为您提供一些底层网络通信设施;
您将在这些基础之上构建更好的抽象,然后在构建分布式聊天程序时使用该抽象。
网络中的每个节点都将实现为 Nachos 的单独实例。
因此,您将为每个网络节点运行一个 JVM。
这些 JVM 将在同一台实际的机器上运行,即使我们假装它们是分布在网络上也是如此。
每个 Nachos“节点”都有到网络的单个连接,该连接使用 UDP 套接字实现。
nachos.machine.NetworkLink 类为您提供此功能。
每个节点都有一个唯一的链接地址,代表该节点的物理网络地址。
您可以使用 Machine.networkLink()方法访问网络链接。
在 NetworkLink 对象上调用 getLinkAddress()将返回该节点的链接地址。
地址的类型只是一个整数。
由于多个 Nachos 节点将在同一台实际计算机上运行, 因此您将需要为每个节点使
用不同的交换文件以避免干扰。
一种简单的方法是将网络链接地址附加到交换文件名。
您可以通过构建 proj4 目录并在同一台计算机上的两个不同窗口中同时运行 nachos 来测
试基本的网络功能。
在 Nachos 初始化时,文本的第一行在其中包含其网络链接的地址。
例如,如果您看到:
nachos 5.0j 初始化中...配置中断计时器处理器控制台网络(1)用户检查分级机
这表示网络链接地址为 1(上面输出中网络后面的括号中的值)。
用于此分配的新计算机文件包括:
•machine / NetworkLink.java-物理网络硬件的仿真。
网络接口与控制台的网络接口相似,不同之处在于传输单元是数据包而不是字符。
网络在节点之间提供了有限大小的数据包的有序,不可靠的传输。
此类提供 send()和 receive()消息以在网络上发送和接收数据包。
由于此类模拟网络设备驱动程序,因此您必须提供机制来保护对网络链接的访问并确保
正确使用它。
当接收到数据包时和发送数据包后,网络链接会产生中断;
您将使用这些中断在底层网络链接接口上实现高层通信机制。
•machine / Packet.java-网络传输单元。
数据包的最大大小由常量 machine.Packet.maxPacketLength 给出,恰好是 32 个字节。
每个数据包包含一个 4 字节的标头(有关详细信息,请参见 Packet.java)和一个 28 字
节的有效负载。
使用常量 machine.Packet.maxContentsLength 来引用代码中有效负载的大小(即,不要
硬编码 28 个字节的值)。
在网络目录中可以找到用于此分配的新内核文件,其中包括:
•network / NetKernel.java-支持联网的内核;
扩展 VMKernel。
•network / NetProcess.java-支持网络系统调用的进程;
扩展 VMProcess。
•network / PostOffice.java-以“邮局”为模型的简单消息抽象,在网络链接的顶部实现。
这提供了与特定端口(邮箱)之间的消息的同步传递和接收。
每台计算机有多个邮箱。
与原始网络链接相比,PostOffice 提供了更方便的通信抽象。
它在网络链接的节点到节点通信之上提供用户到用户的通信,但是不提供可靠的消息传
递。
在此项目中,您将必须在 PostOffice 和网络链接抽象之上实现其他层。
例如,您将需要在基础不可靠的通信链接之上实施可靠的传递。
由于 PostOffice 并不完全适合该项目,因此可以随意使用它作为起点,但是如果愿意,
也欢迎您从头开始。
请注意,NetKernel 扩展了 VMKernel,而 NetProcess 扩展了 VMProcess,这意味着此项
目取决于您的第 3 阶段解决方案能否正常工作。
如果愿意,可以修改类以扩展 UserKernel 和 UserProcess,以使您的代码仅取决于项目阶
段 2。为使其正常工作,请确保物理内存页的总数足以容纳整个内存页。
测试程序的代码。
由线控制
Processor.numPhysPages = 16
在 nachos.conf 文件中。
剩余10页未读,继续阅读
玛卡库克
- 粉丝: 27
- 资源: 309
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于JavaScript讲解的数据结构和算法
- python计算机视觉python-computer-vision.rar
- VB+ACCESS计算机等级考试管理系统(源代码+系统+答辩PPT).zip
- python密码python-ciphers.rar
- 2c60fbb3dt9ad50ed8864298eea1484b.MP4
- 基于yolov8+dlib实现视觉识别的安全驾驶监测系统部署到jetson NX平台源码+模型.zip
- Qt框架+OpenCV+动态爱心+编程教学+520
- 基于opencv+yolov8实现目标追踪及驻留时长统计源码.zip
- 水稻病害基于Yolov8算法优化目标检测识别与AI辅助决策python源码+模型+使用说明.zip
- 海尔618算价表_七海5.20_16.00xlsx(1)(2).xlsx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0