操作系统概论.docx

上传人:scccc 文档编号:13123536 上传时间:2021-12-15 格式:DOCX 页数:14 大小:20.50KB
返回 下载 相关 举报
操作系统概论.docx_第1页
第1页 / 共14页
操作系统概论.docx_第2页
第2页 / 共14页
操作系统概论.docx_第3页
第3页 / 共14页
操作系统概论.docx_第4页
第4页 / 共14页
操作系统概论.docx_第5页
第5页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《操作系统概论.docx》由会员分享,可在线阅读,更多相关《操作系统概论.docx(14页珍藏版)》请在三一文库上搜索。

1、操作系统概论第1章Shell命令操作实践作业使用Shell命令上机完成以下操作:(1)在当前登录用户的主目录下创建子目录mysub进入mysub目录mkdirmysub), cd mysub显示当前目录路径。Pwd mysub(3)显示用户名和用户主目录cd pwd 将用户主目录添加到可执行文件搜索路径export PATH=$PATH:'pwd'(5)显示添加后的可执行文件搜索路径echo $PATH(6)列出主目录下所有以" .ba”或“.pr ”打头的文件名及其属性并将其存入 my1文件ls -l .ba* .pr* > my1 列出进程状态信息中含tty

2、'的进程,并将其存入my2文件中ps aux |grep tty|grep -v grep > my2(8)将my1和my2串联成一个新文件 my3cat my1 my2 > my3(9)将当前目录下的所有文件压缩归档到myf.tar.gz文件中tar zcf myf.tar.gz(10)将my3移动到上级目录中mv my3 ./(11)删除文件my1和my2rm my1 my2(12)启动vi文本编辑程序$vim(13)在vi中输入 (11)步的操作命令,并将其存入文件 mysh(14)将vi放入后台运行(15)将文件mysh访问权限改为文件主可执行Chmod 744(1

3、6)将文件mysh复制到上级目录中Cp mysh ,(17)令vi返回前台,从中追加睡眠1分钟和返回前台的命令,从vi保存退出:q(18)以后台运行方式启动myshVi mysh(19)找到执行睡眠命令的的进程号(20)用发送信号命令向睡眠命令进程号发送终止信号,让mysh停止执行。第2章与处理器管理有关的系统功能调用 实践作业编写一个能建立两个子进程的程序(父进程),让这三个进程并发执行完成以下二 元函数的计算:其中由父进程完成:f(x,y) = f(x) + f(y)由子进程1完成阶乘计算:f(x) = f(x-1) * x (x >1)f(x)=1(x=1)由子进程2完成非波纳奇序

4、列:f(y) = f(y-1) + f(y-2)(y> 2)f(y)=i(y=i,2)#include <stdio.h> double f1( int x) if (x=1) return 1;else return f1(x-1)*x; int f2( int y) if (y=1|y=2) return 1;else return f2(y-1)+f2(y-2); double f( int x, int y) return f1(x)+f2(y); main() int x,y;printf( "please input two words:n"

