Lec14:File systems (Frans)
2024-11-15
接下来的课程将帮助我们理解文件系统的内部工作原理,这是一个令人兴奋的话题,因为我们日常都在使用它。我们将探讨几个关键点:
7531 字
|
38 分钟
Lec15:Crash recovery (Frans)
2024-11-15
今天的课程是有关文件系统中的Crash safety。
9495 字
|
47 分钟
Lab:Multithreading
2024-11-14
这个 lab 难度不大,没有什么太多值得关注的。
199 字
|
1 分钟
Lab:lock
2024-11-14
现在** xv6中内存分配通过kalloc()进行分配,空闲内存由唯一一个keme维护,访问时需要获取keme的🔒****,这导致了一个问题,当多个 CPU 中多个进程调用kalloc()进行分配内存时,会导致争用该锁的🔒,降低性能。**
2211 字
|
11 分钟
Lec13:Sleep & Wake up (Robert)
2024-11-08
介绍 OS调度中 sleep 与 wakeup 的机制,以及其他用到这个机制的系统调用,如 kill ,exit 和 wait。
5281 字
|
26 分钟
Lab:Copy-on-Write Fork for xv6
2024-10-24
在xv6中,fork()系统调用会复制父进程的所有用户空间内存到子进程中。当父进程很大时,这种复制过程会非常耗时,并且常常导致资源浪费,特别是当子进程紧接着执行exec()时,之前复制的大部分内存会被立即丢弃而未被使用。
2476 字
|
12 分钟
Lec11:Thread switching (Robert)
2024-10-19
a0130c8603bcdbd4e832c783c5186ac6.png
14267 字
|
71 分钟
Lec10:Multiprocessors and locking (Frans)
2024-10-18
大多数内核(如xv6)通过交错执行多个进程来运行。这种交错可能来自多处理器系统,其中多个CPU共享同一物理内存,并且同时访问和修改数据结构,这可能导致数据损坏或不一致。即使在单个处理器上,内核也会切换不同的线程,导致执行交错。此外,不当时间发生的中断也可能干扰数据处理。并发是指由于多处理器、线程切换或中断引起的多个指令流交错执行的现象。
3740 字
|
19 分钟