摘要
针对哲学家就餐问题这一操作系统中进程间通信的经典范例,设计了该范例的一个具有代表性的算法的技术实现方案。方案以Linux操作系统作为运行平台,通过进程而不是线程来体现哲学家的并发行为特征,以自动和随机相结合的灵活自然的人机交互模式模拟哲学家的状态,控制其状态切换;提出了两种形式的哲学家状态监控程序,它们能够生动、直观、准确地表达出哲学家状态的变化过程。字符形式的监控程序在字符终端和图形终端中均可使用,主要面向以超级终端登录到多用户Linux系统的用户;利用QT5开发的动画形式的监控程序适合在桌面Linux的图形终端中使用。
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.
出处
《计算机工程与科学》
CSCD
北大核心
2016年第2期269-276,共8页
Computer Engineering & Science
基金
广东海洋大学卓越计划项目
关键词
操作系统
进程同步与互斥
信号量
共享存储器
哲学家就餐问题
状态监控程序
operating system
process synchronization and mutual exclusion
semaphore
shared memory
dining philosophers problem
state monitoring program