暂无搜索历史
map和munmap系统调用允许UNIX程序对其地址空间进行详细控制。它们可用于在进程之间共享内存,将文件映射到进程地址空间,并作为用户级页面错误方案的一部分,...
在本作业中,您将增加xv6文件的最大大小。目前,xv6文件限制为268个块或268*BSIZE字节(在xv6中BSIZE为1024)。此限制来自以下事实:一个x...
在本实验中,您将获得重新设计代码以提高并行性的经验。多核机器上并行性差的一个常见症状是频繁的锁争用。提高并行性通常涉及更改数据结构和锁定策略以减少争用。您将对x...
上一节我们总体介绍了一下手册中有关数据接收和传输的章节,本节借助上节的基础来完成lab的具体代码实现。
您将使用名为E1000的网络设备来处理网络通信。对于xv6(以及您编写的驱动程序),E1000看起来像是连接到真正以太网局域网(LAN)的真正硬件。事实上,用于...
本节对应论文: Eliminating Receive Livelock in an Interrupt-driven Kernel
本节对应论文: Virtual Memory Primitives for User Programs
今天这节课也是讲解文件系统的logging,这节课讲的是Linux中的广泛使用的ext3文件系统所使用的logging系统,同时我们也会讨论在高性能文件系统中添...
今天的课程是有关文件系统中的Crash safety。这里的Crash safety并不是一个通用的解决方案,而是只关注一个特定的问题的解决方案,也就是cras...
前面两节,我们介绍了xv6 文件系统教材上的相关小节说明,从本节开始,将整理课程所讲内容
术语inode(即索引结点)可以具有两种相关含义之一。它可能是指包含文件大小和数据块编号列表的磁盘上的数据结构。或者“inode”可能指内存中的inode,它包...
文件系统的目的是组织和存储数据。文件系统通常支持用户和应用程序之间的数据共享,以及持久性,以便在重新启动后数据仍然可用。
本实验将使您熟悉多线程。您将在用户级线程包中实现线程之间的切换,使用多个线程来加速程序,并实现一个屏障。
前面两节整理了调度小节课程上所讲内容,本节将对应教材章节内容进行整理(相关代码可能不会给出,大家可以参考前面两节配合食用)。
本节我们会将重点放在coordination,XV6通过Sleep&Wakeup实现了coordination。最后我们会讨论lost wake-up的问题。
线程可以认为是一种在有多个任务时简化编程的抽象。一个线程可以认为是串行执行代码的单元。如果你写了一个程序只是按顺序执行代码,那么你可以认为这个程序就是个单线程程...
教材上写的话一般比较精炼和官方,所以阅读起来不好理解,课堂上老师讲的更加大白话和易懂一些,所以这也是本节进行补充说明的原因,如果觉得锁章节已经掌握了,那么可以跳...
大多数内核,包括xv6,交错执行多个活动。交错的一个来源是多处理器硬件:计算机的多个CPU之间独立执行,如xv6的RISC-V。多个处理器共享物理内存,xv6利...
RISC-V指令集中有一类特殊寄存器CSRs(Control and Status Registers),这类寄存器存储了CPU的相关信息,只有特定的控制状态寄...
下图是一台Athena计算机(注,MIT内部共享使用的计算机)的top指令输出。如果你查看Mem这一行:
暂未填写公司和职称
暂未填写个人简介
暂未填写技能专长
暂未填写学校和专业
暂未填写个人网址
暂未填写所在城市
TA 很懒,什么都没有留下╮(╯_╰)╭