好文供参考!1/53操作系统实验报告实用5篇【引读】这篇优秀的文档“操作系统实验报告实用5篇”由网友上传分享,供您参考学习使用,希望此文对您有所帮助,喜欢的话就分享给下载吧!操作系统实验报告11.实习目的(一).通过综合实训进一步巩固、深化和扩展学生的专业技能。1.熟练掌握Linux操作系统的安装及基本配置。2.熟练掌握Linux系统管理。3.掌握Linux下用户和组的管理。4.掌握Linux下FTP服务器的管理。(二)训练和培养学生获取信息和处理信息的能力,充分培养和提高学生的动手能力,学会通过网站、书籍等方式收集所需的。资料。(三)培养学生运用所学的知识和技能解决Linux使用、管理过程中所遇到的实际问题的能力及其基本工作素质。(四)培养学生理论联系实际的工作作风、严肃认真的科学态度以及独立工作的能力,树立自信心。(五)训练和培养学上的团队协作精神与合作能力。好文供参考!2/532实习概况实习要求具体来讲,《linux操作系统》课程包括以下实习内容:(一)独立完成实训。(二)要求熟练掌握Linux操作系统的安装与基本配置。(三)熟练掌握Linux系统管理基本方法。(四)掌握Linux下用户和组的管理。。(五)掌握Linux下的FTP服务器的管理。实习时间20XX年12月16日至20XX年12月20日实习基本情况实习地点:四教学楼4112、4212、4312、4412实习环境:RedHat9软件实习内容:掌握linux操作系统硬件环境3实习内容linux安装Linux是一类Unix计算机操作系统的统称。Linux是以Unix操作系统为原型的多任务、多用户的系统。可运行于多种硬件平台:PC、Alpha、SPARC、POWERPC。今天实习的主要内容是学习了解Linux的安装过程;Linux登录和退出,熟悉Linux操作系统的图形界面好文供参考!3/53(一)Linux的安装过程1)VMware软件的安装因为我用的是机房的电脑,所以不用安装VMware软件。如果要安装,过程十分简单,下载完毕,直接“Next”即可完成安装。2)虚拟机的安装。打开VMware软件,单击“新建虚拟机”命令根据提示选择一种要安装的操作系统,一般选择典型设置,然后直接按“下一步”即可。需要注意的就是在分区的时候需按要求建立合适的分区,如下图所示。图3-1-1选择分区3)RedHatLinux安装首先单击“编辑虚拟机设置”,改写镜像为“linux9cd1”,然后返回初始界面。点击“启动该虚拟机”,便进入到软件的安装过程。开始是“欢迎使RedHatLinux”界面,然后经历语言选择、键盘配置、鼠标配置、磁盘分区设置、选择软件包组、安装软件包等操作后,然后是虚拟机安装完第一张盘后要进行第二张盘的安装,如图3-2经过老师的指点,按住“Ctrl+Alt”,将鼠标调出,双击右下方任务栏第一个按钮,依次选择第二、三镜像,继续安装,便安装成功了。如图3-3。操作系统实验报告2好文供参考!4/53一、实验目的本实验要求学生模拟作业调度的实现,用高级语言编写和调试一个或多个作业调度的模拟程序,了解作业调度在操作系统中的作用,以加深对作业调度算法的理解。二、实验内容和要求1、编写并调度一个多道程序系统的作业调度模拟程序。作业调度算法:采用基于先来先服务的调度算法。可以参考课本中的方法进行设计。对于多道程序系统,要假定系统中具有的各种资源及数量、调度作业时必须考虑到每个作业的资源要求。三、实验主要仪器设备和材料硬件环境:IBM-PC或兼容机软件环境:C语言编程环境四、实验原理及设计方案采用多道程序设计方法的操作系统,在系统中要经常保留多个运行的作业,以提高系统效率。作业调度从系统已接纳的暂存在输入井中的一批作业中挑选出若干个可运行的作业,并为这些被选中的作业分配所需的系统资源。对被选中运行的作业必须按照它们各自的作业说明书规定的步骤进行控制。采用先来先服务算法算法模拟设计作业调度程序。(1)、作业调度程序负责从输入井选择若干个作业进入主存,为它们分配必要的资源,当它们能够被进程调度选中时,好文供参考!5/53就可占用处理器运行。作业调度选择一个作业的必要条件是系统中现有的尚未分配的资源可满足该作业的资源要求。但有时系统中现有的尚未分配的资源既可满足某个作业的要求也可满足其它一些作业的'要求,那么,作业调度必须按一定的算法在这些作业中作出选择。先来先服务算法是按照作业进入输入井的先后次序来挑选作业,先进入输入井的作业优先被挑选,当系统中现有的尚未分配的资源不能满足先进入输入井的作业时,那么顺序挑选后面的作业。(2)假定某系统可供用户使用的主存空间共100k,并有5台磁带机。(3)流程图:五、结果过程及截图读取文件来初始化主存,磁带机的个数,并打印出来。初始时间是9:00:按Y运行5分钟:按Y运行5分钟:按Y运行5分钟:多次运行后最后状态:六、所遇困难的解决以及心得体会这个实验是花的时间最多的一个实验,第一次做的时候由于理解有些问题,所以做错了。之后重新做了一遍,收获还是很多的,遇到了很多的细节问题,例如像是时间化成浮点数和好文供参考!6/53浮点数化成时间等一些问题,从中也暴露了自己的编程能力欠缺,之后要多多的写程序。七、思考题1、写出每种算法的调度策略,最后比较各种算法的优缺点。答:先来先服务算法是根据作业的进入时间来排序,到达时间短的先运行,优点是实现简单,缺点是运行时间慢。短作业优先算法是根椐作业的估计运行时间来排序,估计运行时间短的先运行,优点是运行时间快,缺点是实现起来比较复杂。2、选择调度算法的依据是什么?答:如果作业要求的速度不高,而且作业比较小型,那就最好用先来先服务算法。如果作业要求的速度高,作业流程复杂,那就最好用短作业优先算法。八、源代码#include#include#include#include#definegetjcb()(JCB*)malloc(sizeof(JCB))typedefstruct{//资源的总量好文供参考!7/53intmemory;inttape;}RESOURCE;typedefstructJCB{//作业控制块charusername[20];//用户名charjobname[10];//作业名charstate;//作业状态charatime[5];//到达时间floatrtime;//运行时间RESOURCEresource;//资源数量structJCB*link;}JCB;RESOURCEsource={100,5};JCB*pjcb=getjcb();//作业链表头charnowtime[5];//现在时间,初始时间为9:00FILE*ignore(FILE*fp)//忽略文件中的空白符{if(feof(fp))returnfp;charch=fgetc(fp);while(!feof(fp)&&(ch==||ch==)){ch=fgetc(fp);}//if(!feof(fp))returnfp;fseek(fp,-1,SEEK_CUR);returnfp;}FILE*findFILE*fp,charc)//在文件中找到一个字符的位置(读取文件时用){if(feof(fp))returnfp;charch=fgetc(fp);while(!feof(fp)&&(ch!=c)){}ch=fgetc(fp);fseek(fp,-1,好文供参考!8/53SEEK_CUR);returnfp;}voiddestory()//释放链表所占的内存{JCB*p=pjcb-link;while(pjcb){free(pjcb);pjcb=p;if(p)p=p-link;}}floatstof(char*time)//把时间转化为浮点型数{floath=0,m=0;inti=0;while(time[i]!=:){h=h*10+time[i]-0;}i++;while(time[i]!=){m=m*10+time[i]-0;}i++;i++;return(h+m/60);}char*ftos(doubleftime)//把浮点型数值转化为时间{}floattimesub(char*time1,char*time2)//两个时间相减,得到时间差{}好文供参考!9/53voidprint()//打印输出{JCB*p=pjcb-link;printf(p-atime,p-rtime,p-,p-);}voidsendsource()//为作业分配资源{JCB*p;p=pjcb-link;while(p){//为到达的作业调度p=p-link;}if(p-state==W&&-p-=0&&-p-=0){}}p=p-link;p-state=R;-=p-;-=p-;printf(}voidinit()//初始化,读取文件中的作业信息{FILE*fp;JCB*p=NULL,*q=pjcb;if((fp=fopen(}}fp=ignore(fp);p-rtime=0;//不初始化则会发生错误,?????fscanf(fp,intcheckend()//检查是否所有的作业都已经运行完了{JCB*p=pjcb-link;while(p){if(p-state!=F){return0;}p=p-link;}return1;好文供参考!10/53}voidrun()//运行作业{if(checkend()){//检查是否所有的作业都已经运行完了printf(}}p=p-link;}p=pjcb-link;while(p){//计算到达的作业if(strcmp(nowtime,p-atime)==0&&p-state==N){p-state=W;printf(intmain(){charch;doubletime=;}doublestep=float(5)/60+;ftos();init();do{run();puts(操作系统实验报告3一、实验目的模拟文件系统实现的基本功能,了解文件系统的基本结构和文件的各种管理方法,加深理解文件系统的内部功能及内部实现。通过用高级语言编写和调试一个简单的文件系统,模拟好文供参考!11/53文件管理的工作过程,从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。二、实验内容和要求编程模拟一个简单的文件系统,实现文件系统的管理和控制功能。要求本文件系统采用两级目录,即设置主文件目录[MFD]和用户文件目录[UED]。另外,为打开文件设置运行文件目录[AFD]。设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件,并对文件必须设置保护措施。在用户程序中通过使用文件系统提供的Create、open、read、write、close、等文件命令,对文件进行操作三、实验主要仪器设备和材料硬件环境:IBM-PC或兼容机软件环境:C语言编程环境四、实验原理及设计方案1、实验原理运用二级目录思想来模拟文件系统。为每个用户建立一个单独的用户文件目录UFD。这些文件目录具有相似的结构,它由用户文件的文件块组成。此外,在系统再建立一个主文件目录MFD;在主文件目录中,每个用户目录都占有一个目录项,其目录项中包含文件名和指向该文件目录文件的指针。好文供参考!12/533、程序流程图五、结果过程及截图系统的使用简要说明:登陆:create命令新建文件file5Create失败命令删除文件Delete失败:open打开命令,及write命令来追加文件Read命令和close命令关闭对没打开的文件读写:六、所遇困难的解决以及心得体会本实验的代码长度的最常的,但是原理很简单,并且实验要求的是模拟,所以大大降低了实验的难度,在操作系统课中我们还有一个课程设计,也是文件管理系统,但是要比这个难很多,通过这个实验,我对文件管理系统的运行机制有了深入的了解,因为要做好这个实验必须要懂得文件管理系统的'架构,这也迫使我认认真真的研究了操作系统中关于文件管