大家好,本人今年大四,网络工程专业的学生,毕业设计想做一些linux C编程,百度到一篇帖子【http://zhidao.baidu.com/question/231233146.html】,觉得不太合适,所以想借此机会征求征求大家的意见。
自己曾想着写一个Boot Loader(灵感来源于这样的经历:自己曾大致了解了x86架构下,从按下电源按钮开始,Linux系统开机启动流程),后来想了想,觉得一个人写的话难度太大,加之又有其他一些优秀的类似工具,如grub等等,另外还要忙着找工作……
一时着急,也想不到其他的好课题,只好在这里麻烦大家了。。
可以做一个简单的聊天系统。
1》linux服务端:
socket服务器,负责接入客户端的socket连接,然后fork多个进程来处理客户端请求。聊天信息可以采用共享内存来存放,多进程采用信号量机制实现共享内存的串行访问。
2》定义一个简单的基于xml格式的协议,用于客户端和服务器之间的通信。
3》客户端GUI用什么做都可以,因为和服务端是基于协议的socket通信。
4》如果只是想把重点放在linux c的话,客户端可以做得简单点,只要能验证服务端的功能即可。如果是纯理论性的论文的话,客户端不做也可以。