欢迎来到天天文库
浏览记录
ID:56263544
大小:40.00 KB
页数:17页
时间:2020-06-04
《计算机操作系统课程实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《计算机操作系统》实验设计设计目的1、增强学生对计算机操作系统基本原理、基本理论、基本算法的理解2、提高和培养学生的动手能力设计要求1、每人至少选作1题,多做不限。2、每人单独完成,可以讨论,但每人的设计内容不得完全相同,抄袭或有2人/多人设计完全一样者,不能通过。3、设计完成后,应上交课程设计文档,文档格式应是学校课程设计的标准格式,所有学生的封面大小、格式也必须一样4、同时上交设计的软盘(或以班刻录光盘)设计题目设计类²在i386下写一个程序,从实地址模式进入保护虚地址模式,进而启动分页机制平台:语言
2、:汇编、C²DOS下中断程序设计设计热键、中断接管程序等平台:DOS语言:ASM、TurboC、Pascal等²DOS下的菜单、图形界面程序设计同1²DOS、下的I/O设备处理程序,如打印机驱动程序、字符设备、块设备、网络设备、USB设备驱动程序平台:DOS语言:ASMTC²多进程处理程序,进程创建、通信(管道、信号量、共享内存、消息队列等、mmap)、互斥平台:Windows、Linux语言:同上²多线程程序线程创建、同步、互斥平台:Windows、Linux语言:VCLINUX-GCCJAVA²Win
3、dows下设备驱动程序设计(块设备、字符设备、网络设备、USB设备)²Linux下设备驱动程序设计(块设备、字符设备、网络设备、USB设备)²Linux调度实验与参数调整如改变时间片、优先级等²Linux操作系统内存管理机制实验²Linux文件管理实验,并增加一个系统调用²Linux系统调用过程实验,并增加一个系统调用如跟综一个系统调用算法模拟类²调度算法的模拟模拟各种调度算法,并进行调度性能分析²银行家算法模拟²内存管理算法模拟²页面置换算法模拟²模拟分段、分页情况下的地址变换#include4、ream.h> #include #include #defineFalse0 #defineTrue1 intMax[100][100]={0};//各进程所需各类资源的最大需求 intAvaliable[100]={0};//系统可用资源 charname[100]={0};//资源的名称 intAllocation[100][100]={0};//系统已分配资源 intNeed[100][100]={0};//还需要资源 intRequest5、[100]={0};//请求资源向量 inttemp[100]={0};//存放安全序列 intWork[100]={0};//存放系统可提供资源 intM=100;//作业的最大数为100 intN=100;//资源的最大数为100 voidshowdata()//显示资源矩阵 { inti,j; cout<<"系统目前可用的资源[Avaliable]:"<6、;j7、][j]<<""; cout<<""; for(j=0;j8、location[i][j]+Request[j]; Need[i][j]=Need[i][j]-Request[j]; } return1; } intsafe()//安全性算法 { inti,k=0,m,apply,Finish[100]={0}; intj; intflag=0; Work[0]=Avaliable[0]; Work[1]=Avaliable[1]; Work[2]=Avaliab
4、ream.h> #include #include #defineFalse0 #defineTrue1 intMax[100][100]={0};//各进程所需各类资源的最大需求 intAvaliable[100]={0};//系统可用资源 charname[100]={0};//资源的名称 intAllocation[100][100]={0};//系统已分配资源 intNeed[100][100]={0};//还需要资源 intRequest
5、[100]={0};//请求资源向量 inttemp[100]={0};//存放安全序列 intWork[100]={0};//存放系统可提供资源 intM=100;//作业的最大数为100 intN=100;//资源的最大数为100 voidshowdata()//显示资源矩阵 { inti,j; cout<<"系统目前可用的资源[Avaliable]:"<6、;j7、][j]<<""; cout<<""; for(j=0;j8、location[i][j]+Request[j]; Need[i][j]=Need[i][j]-Request[j]; } return1; } intsafe()//安全性算法 { inti,k=0,m,apply,Finish[100]={0}; intj; intflag=0; Work[0]=Avaliable[0]; Work[1]=Avaliable[1]; Work[2]=Avaliab
6、;j7、][j]<<""; cout<<""; for(j=0;j8、location[i][j]+Request[j]; Need[i][j]=Need[i][j]-Request[j]; } return1; } intsafe()//安全性算法 { inti,k=0,m,apply,Finish[100]={0}; intj; intflag=0; Work[0]=Avaliable[0]; Work[1]=Avaliable[1]; Work[2]=Avaliab
7、][j]<<""; cout<<""; for(j=0;j8、location[i][j]+Request[j]; Need[i][j]=Need[i][j]-Request[j]; } return1; } intsafe()//安全性算法 { inti,k=0,m,apply,Finish[100]={0}; intj; intflag=0; Work[0]=Avaliable[0]; Work[1]=Avaliable[1]; Work[2]=Avaliab
8、location[i][j]+Request[j]; Need[i][j]=Need[i][j]-Request[j]; } return1; } intsafe()//安全性算法 { inti,k=0,m,apply,Finish[100]={0}; intj; intflag=0; Work[0]=Avaliable[0]; Work[1]=Avaliable[1]; Work[2]=Avaliab
此文档下载收益归作者所有