02 2022 档案

摘要:Lab: networking Background 使用 E1000 网络设备处理网络通信。对于 xv6 和 开发者所写驱动,E1000 像一个真正的硬件,连接到真正的以太网 LAN (local area network)。实际,和驱动通信的 E1000 是由 qemu 仿真的,E1000 连接 阅读全文
posted @ 2022-02-24 22:33 seaupnice 阅读(513) 评论(0) 推荐(1) 编辑
摘要:Lab Multithreading Uthread: switching between threads 本题为用户级线程系统设计上下文切换机制,并实现这个机制。uthread.c 含有大多数用户级线程包,以及一些简单的测试线程。需要完善线程包中的创建和切换相关代码。 提出一个创建线程和保存/恢复 阅读全文
posted @ 2022-02-19 21:37 seaupnice 阅读(290) 评论(0) 推荐(0) 编辑
摘要:Chapter 5 Interrupts and device drivers 理解当设备产生中断时: CPU 会发生什么? 如何从设备读、写信息? 中断相比系统调用的新特点 中断是异步的(asynchronous)。当硬件产生一个中断时,中断处理程序开始运行,中断处理程序可能和 CPU 上正在运行 阅读全文
posted @ 2022-02-10 20:05 seaupnice 阅读(98) 评论(0) 推荐(0) 编辑
摘要:Chapter 7 Scheduling 任何操作系统运行的进程数量都可能超过计算机 CPUs 的数量,所以这些进程需要一个策略分时共享 CPUs。理想情况下,共享对用户进程是透明的(用户进程不感知共享)。一种常用的方法是通过多路复用(\(multiplexing\)),在硬件 CPUs 上调度这些 阅读全文
posted @ 2022-02-10 20:03 seaupnice 阅读(115) 评论(0) 推荐(0) 编辑
摘要:Chapter 6 Locking 许多内核,包括 xv6 ,交替执行多个任务。交替执行的原因之一是多处理器硬件:计算机有多个独立执行的 CPUs,如 xv6 的 RISC-V。多个 CPUs 共享物理 RAM,xv6 利用这种共享维护所有 CPU 都能读写的数据结构。 这种共享产生了一种可能:一个 阅读全文
posted @ 2022-02-07 17:39 seaupnice 阅读(102) 评论(0) 推荐(0) 编辑

more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示