Lec10:Multiprocessors and locking (Frans)
2024-10-18
大多数内核(如xv6)通过交错执行多个进程来运行。这种交错可能来自多处理器系统,其中多个CPU共享同一物理内存,并且同时访问和修改数据结构,这可能导致数据损坏或不一致。即使在单个处理器上,内核也会切换不同的线程,导致执行交错。此外,不当时间发生的中断也可能干扰数据处理。并发是指由于多处理器、线程切换或中断引起的多个指令流交错执行的现象。
3740 字
|
19 分钟
Lab:Unix utilities
2024-09-27
当一个管道所有的写入端都关闭且管道内没有数据时,read 操作会返回 0。但如果写入端没有关闭,即使管道内没有数据,read 操作仍会进入堵塞状态知道管道内有新的数据,而不会返回 0。所以一定要即使关闭管道。
368 字
|
2 分钟
Lab:traps
2024-09-27
backtrace 是一个**<font style="color:rgb(51, 51, 51);">存放于栈上用于指示错误发生位置的函数调用列表。</font>**
1813 字
|
9 分钟
