4100225-操作系统课程设计(精选五篇).docx 立即下载
2025-08-25
约4.5万字
约79页
0
43KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

4100225-操作系统课程设计(精选五篇).docx

4100225-操作系统课程设计(精选五篇).docx

预览

免费试读已结束,剩余 74 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

4100225-操作系统课程设计(精选五篇)

第一篇:4100225-操作系统课程设计计算机与通信工程学院计算机操作系统课程设计学号:姓名:提交日期:成绩:4100225李彤2013-01-10第一部分:基于互斥量mutexes的线程互斥一、设计任务在Linux环境下实现,一个线程从终端接收用户的输入,另一个线程显示该字符串并清空用于输入的数组,用互斥量mutexes保证,在同一时刻只能有一个线程存取该字符串数组。二、源代码1.Linux代码#include#include#include#includesem_s;intdata;voidwrite_data(int*a){data=*a;printf(“writedata1”);sem_post(&s);}voidread_data(void){sem_wait(&s);intproduct;product=data[0]*data[1];printf(“输出:%d*%d=%dn”,data);}intmain(void){sem_init(&s,0,0);inta=1;pthread_create(&t1,NULL,(void*)operate,NULL);pthread_create(&t2,NULL,(void*)operate,&a);pthread_join(t1,NULL);pthread_join(t2,NULL);}2.Windows代码#include#includeusingnamespacestd;stringa;ints=1;voidwrite(){if(s=1)s=s-1,cout>a,s=s+1;elsecoutvoidread(){if(s=1){s=s-1;couts=s+1;}elsecoutsystem(“pause”);}voidmain(){intchoose;coutcin>>choose;if(choose==3)coutwrite();elseif(choose==2)read();main();}三、运行结果第二部分:进程管理器一、设计任务在Linux或Window系统环境下,实现一个系统进程管理器,能够显示当前系统的活动进程信息(进程名、用户、优先级、内存使用等),并能结束或创建特定进程。可参考Window下“任务管理器”功能。二、源代码#include#include#include#defineNULL0intshumu=0;//进程的内容结构体structnode{inta;charch;};//进程PCB结构体structjincheng{intpid;intyouxian;floatluntime;floatzhantime;charzhuangtai;//a表示执行,b表示动态就绪node*neirong;structjincheng*next;};structjincheng*neijin,*neizhi,*p,*q;//创建新进程intcreat(){inti;if(shumu>20){printf(“内存已满请先换出进程!n”);i=-1;returni;}else{if(neijin==NULL)//如果就绪队列中没有进程的话{p=(jincheng*)malloc(sizeof(jincheng));printf(“请输入新进程的名字(数字):n”);scanf(“%d”,&p->pid);printf(“请输入新进程的优先级:(数字)n”);scanf(“%d”,&p->youxian);p->luntime=3.5;p->zhantime=3;p->neirong=(node*)malloc(sizeof(node));p->neirong=NULL;p->zhuangtai='b';//新建进程的状态设置为“就绪”p->next=NULL;neijin=p;shumu++;i=1;}else//如果就绪队列不是空队列{p=neijin;while(p->next!=NULL){p=p->next;//p一直指向就绪队列的队尾}q=(jincheng*)malloc(sizeof(jincheng));q->next=p->next;p->next=q;//在就绪队列的队尾加入新建的进程printf(“请输入新进程的名字(数字):n”);scanf(“%d”,&q->pid);printf(“请输入新进程的优先级:(数字)n”);scanf(“%d”,&q->youxian);q->luntime=3.5;q->zhantime=3;q->neirong=(node*)malloc(sizeof(node));q->neirong=NULL;q->zhuangtai='b';//新建进程的状态设置
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

4100225-操作系统课程设计(精选五篇)

文档大小:43KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用