操作系统课程设计报告格式江苏大学计算机学院课程设计报告课程名称 操作系统课程设计 实验学期 至 ,第 1 学期学生姓名 周勇 专业班级 计算机 0801 学 号 指导老师 詹 永 照 开 课 系 计算机科学系 操作系统课程组制《操作系统》课程设计报告实验题目:Linux 系统管理实践与进程控制、进程通信实现设计时间: -12-27 至 -01-02一、 实验目的与要求1、掌握基本的同步与互斥算法
2、学习使用 Linux 中基本的同步对象,掌握相关函数的使用方法
3、了解 Linux 中多进程的并发执行机制,实现进程的同步与互斥
4、查阅相关资料
5、熟悉各种命令、系统调用与有用程序
6、按给定功能设计相关程序
7、撰写课程设计报告
二、 实验内容桌上有一只盘子,盘子只能放 5 只水果,每次只能放一只水果或取出一只水果
爸爸专放苹果,妈妈专放橘子,儿子专等吃盘子中的橘子,女儿专等吃盘子中的苹果
分别用 P,V 操作实现她们的协作行为
三、 实验设备与环境实验设备:虚拟机运行平台:Linux 语言:c四、设计正文(包括分析与设计思路、各模块流程图以及带注释的 主要算法源码)设计思路:设计 4 个进程,分别是父亲进程,母亲进程,儿子进程,女儿进程
设置一个缓冲区,用来放水果,长度为 5
因此设置一个公有信号量 mutex,以限制她们对缓冲区的放和取,初值为 1
另外设置私有信号 S2,S1
以控制儿子是否能够取橘子吃,女儿是否能够取苹果吃
初值都为 0
还要设置一个信号量 empty,控制父亲跟母亲之间的同步,初值为 5
表示现在缓冲区有 5 个空位能够放
各模块流程图:Conntrol
c设置信号量结构开辟共享存储区释 放 缓 冲 区同 时 释 放 信号量创立信号量:1 个用于对缓冲区互斥,3 个用于父亲、母亲、儿子、女儿同步给信号量赋初值 y n y n n Father