欢迎来到天天文库
浏览记录
ID:15282627
大小:103.50 KB
页数:49页
时间:2018-08-02
《操作系统课程设计试验报告格式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、四川大学操作系统课程设计报告学院:软件学院专业:软件工程专业年级:07级组编号:第X组组成员:乔心轲(姓名)0743111340(学号)何赵平(姓名)XXXXXXXX(学号)崔蓉(姓名)XXXXXXXX(学号)张雯(姓名)XXXXXXXX(学号)康小芳(姓名)XXXXXXXX(学号)提交时间:2009年月日指导教师评阅意见:.....指导教师评阅成绩:XXX1:XXX1:XXX1:XXX1:XXX1:实验项目一项目名称:实验目的:实验时间:人员分工:实验环境:实验环境的搭建过程、选用的操作系统、机器配置、
2、编译器等。实验内容:对实践过程的详细说明,针对已经满足的实践要求,采用了何种算法或思想,对Nachos平台的哪些代码进行了什么样的修改。实验结果:对实践要求的满足程度,代码是否编写完成,是否调试通过,能否正常运行,本项目的要求中共满足了哪几项。参考文献:实验项目二实验项目名称:Nachos中的线程管理实验项目目的:1.最多能够同时存在128个用户线程2.改变为遵循“优先级调度”的抢占式调度参与人员及分工:乔心轲,何赵平,康小芳完成主要代码编写;崔蓉,张文进行程序的测试及维护。实验环境:nNachos:No
3、tAnotherCompletelyHeuristicOperatingSystemnLinuxnGccnWindows实验内容:1.对于最多能够同时存在128个用户线程,我们在Thread.cc中声明了一个static变量numOfThreads;具体代码如下:staticintnumOfThreads=0;//thecountofthethreads在Thread的构造函数中对其值进行加1;即每创建一个线程时,都会把numOfThreads加1;++numOfThreads;并在SimpleThrea
4、d()中进行了如下修改,完成了最多能够同时存在128个用户线程。staticvoidSimpleThread(intwhich){if(numOfThreads<128){for(inti=0;i<(kernel->currentThread->Time())-(kernel->currentThread->executeTime)+2;i++){cout<<"***thread"<currentThread->executeTime<<"times.
5、n";cout<<"priority"<currentThread->Priority()<<"";kernel->currentThread->Yield();}}else{if(count==0)printf("Thenumberofthethreadscannotbelargerthan128!");kernel->currentThread->Yield();count++;}}为了实现遵循“优先级调度”的抢占式调度策略,首先为Thread增加了三个变量:executeT
6、ime;time;priority在Thread.h中对它们的声明:public:Thread(char*debugName);//initializeaThread~Thread();//deallocateaThread//NOTE--threadbeingdeleted//mustnotberunningwhendelete//iscalledintexecuteTime;//Thetimethatthisthreadhasexecuted//basicthreadoperationvoidsetE
7、xTime(intexT);//settheexecuteTimeofthethreadtoexTintTime();//returnthetimethatthethreadshouldbeservedvoidsetTime(intt);//setthetimethatthethreadshouldbeservedtotvoidsetPriority(intpri);//setthepriorityofthethreadtopriintPriority();//returnthepriorityofthe
8、threadprivate://someoftheprivatedataforthisclassislistedaboveinttime;//thetimethatthethreadshouldbeservedintpriority;//thepriorityofeachthread在Thread.cc中的实现:Thread::Thread(char*threadName){name=threadName;stackTop=N
此文档下载收益归作者所有