2.6 有关进程和线程的研究

在第1章里,我们介绍了有关操作系统结构的当前研究工作。在本章和下一章里,我们将更专注于有关进程的研究。随着时间推移,一些问题会比其他问题解决得更好。多数研究倾向于从事新的课题,而不是围绕着有数十年历史的题目进行研究。

作为一个例子,关于进程概念的研究已经获得良好的解决方案。几乎所有的系统都把一个进程视为一个容器,该容器用以聚集相关的资源,如地址空间、线程、打开的文件、保护许可等。不同的系统聚集资源的方式略有差别,但是差别仅在于工程处理方面。基本思想不会有较大的争议,且有关进程的课题也几乎没有新的研究在进行。

线程是比进程更新的概念,但是它们同样也经过了相当多的考虑。仍然偶尔会出现关于线程的论文,例如,关于在多处理器上的线程集群(Tam等人,2007)或是一个进程中的线程数量如何扩展到100 000(Von Behren等人,2003)。

广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元

现在,进程同步问题已经相当成熟和固定,但是每隔一段时间还是会有一篇论文,例如关于无锁并发处理的问题(Fraser和Harris,2007)或是实时系统中的无阻塞同步问题(Hohmuth和Haertig,2001)。

调度(单处理器和多处理器)还是一些研究者感兴趣的话题。一些正在研究的主题包括移动设备上的能耗节省调度(Yuan和Nahrstedt,2006)、超线程级调度(Bulpin和Pratt,2005)、当CPU空闲时该做什么(Eggert和Touch,2005)以及虚拟时间调度(Nieh等人,2001)。但是,很少有实际系统的设计者会因为缺乏像样的线程调度算法而整天苦恼,所以这似乎是一个由研究者推动而不是需求推动的研究类型。总而言之,进程、线程与调度不像它们曾经那样,是研究的热点。这些研究已经前进得很多了。