操作系统概论_第1页
操作系统概论_第2页
操作系统概论_第3页
免费预览已结束,剩余14页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、在当前登录用户的主目录下创建子目录,进入 mysub 目录。答:mkdir mysub& cd mysub答:pwd答:echo $HOME $USER答:export PATH=$PATH:$HOME答:echo $PATH.pr”打头的文件名及其属性并将其存入my1 文件中答:ls -l $HOME/*.ba $HOME/*.pr my1my2 文件中答:ps -ef | grep tty my2my1my2 my3答:cat my1 my2 my3将当前目录下的所有文件压缩归档到myf.tar.gz文件中答:tar cvf myf.tar.gz*my3 答:mvmy3 ./my1my

2、2答:rm my1 my2vi 答:vivi (3) mysh答:i esc :save :wq 保存退出(14)vi 放入后台运行答:vi &mysh 访问权限改为文件主可执行答:chmod +x myshmysh 答:cpmysh ./vi 1 分钟和返回前台的命令,从vi 保存退出答:fgsleep 60 & fgmysh答:mysh &找到执行睡眠命令的的进程号答:ps -fu $USER | grepmysh | awk print $2(20)用发送信号命令向睡眠命令进程号发送终止信号,让mysh 停止执行。答:kill -15pid二、参照“强化实践能力培养课程内容”中“进程创建

3、和执行的实践能力培养考核选例”和“线程的创建及线程间管道通信实践能力培养考核选例”程序,编写一个能建立两个子进程的程序(父进程),让这三个进程并发执行完成以下二元函数的计算:其中由父进程完成:f(x,y) = f(x) + f(y)由子进程 1 完成阶乘计算:由子进程 2 完成非波纳奇序列:f(y)=1(y=1,2)f(x)f(y)=f(x-1)f(y-1)*+x(x 1)f(x)=1(x=1)f(y-2) (y2)答:#includeint fx(int x);int fy(int y);void main()int x,y;printf(please input x:); scanf(%d

4、,&x);int ffx,ffy; ffx=fx(x); printf(please input y:); scanf(%d,&y); ffy=fy(y);int z; z=ffx+ffy; int fx(int x)int ffx;if(x=1)elseffx=fx(x-1)*x; return ffx;int fy(int y)var cpro_psid =u2572954; var cpro_pswidth =966;var cpro_psheight =120; int ffy;if(y=1|y=2)ffy=1;else if(y2)ffy=fy(y-1)+fy(y-2);return

5、 ffy;LRU 的一组页面引用序列号和实存页数,显示LRU置换算法情况下依次淘汰的页号、缺页次数(页错误数)和缺页率。答:#includestdio.h #includestdlib.hvoidCopyL(intSour,intDist,intx);voidSetDI(intDiscL);voidPrint(intPri,intvoidDelInq(intSour,intx,inty);voidFCFS(intvoidSSTF(intintSCAN(intHan,intDiscL,intx,intvoidCSCAN(intHan,intDiscL);voidN_Step_SCAN(intHa

6、n1,intDiscL);voidvoidPri();intNAll=0;intBest52;intLimit=0;intJage;floatintmain()inti;intintHand;intCon=1;intn; while(Con=1)Jage=0;printf(n请输入初始的磁道数scanf(%d,&Hand);printf(n+输入寻找的范围:); scanf(%d,&Limit);if(Limit65536)printf(超出范围!); Elseprintf(*n); printf(*磁盘调度算法*n);printf(*n);rintf(*1.先来先服务算法(FCFS)*n);

7、printf(*2.最短寻道时间优先算法(SSTF)*n); printf(*3.扫描算法(SCAN)*n);printf(*4.循环扫描算法(CSCAN)*n);printf(*n); scanf(%d,&n);if(n=0)exit(0);printf(n); switch(n) case1:SetDI(DiscLine); FCFS(Hand,DiscLine); break;case2: SetDI(DiscLine); STF(Hand,DiscLine); case3: SetDI(DiscLine);SCAN(Hand,DiscLine,0,9);(SCAN)break; cas

8、e4: SetDI(DiscLine); CSCAN(Hand,DiscLine); break;case5: SetDI(DiscLine); SetDI(DiscLine); FCFS(Hand,DiscLine); SCAN(Hand,DiscLine,0,9); CSCAN(Hand,DiscLine); PaiXu();printf(nn+for(i=0;i5;i+)printf(%4d,Besti0);break;printf(nn+是否继续(按0结束,按1继续scanf(%5d,&Con);voidCopyL(intSour,intDist,intx)for(i=0;i=x;i+

9、)inti;Disti=Souri;voidPrint(intPri,intx)inti; for(i=0;i=x;i+)printf(%5d,Prii);voidSetDI(intDiscL)inti;for(i=0;i=9;i+)DiscLi=rand()%Limit;printf(+Print(DiscL,9);printf(n);voidDelInq(intSour,intx,inty)inti; for(i=x;iy;i+)Souri=Souri+1;x+;voidFCFS(intHan,intDiscL)intRLine10; intAll=0;k=9;CopyL(DiscL,RL

10、ine,9);printf(n+FCFSAll=Han-RLine0;for(i=0;i=9;i+) x+;voidFCFS(intHan,intDiscL)intRLine10; intAll=0;k=9;CopyL(DiscL,RLine,9);printf(nFCFSAll=Han-RLine0; for(i=0;i=9;i+)Temp=RLine0-RLine1; if(Temp0)Temp=(-Temp); printf(%5d,RLine0);All=Temp+All; DelInq(RLine,0,k); k-;BestJage1=All; BestJage0=1; Jage+;

11、Aver=(float)All)/10;printf(n+移 动 磁 道 数 :,All); printf(n+平均寻道长度:*%0.2f*voidSSTF(intHan,intDiscL)inti,j,k,h,All;intTemp;intintMin;All=0; k=9;CopyL(DiscL,RLine,9);printf(n+SSTFfor(i=0;i=9;i+) Min=64000;for(j=0;jHan)Temp=RLinej-Han; elseTemp=Han-RLinej;if(TempMin)Min=Temp; h=j;All=All+Min; printf(%5d,RL

12、ineh); Han=RLineh; DelInq(RLine,h,k);k-;BestJage1=All; Jage+;Aver=(float)All)/10;printf(n+移动磁道数printf(n+平均寻道长度:*%0.2f*,Aver);intSCAN(intHan,intDiscL,intx,inty)intj,n,k,h,m,All; intt=0;intintMin;intintOrder; Order=1;k=y; m=2;All=0; CopyL(DiscL,RLine,9);printf(n+SCANMin=64000;for(j=x;jHan) Temp=RLinej

13、-Han; elseTemp=Han-RLinej; if(Temp=Han)Order=0;t=1;Han=RLineh; DelInq(RLine,h,k); k-;while(m0)if(Order=1)for(j=x;j=y;j+)h=-1;Min=64000;for(n=x;n=k;n+)if(RLinen=Han)Temp=Han-RLinen; if(TempMin)Min=Temp;h=n;if(h!=-1)All=All+Min; printf(%5d,RLineh); Han=RLineh; DelInq(RLine,h,k); Order=0;m-;Elsek-;for(

14、j=x;j=y;j+)h=-1;Min=64000;for(n=x;n=Han)Temp=RLinen-Han; if(Temp5)BestJage1=All; BestJage0=3; Jage+; Aver=(float)All)/10;printf(n+移 动 磁 道 数 :,All); printf(n+平均寻道长度:*%0.2f*if(t=1)printf(n+磁道由内向外移动elseprintf(n+磁道由外向内移动); return(Han);voidCSCAN(intHan,intDiscL)intintRLine10;intMin; intm=2;k=9;All=0;Last

15、=Han;CopyL(DiscL,RLine,9);RLineprintf(n+CSCANwhile(k=0)for(j=0;j=9;j+)h=-1;Min=64000;for(n=0;n=Han)Temp=RLinen-Han; if(Temp=0)tmp=RLine0; for(i=0;iRLinei)tmp=RLinei;Han=tmp;Temp=Last-tmp;All=All+Temp;BestJage1=All; BestJage0=4; Jage+; Aver=(float)All)/10;printf(n+移 动 磁 道 数 :,All); printf(n+平均寻道长度:*%

16、0.2f*voidPaiXu()inti,j,Temp; for(i=0;i5;i+)for(j=0;jBestj+11)Temp=Bestj+11; Bestj+11=Bestj1; Bestj1=Temp; Temp=Bestj+10; Bestj+10=Bestj0; Bestj0=Temp;四、第4章与文件管理有关的系统功能调用实践作业3202010仅允许文件主)按学号读出一条记录,按学号升序列出所有记录.(提示:可建立一个学生成绩表文件和一个以学号为主键的索引文件。)答:#include#include#include#defineLENsizeof(structscore)#def

17、ine#includetypedefstructscorecharno20; charnumber20; charname20; chargrades10; structscorescore; intscore*load(score*head)score*p1,*p2; intm=0; charfilepn10; FILE*fp;printf(请输入文件路径机文件名n); scanf(%s,filepn); if(fp=fopen(filepn,r+)=NULL)printf(不能打开文件n); exit(0);p1=(score*)malloc(LEN); head=NULL; while(

18、!feof(fp)n=n+1; if(n=1)head=p1;elsep2-next=p1; p2=p1;p1=(score*)malloc(LEN);fscanf(fp,%s%s%s%s,p1-no,p1-number,p1-name,p1-grades);p2-next=p1;p1-next=NULL;n+;fclose(fp);returnhead;score*p1,*p2,*p3; p3=(score*)malloc(LEN); printf(输入学生信息:n);printf(记录号学号姓名成绩n);scanf(%s%s%sp1=head;if(head=NULL)p3-next=NU

19、LL; elseif(p1-next=NULL)p1-next=p3; p3-next=NULL;Elsewhile(p1-next!=NULL)p2=p1;p1=p1-next;p1-next=p3; p3-next=NULL;n+;returnhead;五、参“强化实践能力培养课程内容“磁盘移臂调度算法实践能力培养考核选例”程序编写一个能演示“最短寻找时间优先算法Sstf”的程序s该程序能分析“即能统计和报告“最短寻找时间优先算法下磁头响应请求的顺序移臂的总量和掉头的次数。答:#includestdio.h#includevoidCopyL(intSour,intDist,intx); v

20、oidSetDI(intDiscL);voidPrint(intPri,intx);voidDelInq(intSour,intx,intvoidSSTF(intHan,intDiscL);voidvoidPri(); intNAll=0;intintLimit=0; intJage;floatintmain()inti;intInt Hand;intCon=1; intn; while(Con=1)Jage=0;printf(n请输入初始的磁道数scanf(%d,&Hand);printf(n+:);scanf(%d,&Limit); if(Limit65536)printf(超出范围!);

21、else printf(*n); printf(*磁盘调度算法printf(*n); printf(*2. 最 短 寻 道 时 间 优 先 算 法 (SSTF)*n); printf(*n); scanf(%d,&n);if(n=0)exit(0);printf(n); switch(n)case2:SetDI(DiscLine); SSTF(Hand,DiscLine); break;printf(nn+是否继续(按0结束,按1继续scanf(%5d,&Con);voidCopyL(intSour,intDistinti; for(i=0;i=x;i+)Disti=Souri;Privoid

22、Print(intPri,intx)inti; for(i=0; i=x; i+;,intx)printf(%5d,Prii);voidSetDI(intinti;for(i=0;i=9;i+)DiscLi=rand()%Limit;printf(+print(DiscL,9);printf(n);voidDelInq(intSour,intx,inty)inti; for(i=x;iy;i+)Souri=Souri+1;x+;voidSSTF(intHan,intDiscL)intintTemp;intintMin; All=0;k=9;CopyL(DiscL,RLine,9);printf(n+SSTFfor(i=0;i=9;i+)Min=64000;for(j=0;jHan)Temp=RLinej-Han; elseTemp=Han-RLinej; i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论