MIT6S081
文章平均质量分 96
HNU_ZHAO
这个作者很懒,什么都没留下…
展开
-
【MTI 6.S081 Lab】thread
【MTI 6.S081 Lab】thread 在本练习中,您将为用户级线程系统设计上下文切换机制,然后实现它。首先,您的xv6有两个文件user/uthread.c和user/uthread_switch.S,并且Makefile中有一个规则来构建uthread程序。uthread.c包含大部分用户级线程包,以及三个简单测试线程的代码。线程程序包缺少一些用于创建线程和在线程之间切换的代码。原创 2023-07-30 09:08:10 · 209 阅读 · 0 评论 -
【MTI 6.S081 Lab】Page tables
【MTI 6.S081 Lab】Page tables一些操作系统(如Linux)通过在用户空间和内核之间共享只读区域来加速某些系统调用。这就消除了在执行这些系统调用时对内核交叉的需要。为了帮助您了解如何将映射插入到页面表中,您的第一个任务是为xv6中的getpid()系统调用实现此优化。原创 2023-07-30 09:11:15 · 229 阅读 · 0 评论 -
【MTI 6.S081 Lab】traps
【MTI 6.S081 Lab】traps 本实验探讨了如何使用陷阱实现系统调用。您将首先使用堆栈进行热身练习,然后实现用户级陷阱处理的示例。原创 2023-07-30 09:10:30 · 224 阅读 · 0 评论 -
【MTI 6.S081 Lab】Copy-on-write
【MTI 6.S081 Lab】Copy-on-write 虚拟内存提供了一定程度的间接性:内核可以通过将PTE标记为无效或只读来拦截内存引用,从而导致页面错误,并可以通过修改PTE来更改地址的含义。在计算机系统中有一种说法,任何系统问题都可以通过一定程度的间接性来解决。这个实验室探索了一个例子:copy-on-write fork原创 2023-07-30 09:08:50 · 209 阅读 · 0 评论 -
【MTI 6.S081 Lab】networking
【MTI 6.S081 Lab】networking在这个实验室中,您将为网络接口卡(NIC)编写一个xv6设备驱动程序。原创 2023-07-30 09:06:19 · 130 阅读 · 0 评论 -
【MTI 6.S081 Lab】locks
【MTI 6.S081 Lab】locks本实验前去看《操作系统导论》第29章基于锁的并发数据结构,将会是很有帮助的。在这个实验室中,您将获得重新设计代码以提高并行性的经验。多核机器上并行性差的一个常见问题是锁的高竞争。提高并行性通常需要更改数据结构和锁定策略,以减少争用。您将为xv6内存分配器和块缓存执行此操作。原创 2023-07-30 09:05:48 · 182 阅读 · 0 评论 -
【MTI 6.S081 Lab】File System
MIT 6.S081 File system lab,本实验完成大文件的存储和访问的功能,还完成软链接。原创 2023-07-29 19:30:33 · 134 阅读 · 0 评论 -
【MTI 6.S081 Lab】Mmap
MIT 6.S081 Mmapmmap和munmap系统调用允许UNIX程序对其地址空间进行详细控制。它们可以用于在进程之间共享内存,将文件映射到进程地址空间,并作为用户级页面错误方案的一部分,如讲座中讨论的垃圾收集算法。在这个实验中,您将向xv6添加mmap和munmap,重点关注内存映射文件。原创 2023-07-29 18:00:23 · 168 阅读 · 0 评论