Overview of Coroutines in Linux

Overview of Coroutines in Linux

The premise of this article: This is a non-technical article that discusses what coroutines are and the current usage of coroutines, rather than insisting on their necessity. In Linux, coroutine switching is a type of lightweight context switching, which is more efficient than thread switching. Coroutines are a lighter execution unit than threads, typically managed … Read more

MIT6.S081 – Lab7 Multithreading | Process Scheduling

MIT6.S081 - Lab7 Multithreading | Process Scheduling

This article is a lab note for Lab7 of the MIT6.S081 Operating Systems course. The task is to simulate kernel process switching by implementing a user-level thread switching functionality. Additionally, I will introduce how xv6 achieves process switching by examining the source code. Lab7 address: https://pdos.csail.mit.edu/6.828/2020/labs/thread.html My lab records: https://github.com/yibaoshan/xv6-labs-2020/tree/thread Before starting the experiment, you … Read more