SillyCheese

6.s081-note09-Sleep & Wake up

线程切换过程中锁的限制 今天这节课中,首先我们会花几分钟来重温一下上节课,也就是线程切换的内容,因为有些内容对于这节课来说还挺重要的。之后我们大部分时间都会讨论coordination,XV6通过Sleep&Wakeup实现了coordination。最后我们会讨论lost wake-up的问题。 首先是上节课的回顾。在XV6中,任何时候调用switch函数都会从一个线程切换到另...

6.s081-note08-Thread switching

线程(Thread)概述 为什么计算机需要运行多线程?可以归结为以下原因: 首先,人们希望他们的计算机在同一时间不是只执行一个任务。有可能计算机需要执行分时复用的任务,例如MIT的公共计算机系统Athena允许多个用户同时登陆一台计算机,并运行各自的进程。甚至在一个单用户的计算机或者在你的iphone上,你会运行多个进程,并期望计算机完成所有的任务而不仅仅只是一个任务。 ...