内容发布更新时间 : 2024/12/24 11:32:44星期一 下面是文章的全部内容请认真阅读。
无名管道通信 发送者进程(消息队列通信) 接收者进程(消息队列) 主程序(消息队列通信) 共享内存思路 四、实验结果(程序截图) 消息队列 Shell命令 五、思考与探索 当时卡壳的地方 (1)我们在设计程序时,最卡壳的地方在共享内存来实现通信时,能不能用无名信号量,最后向老师求助才知道,用有名信号量。相对于无名信号量来说,有名信号量通过IPC名字进行进程间的同步,其特点是把信号量保存在文件中,这决定了其用途非常广泛:既可用于线程,也可用于相关进程和不相关进程。 (2)在父子进程的通信里面,无名管道自带阻塞功能,但他的互斥与同步需要我们自己去实现,经过多次查阅资料和测试,我们最后艰难地选择了System V信号量,并自己写函数来实现PV操作 (3)在通过消息队列来实现通信的程序中,我们遇到的问题是,程序莫明其妙的阻塞,但是加入print来测试则又可以正常运行,后来才意识到,这就是进程的异步性的体现哇。最后我们找到死锁原因,并使用一个资源信号量来解决sender 发送的over 信息被自己给接收的问题。(一开始我们还把这个资源信号量当作了互斥信号量,在程序验收时老师告诉我们,只能有一个互斥信号量) 实验序号 实验时间 3 16年1月 实验名称 实验地点 一、题目说明 通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部数据结构、功能以及实现过程的理解。 文件系统 1教南1楼 二、设计方案(系统框架)