操作系统实验报告模板

操作系统实验报告模板

ID:6349485

大小:242.00 KB

页数:11页

时间:2018-01-11

操作系统实验报告模板_第1页
操作系统实验报告模板_第2页
操作系统实验报告模板_第3页
操作系统实验报告模板_第4页
操作系统实验报告模板_第5页
资源描述:

《操作系统实验报告模板》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、操作系统实验报告实验1分析实验结果参照实验指导书回答下面的问题:5:6:从实验中得到了两次不同的结果原因是程序采用了多线程的写法,两个线程同时抢占CPU资源,CPU并发处理该程序。10:11:CPU并发处理程序第一次先运行func2()中的x=x+2再输出x=2接着执行func2()中的y=3,然后执行func1()x=3y=y+x,输出y所以结果为x=2y=7第二次先运行func1()中的x=4y=4再运行func2()中y=3x=x+2得到x=6y=315:CPU并发执行程序使得在完成整个循环之前输出x的值19:通过控制turn变量使得程序先完成func2()的完整循环再完

2、成func1()的完整循环最后得到结果10023:由于信号量s的出现通过wai(s)和signal(s)语句避免了在未完成循环前推出的情况实验2分析实验结果参照实验指导书回答下面的问题:5:11:发生死锁交换p()函数中wait(e)与wait(s)的顺序之后消费者进入缓冲池后没能够出去,一直占用缓冲池,使得生产者无法进入缓冲池生产.使得进程陷入死锁不剥夺.17:发生死锁:c()函数中wait(n)与wait(s)的顺序后.会导致生产者处于一直生产的状态.当缓冲池满后,生产者在缓冲池中,出不去,消费者也进不了缓冲池.仅使进程处于请求保持状态,还有不剥夺,环路等待状态.实验3(该

3、实验为期中考试项目,按照期中考试要求提交报告)实验4问题1:描述内存控制块结构;描述内存控制块与内存分区和内存块的关系¦只有当把内存控制块与分区关联起来之后,系统才能对其进行相应的管理和控制。它才是一个真正的动态内存区。问题2:应用程序的源代码(请对内存操作给出注释)#include"includes.h"#defineTASK_STK_SIZE512//任务堆栈长度OS_STKStartTaskStk[TASK_STK_SIZE];OS_STKMyTaskStk[TASK_STK_SIZE];OS_STKYouTaskStk[TASK_STK_SIZE];OS_STKHerT

4、askStk[TASK_STK_SIZE];INT16Skey;//用于退出uCOS_II的键char*s;char*s1="MyTask--ZYS";char*s2="YouTask-ZYS";char*s3="HerTask-ZYS";INT8Uerr;INT8Uy=0;//字符显示位置INT8UTimes=0;OS_MEM*IntBuffer;//定义内存控制块指针INT8UIntPart[8][6];//划分分区及内存块INT8U*IntBlkPtr;OS_MEM_DATAMemInfo;voidStartTask(void*pdata);voidMyTask(void

5、*pdata);voidYouTask(void*pdata);voidHerTask(void*pdata);/************************主函数******************************************/voidmain(void){OSInit();//初始化uCOS_IIPC_DOSSaveReturn();//保存Dos环境PC_VectSet(uCOS,OSCtxSw);//安装uCOS_II中断IntBuffer=OSMemCreate(IntPart,8,6,&err);OSTaskCreate(StartTask,

6、(void*)0,&StartTaskStk[TASK_STK_SIZE-1],0);OSStart();}/****************************任务StartTask*************************************************/voidStartTask(void*pdata){#ifOS_CRITICAL_METHOD==3OS_CPU_SRcpu_sr;#endifpdata=pdata;OS_ENTER_CRITICAL();PC_VectSet(0x08,OSTickISR);PC_SetTickRate(OS

7、_TICKS_PER_SEC);OS_EXIT_CRITICAL();OSStatInit();OSTaskCreate(MyTask,(void*)0,&MyTaskStk[TASK_STK_SIZE-1],3);OSTaskCreate(YouTask,(void*)0,&YouTaskStk[TASK_STK_SIZE-1],4);OSTaskCreate(HerTask,(void*)0,&HerTaskStk[TASK_STK_SIZE-1],5);//按ESC退出ucosfor(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。