分类:
2011-06-10 14:41:57
一次比较成功的30人讨论会
讨论主题:进程间的通信方式——消息队列
参与人员:linux 3+1班08级所有同学
时间地点:2011年06月09日 3+1班
总之,这次讨论较前两次有较大的变化,基本上每一个人都发言了,而且有的同学最后想讲,可惜时间不允许了。另外,在讨论的内容上,这次有针对性,目标明确,分组讨论的时候,每个小组都把问题给解决了。我想这次之所以能达到这种效果,主要有这些原因:
(1)经过前两次的讨论,大家互相都认识了,交流上不再有胆怯心理。虽然前两次的讨论大家在技术上没有这次讨论的收获那么大,但是前两次的交流也是有益处的,最起码互相之间都认识了,有勇气进行交流了。
(2)在讨论的形式和内容上有所变化。前两次的讨论都是以程序为主,交流一开始就进行程序的交流,在交流过程当中如果遇到一些概念问题再解决,后来我发现这样的形式并不好,虽然程序大家清楚了,但是一些基本的概念还是不懂。这次的话,开始先把基本概念弄清楚(比如,在投影仪上把一些概念打上去,但是不给答案,让大家来说,或者查阅资料来解决,等这个问题讨论完毕之后给出答案,最后一个人来总结);之后,让完成程序的一到两个同学把自己的程序讲解一下(注意:在前两步当中,自己要把大家没有解决的问题和疑问迅速记录下来,当然可以即时想一些要完成的程序);之后随机叫数(这样的目的是为了互相不认识的同学能够促进交流)分组讨论,这时,把刚才自己记录的问题具体分配到每一个小组进行讨论,这样讨论的话就会有目标了;最后,每一个讨论组派出一个代表把刚才安排的问题研究清楚之后给大家讲清楚。
(3)大家的积极性有很明显的变化。
附录:
第一阶段交流种未解决的问题:
(1)消息队列中,标识符与关键字的区别,ftok()函数是多余的原因,它是如何实现的。
(2)在调用了popen()函数之后,但是不调用pclose()函数的时候,系统中的进程是怎样的?写一个程序测试一下在popen()和pclose()之间有几个进程。
提示:这两个函数之间有两个进程,一个父进程和一个僵尸进程。
(3)将用popen()函数实现的改为用管道和重定向来实现。
(4)msgctl()函数和msgget()函数的实现机制是怎样的,写一个程序把这里涉及到得权限问题搞清楚。