5、);scanf( "%d%d"&x,&y);printf( "%lfn" ,f(x,y);第3章与存储管理有关的操作系统算法实践作业强化实践能力培养课程内容”中“内存页面置换算法实践能力培养考核选例” 程序,编写一个能演示LRU内存页面置换算法的程序,它可根据给定的一组页面 引用序列号和实存页数,显示LRU置换页的过程,能统计和报告LRUB换算情况 下依次淘汰的页号、缺页次数(页错误数)和缺页率。#include <stdio.h>void lru( int a口, int m, int n)int b3,i,j,k=0,t,

6、x;for (i=0;i<3;i+)bi=ai;printf( "%d " ,bi);if (n<m)for (j=n;j<m;j+)t=1;x=0;for (i=0;i<n-1;i+)if (aj=bi) t=0;x=i; printf( "n"); if (t)printf("淘汰 dn " ,b0);k+;for (i=x;i<n-1;i+)bi=bi+1;bn-1=aj;for (int c=0;c<3;c+) printf( "%d " ,bc);if(t) k+;/p

7、rintf("%d ",b0);printf("缺页的次数 dn",k);printf("缺贞率俨,(float )k/m);main()int a15;printf( "please input ye ma:n" );for (int i=0;i<15;i+)scanf( "%d”,&ai);lru(a,15,3);第4章 与文件管理有关的系统功能调用实 践作业 a强化实践能力培养课程内容”中“文件操作实践能力培养考核选例”程序, 请构 造一个能管理文本文件的学生成绩表的简单数据库管理系统。设文本文

8、件的学生 成绩表中每条学生成绩记录有3个字段构成:学号20个字节,姓名20个字节, 成绩10个字节,字段间用空格分割对齐。简单数据库管理系统具有基本的追加 一条记录,(仅允许文件主)按学号读出一条记录,按学号升序列出所有记录.(提示:可建立一个学生成绩表文件和一个以学号为主键的索引文件。)Create TABLE grade(Sno char(10) NOT NULL,Cno char(2) NOT NULL,Grade smallint check(Grade is NULL)or(Grade between 0 AND 100), primary key (Sno,Cno),Constra

9、intc_f foreign key(Cno)referencesCourse(Cno),Constraint s_f foreign key(Sno)references Student(Sno);插入自己的信息INSERT INTO Student VALUES('1108900113',' 李晴晴',21,'女','CS');ggg王孙好9SO02王井19立C3980022 9S文csximooiu 1覆插入:INSERTINSERTINSERTINSERTINSERTINTOINTOINTOINTOINTOSCSCSCSC

10、SCVALUES('98001','1',87);VALUES('98001','2',67);VALUES('98001','3',90);VALUES('98002','2',95);VALUES('98002','3',88);修改:update scsetgrade=0where sno in (select sno from studentWhere sname='王林')And cno='2'

11、El SHO lij CNcJ|e| grade 19300.1G729300. .26739300. .39049300. .2059800.3S8&110S. .19。第5章与设备管理有关的操作系统算法实 践作业强化实践能力培养课程内容”中“磁盘移臂调度算法实践能力培养考核选例” 程序编写一个能演示“最短寻找时间优先算法Sstf ”的程序。该程序能分析出“最短寻找时间优先算法”在响应任意给定的一组磁盘请求序列时磁头移动的 过程,即能统计和报告出“最短寻找时间优先算法”下磁头响应请求的顺总量和 掉头的次数。#include<stdio.h>#define stacksiz

12、e 10#define max 20typedef structchar vexsmax;int bianmaxmax;int v,b;Tu;/*typedef struct int *base;int *top;int size;Stack;void InitStack(Stack &L)/堆栈操作L.base=(int*)malloc(sizeof(Snode)*stacksize);if(!L.base)exit(0);L.top=L.base;L.size=stacksize;void input(Stack &L,int h)*L.top+=h;Snode outpu

13、t(Stack &L,int &e) e=*-L.top;return e;int Stackmang(Stack L)if(L.top-L.base=L.size)return 0;elsereturn 1;int StackEmpty(Stack L)if(L.base=L.top)return 0;elsereturn 1;*/void creattu(Tu &T)int i,j,k;int data;printf(" 输入城市个数和道路条数(输入格式:v,b):");scanf("%d,%d”,&(T.v),&(T.

14、b);/fflush(stdin);printf(" 输入所有城市名:");前加n可起for(i=0;i<T.v;i+)scanf("n%c",&T.vexsi);c缓冲作用fflush(stdin);for(i=0;i<T.v;i+)for(j=0;j<T.v;j+) T.bianij=0;printf("输入相邻俩城市的序号和俩城市之间的距离(输入格式为:i , j , data):n");for(k=0;k<T.b;k+) scanf("%d,%d,%d",&i,&am

15、p;j,&data);T.bianij=data; T.bianji=data;int DFStrave(Tu T,char ch)int i;/*int visited10;for(i=0;i<T->v;i+)visitedi=0;for(i=0;i<T->v;i+)if(visitedi!=0) DFS(T,i);*/for(i=0;i<T.v;i+)if(T.vexsi=ch) return i;voidFloydpath(TuT,intD口max,intpath口max)/floyd 算法 int i,j,k;for(i=0;i<T.v;i+

16、)for(j=0;j<T.v;j+) Dij=T.bianij; if(j=i|Dij=0)pathij=-1;else if(Dij>0) pathij=i;for(k=0;k<T.v;k+)for(i=0;i<T.v;i+)for(j=0;j<T.v;j+)if( Dij>Dik+Dkj)Dij=Dik+Dkj;pathij=pathkj;void visit(Tu T,int D,int path口)char ch;int j;printf("n*Dijkstra printf("输入一个城市:");fflush(stdi

17、n);scanf("%c",&ch); j=DFStrave(T,ch);算法 *n");printf("到第一个城市的最短路程为:while(pathj!=-1)printf(" %d-%d n”,j,pathj);j=pathj;%dn",Dj);void Dijkstrapath(Tu T)/dijkstra算法int Dmax;int pathmax;int v0=0,Smax,min=200,k,j,i;for(i=0;i<T.v;i+)Si=0;Di=T.bianv0i;if(Di=0)pathi=-1;el

18、sepathi=0;Sv0=1;Dv0=0;for(i=1;i<T.v;i+)for(j=0;j<T.v;j+)if(!Sj&&Dj<min)min=Dj;k=j;Sk=1;for(j=0;j<T.v;j+)if(!Sj&&Dk+T.biankj<Dj) Dj=Dk+T.biankj;pathj=k;visit(T,D,path);void main()Tu T;int Dmaxmax;int pathmaxmax;char ch1,ch2;int i,j;creattu(T);fflush(stdin);printf("

19、请选择两个城市(输入格式为:A, B)”);scanf("%c,%c”,&ch1,&ch2);i=DFStrave(T,ch1);j=DFStrave(T,ch2);Floydpath(T,D,path);printf(”*floyd算法 *坨");printf(" 输出最短路程:%dn",Dij);printf("输出最短路径:n");printf("-%d-",j);while(pathij!=-1)printf("-%d-”,pathij);j=pathij; printf(&quo

20、t;n");Dijkstrapath(T);第6章 与并发进程有关的系统功能调用实践作业强化实践能力培养课程内容”中“进程的同步与互斥实践能力培养考核选例”程序和“文件操作实践能力培养考核选例”程序,请在计算机上实现教材第6章习题6要求的功能。答:这四个进程实际上是两个生产者R1, R2和两个消费者 W1, W2各自生成不同的产品供各自的消费对象去消费,他们共享一个的缓冲器。由于缓冲器只能存放一个数,所以,R1和R2在存放数时必须互斥。 而R1和W1 R2和W2之间存在同步。为了协调它们的工作可定 义三个信号量:S:表示能否把数存人缓冲器 B,初始值为1.S1:表示R1是否已向缓冲器

21、存入从磁盘上读入的一个数,初始值为 0.S2:表示R2是否已向缓冲器存入从键盘上读入的一个数,初始值为 0.begin5: S1, S2: semaphore;6: = 1; S1: = S2: = 0;cobeginprocess R1xl : integerbegin7: :从磁盘读一个数;xl := 卖入的数;8: (S);9: = xl ;V (S1);goto L1 ;end;process R2x2: integer ;beginL2:从键盘盘读一个数;x2 := 卖入的数;P (S);8: = x2;V (S2);goto L2 ;end;process W1 y: integer ; beginL3: P (S1);y: =B;V (S);打印y中的数;goto L3 ;end;process W2 z: integer beginL4: P (S2);z: =B;V (S);打印z中的数;goto L4 ;end;coend;end.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1