:philosopher0?philosopher2?Рphilosopher2 put 2Рphilosopher2 put 3Рphilosopher2 get 2Рphilosopher2 get 3Рwaitting:philosopher1?philosopher3?philosopher4?Рeating:philosopher0?philosopher2?Рphilosopher2 put 2Рphilosopher2 put 3Рphilosopher2 get 2Рphilosopher2 get 3Рwaitting:philosopher1?philosopher3?philosopher4?Рeating:philosopher0?philosopher2?Р经分析可知,放在桌子上的筷子是临界资源,在一段时间内只允许一位哲学家使用,为了实现对筷子的互斥使用,用一个信号量表示一只筷子,由这五个信号量组成信号量数组。若哲学家饥饿时总是先拿其左边的筷子,成功后,再去拿右边的筷子,容易造成死锁。Р当规定奇数号哲学家先拿起右边筷子,然后再去拿左边筷子,而偶数Р号哲学家则相反后,死锁现象得到了解决。Р实验结论、心得体会和改进建议:Р通过这次操作系统的实验,我了解到了进程的创建及进行,明白了死锁产生的原因和一些解决的办法,这让我深刻的体会到操作系统的知识作用。而且此次实验还培养了我综合运用知识的能力,结合了C语言的知识来解决这个问题。巩固了以前的知识。Р在设计这个程序的时候我遇到了很多困难,如进程函数的运用,哲学家之间的协调,还有死锁问题的解决。在老师及同学的帮助下,我解决掉这些问题,并完成了这个实验。Р在实验的进行中,我发现了我很多学习中的不足之处,对以前学习的知识认识不够深刻,掌握的不够,这个要好好复习一下。Р总的来说,这次的实验带给我很多收获,让我受益匪浅。