节点文献
哲学家就餐问题的算法实现
Implementation of an algorithm for the dining philosophers problem
【摘要】 针对哲学家就餐问题这一操作系统中进程间通信的经典范例,设计了该范例的一个具有代表性的算法的技术实现方案。方案以Linux操作系统作为运行平台,通过进程而不是线程来体现哲学家的并发行为特征,以自动和随机相结合的灵活自然的人机交互模式模拟哲学家的状态,控制其状态切换;提出了两种形式的哲学家状态监控程序,它们能够生动、直观、准确地表达出哲学家状态的变化过程。字符形式的监控程序在字符终端和图形终端中均可使用,主要面向以超级终端登录到多用户Linux系统的用户;利用QT5开发的动画形式的监控程序适合在桌面Linux的图形终端中使用。
【Abstract】 Aiming at the dining philosophers problem,a well-known classical example of the inter process of communication in the operating system field,this paper designs and presents a technical implementation scheme for a representative algorithm.The scheme takes Linux as its supporting platform,and the scheme reflects the characteristics of the concurrent behaviors of philosophers through processes rather than threads.The state of the philosophers and the switch between two states are emulated and controlled by the combination of automatic and random modes,which is a flexible and natural humancomputer interaction mode.Two forms of state monitoring programs are presented,which can express the state of philosophers in a vivid,direct and accurate way.The character-based monitoring program can be used in both the character terminal and the graphic terminal,and is mainly used for those users who log in the multi-user Linux systems.The animation-based monitoring program is suitable for the desktop Linux users with graphic terminal.
【Key words】 operating system; process synchronization and mutual exclusion; semaphore; shared memory; dining philosophers problem; state monitoring program;
- 【文献出处】 计算机工程与科学 ,Computer Engineering & Science , 编辑部邮箱 ,2016年02期
- 【分类号】TP316;TP301.6
- 【被引频次】2
- 【下载频次】335