网站大量收购独家精品文档,联系QQ:2885784924

操作系统课程设计63775.docVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统课程设计63775.doc

课设题目 Linux系统管理实践与进程通信实现 课设内容 1、Linux系统的熟悉与常用操作命令的掌握。 2、Linux环境下进程通信的实现。(实现m个生产者n个消费者的同步互斥问题,缓冲区大小k=5,m=2,n=2) 三、 Linux环境介绍 Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于计算机业余爱好者Linus Torvalds。 理解Linux文件系统标准 /:根目录,系统中所有的目录都是从根目录开始   /bin: 存放常用命令   /boot: 引导核心的程序目录   /dev: 外部设备名   /etc: (etcetera)系统管理所要的配置文件和子目录   /home:存放用户主目录的地方,一般是/home/用户名。其他目录有ftp、httpd、samba等   /lib:(library)系统基本的动态链接库   /lost+found   /opt :optional(可以选择的)   /proc::虚拟系统,是由系统初起时在内存中产生的   /root:超级用户默认的主目录;   /sbin:系统管理员使用的系统管理程序   /tmp:存放各程序执行时所产生的临时文件   /usr:占空间最大的目录,用户的很多应用程序和文件几乎全在这个目录中   /var:存放一些系统记录文件和配置文件 四、 常用命令介绍 (1)显示目录文件 ls (2)建新目录 mkdir (3)删除目录  rmdir (4) 改变工作目录位置 cd (5)显示当前所在目录pwd (6)查看文件(可以是二进制的)内容 cat (7)删除文件 rm (8)复制文件 cp (9)移动或更改文件、目录名称mv (10)编译文件gcc [options] [filenames] (11)执行文件 ./可执行文件名 (12)挂载U盘及删除 f-disk –l cd /mnt mkdir ** mount /dev/sdb1 /mnt/** cd /mnt/** ls umount /mnt/** 五、 程序设计思想 这个程序要实现两个生产者和两个消费者共享一个存储区,且存储区的大小为5,所以首先要建立一个共享存储区,还要设置一个互斥信号量,一个消费者同步信号量,一个生产者同步信号量。建立了共享存储区和信号量后,我们还需要写P、V操作的两个函数。最后在生产者和消费者的程序中实现对共享存储区的访问,生产或者消费一件产品的具体过程。 六、 程序流程 control程序: 生产者的程序流程: 消费者的程序流程: 七、 数据结构 该程序用了结构体来设置信号量 八、 源代码 Control程序: #include sys/types.h #include sys/ipc.h #include sys/shm.h #include sys/sem.h #include errno.h #include string.h #define SHMKEY 9075 /*共享存储区的键*/ #define SEMKEY_PRODUCER 9085 #define SEMKEY_CONSUMER 9086 #define SEMKEY_MUTEX 9087 /*信号量数组的键*//*注意:上面的键在系统中必须唯一*/ #define BUFF_LEN 5 /*缓冲区可以存放5个产品*/ #define PRODUCT_LEN 32 /*每个产品是一个字符串:=32字符*/ void set_sembuf_struct(struct sembuf *sem,int semnum, int semop,int semflg) { /* 设置信号量结构 */ sem-sem_num=semnum; sem-sem_op=semop; sem-sem_flg=semflg; } main() { char *addr, end; int shmid; int semid_produc

文档评论(0)

xinshengwencai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档