操作系统概论实践作业.docx
- 文档编号:2004364
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:25
- 大小:23.44KB
操作系统概论实践作业.docx
《操作系统概论实践作业.docx》由会员分享,可在线阅读,更多相关《操作系统概论实践作业.docx(25页珍藏版)》请在冰豆网上搜索。
章节作业
第1章Shell命令操作实践作业
(1)在当前登录用户的主目录下创建子目录mysub,进入mysub目录。
答:
mkdirmysub &&cdmysub
(2)显示当前目录路径。
答:
pwd
(3)显示用户名和用户主目录
答:
echo$HOME$USER
(4)将用户主目录添加到可执行文件搜索路径
答:
exportPATH=$PATH:
$HOME
(5)显示添加后的可执行文件搜索路径
答:
echo$PATH
(6)列出主目录下所有以”.ba”或“.pr”打头的文件名及其属性并将其存入my1文件中
答:
ls-l$HOME/*.ba$HOME/*.pr>my1
(7)列出进程状态信息中含'tty'的进程,并将其存入my2文件中
答:
ps-ef|greptty >my2
(8)将my1和my2串联成一个新文件my3
答:
catmy1my2>my3
(9)将当前目录下的所有文件压缩归档到myf.tar.gz文件中
答:
tarcvfmyf.tar.gz *
(10)将my3移动到上级目录中
答:
mv my3../
(11)删除文件my1和my2
答:
rmmy1my2
(12)启动vi文本编辑程序
答:
vi
(13)在vi中输入(3)~(11)步的操作命令,并将其存入文件mysh
答:
按i进入编辑模式,按esc退出编辑模式,按:
输入命令:
savemysh,输入命令:
wq保存退出
(14)将vi放入后台运行
答:
vi&
(15)将文件mysh访问权限改为文件主可执行
答:
chmod+xmysh
(16)将文件mysh复制到上级目录中
答:
cp mysh../
(17)令vi返回前台,从中追加睡眠1分钟和返回前台的命令,从vi保存退出
答:
fg 后面追加sleep60&&fg
(18)以后台运行方式启动mysh
答:
mysh&
(19)找到执行睡眠命令的的进程号
答:
ps-fu$USER|grep mysh|awk'{print$2}'
(20)用发送信号命令向睡眠命令进程号发送终止信号,让mysh停止执行。
答:
kill-15 pid
第2章与处理器管理有关的系统功能调用实践作业
参照“强化实践能力培养课程内容”中“进程创建和执行的实践能力培养考核选例”和“线程的创建及线程间管道通信实践能力培养考核选例”程序,编写一个能建立两个子进程的程序(父进程),让这三个进程并发执行完成以下二元函数的计算:
其中由父进程完成:
f(x,y)=f(x)+f(y)
由子进程1完成阶乘计算:
f(x)=f(x-1)*x(x>1)
f(x)=1 (x=1)
由子进程2完成非波纳奇序列:
f(y)=f(y-1)+f(y-2) (y>2)
f(y)=1 (y=1,2)
答:
#include
intfx(intx);
intfy(inty);
voidmain()
{
intx,y;
printf("pleaseinputx:
");
scanf("%d",&x);
intffx,ffy;
ffx=fx(x);
printf("pleaseinputy:
");
scanf("%d",&y);
ffy=fy(y);
intz;
z=ffx+ffy;
printf("%d",z);
}
intfx(intx)
{
intffx;
if(x==1)
ffx=1;
else
ffx=fx(x-1)*x;
returnffx;
}
intfy(inty)
{
intffy;
if(y==1||y==2)
ffy=1;
elseif(y>2)
ffy=fy(y-1)+fy(y-2);
returnffy;
}
第3章与存储管理有关的操作系统算法实践作业
参照“强化实践能力培养课程内容”中“内存页面置换算法实践能力培养考核选例”程序,编写一个能演示LRU内存页面置换算法的程序,它可根据给定的一组页面引用序列号和实存页数,显示LRU置换页的过程,能统计和报告LRU置换算法情况下依次淘汰的页号、缺页次数(页错误数)和缺页率。
答:
#include"stdio.h"
#include"stdlib.h"
voidCopyL(intSour[],intDist[],intx);//数组Sour复制到数组Dist,复制到x个数
voidSetDI(intDiscL[]); //随机生成磁道数
voidPrint(intPri[],intx); //打印输出数组Pri
voidDelInq(intSour[],intx,inty); //数组Sour把x位置的数删除,并把y前面的数向前移动,y后的数保持不变(即会出现2个y)
voidFCFS(intHan,intDiscL[]); //先来先服务算法(FCFS)
voidSSTF(intHan,intDiscL[]); //最短寻道时间优先算法(SSTF)
intSCAN(intHan,intDiscL[],intx,inty); //扫描算法(SCAN)
voidCSCAN(intHan,intDiscL[]); //循环扫描算法(CSCAN)
//voidN_Step_SCAN(intHan1,intDiscL[]); //N步扫描算法(NStepScan)
voidPaiXu(); //寻道长度由低到高排序
voidPri();
intNAll=0;
intBest[5][2];//用作寻道长度由低到高排序时存放的数组
intLimit=0;//输入寻找的范围磁道数i
intJage;
floatAver=0;
intmain()
{
inti;
intDiscLine[10]; //声明准备要生成的随机磁道号的数组
intHand; //磁道数
intCon=1;
intn;
while(Con==1)
{
Jage=0;
printf("\n请输入初始的磁道数(0 "); scanf("%d",&Hand); printf("\n+输入寻找的范围: "); scanf("%d",&Limit); if(Limit>65536){ printf("超出范围! "); } else{ printf(" *********************************************\n"); printf(" ****************磁盘调度算法******************\n"); printf(" *********************************************\n"); printf(" * 1.先来先服务算法(FCFS) *\n"); 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);//先来先服务算法(FCFS) break; case2: SetDI(DiscLine); //随机生成磁道数 SSTF(Hand,DiscLine);//最短寻道时间优先算法(SSTF) break; case3: SetDI(DiscLine); //随机生成磁道数 SCAN(Hand,DiscLine,0,9); //扫描算法(SCAN) break; case4: SetDI(DiscLine); //随机生成磁道数 CSCAN(Hand,DiscLine);//循环扫描算法(CSCAN) break; case5: SetDI(DiscLine); //随机生成磁道数 SetDI(DiscLine); //随机生成磁道数 FCFS(Hand,DiscLine);//先来先服务算法(FCFS) SSTF(Hand,DiscLine);//最短寻道时间优先算法(SSTF) SCAN(Hand,DiscLine,0,9);//扫描算法(SCAN) CSCAN(Hand,DiscLine); //循环扫描算法(CSCAN) PaiXu(); //寻道长度由低到高排序 printf("\n\n+寻道长度由低到高排序: "); for(i=0;i<5;i++) { printf("%4d",Best[i][0]); } break; } printf("\n\n+是否继续(按0结束,按1继续)? "); scanf("%5d",&Con); } } } //数组Sour复制到数组Dist,复制到x个数 voidCopyL(intSour[],intDist[],intx) { inti; for(i=0;i<=x;i++) { Dist[i]=Sour[i]; } } //打印输出数组Pri voidPrint(intPri[],intx) { inti; for(i=0;i<=x;i++) { printf("%5d",Pri[i]); } } //随机生成磁道数 voidSetDI(intDiscL[]) { inti; for(i=0;i<=9;i++) { DiscL[i]=rand()%Limit;//随机生成10个磁道号 } printf("+需要寻找的磁道号: "); Print(DiscL,9); //输出随机生成的磁道号 printf("\n"); } //数组Sour把x位置的数删除,并把y前面的数向前移动,y后的数保持不变(即会出现2个y) voidDelInq(intSour[],
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 概论 实践 作业
![提示](https://static.bdocx.com/images/bang_tan.gif)