Visualizing Classic Synchronization Problems: Dining Philosophers, Producers-Consumers, and Readers-Writers

Visualizing Classic Synchronization Problems: Dining Philosophers, Producers-Consumers, and Readers-Writers
复制标题

可视化经典同步问题:哲学家就餐、生产者-消费者和读者-作家

DOI:
10.1145/3287324.3287467
复制
发表时间:
2019
期刊:
Proceedings of the 2019 ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE’19
影响因子:
--
通讯作者:
Hazlett, Christiaan D.
Hazlett, Christiaan D.
中科院分区:
--
文献类型:
--
作者:
Adams, Joel C.;Koning, Elizabeth R.;Hazlett, Christiaan D.

文献摘要

参考文献

被引文献

相似文献

经典的同步问题通常用于向学生介绍并发和同步机制的微妙之处,如信号量、监视器、锁和条件变量。用餐哲学家、生产者-消费者和读者-作者都是经典问题,其中正确的解决方案需要同步多个进程或线程的操作。在本文中,我们提出了这三个问题的可视化,并描述了它们作为教学工具,以帮助学生建立准确的心理模型的并发抽象,如饥饿,死锁,活锁,正确执行。我们还提出了一个实验的结果,表明学生发现使用这些可视化显着更吸引人比阅读教科书,在学习上没有显着差异。我们并不主张我们的可视化应该取代课程文本;相反,我们将它们作为引人入胜的教学工具,以补充操作系统,编程语言和其他涉及并发和同步的课程中的教科书。
Classic synchronization problems are often used to introduce students to the subtleties of concurrency and synchronization mechanisms, such as semaphores, monitors, locks, and condition variables. The Dining Philosophers, Producers-Consumers, and Readers-Writers are all classic problems in which a correct solution requires the actions of multiple processes or threads to be synchronized. In this paper, we present visualizations for these three problems and describe their use as pedagogical tools to help students build accurate mental models of concurrency abstractions such as starvation, deadlock, livelock, and correct execution. We also present the results of an experiment that indicate students find using these visualizations to be significantly more engaging than reading a textbook, with no significant difference in learning. We do not claim that our visualizations should replace a course text; rather we present them as engaging pedagogical tools to complement the textbook in courses on Operating Systems, Programming Languages, and other courses where concurrency and synchronization are covered.
算法可视化:该领域的现状
DOI: 10.1145/1821996.1821997
发表时间: 2010
期刊: ACM Trans. Comput. Educ.
影响因子: --
作者:
C. Shaffer;Matthew L. Cooper;Alexander Joel D. Alon;Monika Akbar;Michael Stewart;Sean P. Ponce;S. Edwards
通讯作者: S. Edwards
DOI: 10.1006/jpdc.1993.1050
发表时间: 1993
期刊: J. Parallel Distributed Comput.
影响因子: --
作者:
Eileen T. Kraemer;J. Stasko
通讯作者: J. Stasko
ThreadMentor:多线程编程的教学工具
DOI: 10.1145/958795.958796
发表时间: 2003
期刊: ACM J. Educ. Resour. Comput.
影响因子: --
作者:
S. Carr;Jean Mayo;Ching
通讯作者: Ching
DOI: 10.1145/237466.237533
发表时间: 1996
期刊: Proceedings of the 1st conference on Integrating technology into computer science education
影响因子: --
作者:
S. Rodger
通讯作者: S. Rodger
使用 XTANGO 动画操作系统算法
DOI: 10.1145/191029.191164
发表时间: 1994
影响因子: 0.9
作者:
Stephen J. Hartley
通讯作者: Stephen J. Hartley