进程同步与内存管理:原理、方法与应用
1. 进程同步研究回顾
进程同步是计算机科学领域的重要研究方向,众多学者在该领域做出了重要贡献。
- 互斥问题解决方案
- 双进程互斥 :Dijkstra在1965年的经典论文中首次探讨了互斥问题。荷兰数学家T. Dekker开发了Dekker算法,这是双进程互斥问题的首个正确软件解决方案,Dijkstra也对该算法进行了讨论。之后,Peterson在1981年提出了更简单的解决方案。
- 多进程互斥 :Dijkstra在1965年提出了n进程互斥问题的首个解决方案,但该方案未对进程进入临界区前的等待时间设置上限。Knuth在1966年提出了有界算法,其界限为2n轮。deBruijn在1967年对Knuth算法进行改进,将等待时间降至n²轮。Eisenberg和McGuire在1972年成功将等待时间降至n - 1轮的下限。Lamport在1974年开发的面包店算法也需要n - 1轮,且更易于编程和理解。Burns在1978年开发了满足有界等待要求的硬件解决方案算法。
- 信号量相关研究 :Dijkstra在1965年提出了信号量概念。Patil在1971年研究了信号量是否能解决所有同步问题,Parnas在1975年讨论了Patil论点中的一些缺陷。Kosaraju在1973年跟进Patil的工作,提出了一个无法用wait()和signal()操作解决的问题。Lipton在1974年讨论了各种同步原语的局限性。
- 经典进程协调问题 :许多经典的
超级会员免费看
订阅专栏 解锁全文

1315

被折叠的 条评论
为什么被折叠?



