

下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、扬州大学操作系统实验报告书 综述2操作系统原理实验报告书班级: 软件1102学号:_姓名:_3指导教师:徐向英_2012-2013学年第二学期实验名称:LINUX用户界面_实验时间:2013年_4_月_9_日 第_6_周 星期二一、实验目的1,熟悉Linux字符操作界面,熟练掌握常用Shell命令。2,熟悉Linux文本编辑方法,学会编辑软件VI的使 用。3,了解Linux编译器gcc的功能,掌握基于Linux平台的C程序的开发二、 实验预习(预备知识的问题及回答)1.为什么在Linux系统中,诸如光盘、U盘等 要先挂载而后才能使用?如何获得U盘的设备 名?装载点在文件系统中的位置是什么?由于
2、文件系统的差异,Linux在默认情况下并 不支持软盘,光盘,U盘,所以需要通过装在相 应盘片才可以访问其中的数据装载点是挂载文件系统的目录位置42.从虚拟机界面退出进入Windows OS界面的操作是Ctrl+Alt_,从Windows OS界面进入虚拟机界面的方法是鼠标点击虚拟机界面_ 。3.权限的含义是什么?如何使用数字法设定文 件的权限?Linux系统中的每个文件和目录都有相应的访 问许可权限,访问权限分为只读(r),可写(w)和可执行三种,有三种不同类型的用户可以对文 件或者目录进行访问,分别是文件所有者(u), 同组用户(g)和其它用户(o)。所有的文件和目录 都被创建他们的人所拥有
3、。只要你是这个文件的 所有者或者你登陆为用户,你就拥有了改变所有者,群组和其他人权限的权利。使用数字法改变权限:命令格式chmod权限数值文件名说明给指定文件赋予数值所规定的权限在数字设定法中, 每种权限设置均可以用 数值来代表,其中0表示没有权限,1表示可执 行权限,2表示可写权限,4表示可读权限,这 些值之和便可以用来设定特定权限。4.什么过滤操作?在Linux中如何实现? 过滤操作:将一个命令的输出作为一个命令 的输入Linux实现的命令5格式:命令|命令5.在Linux中挂载u盘并能显示其文档的中文信息,所使用的挂载命令是:Moun t/dev/sdal/mn t/usb _6.什么是
4、vi?其三种操作模式的含义是什么? 给出三种工作模式间的转换图。命令模式:vi启动后的默认模式,控制光标的 移动,复制删除文字,进入输入模式和末行模式输入模式:进行文字输入末行模式:保存文件,退出VI三、实验内容(包含实验所用命令或相关程序源代 码)1. shell 操作命令(给出每题所用的 Shell 命令或命令结果)6(1)创建名为stul、stu2的2个用户,设置密码 分别为student1和student2,并将它们设为 组groupl中的成员。#groupadd groupl#useradd stul -g groupl#su stulSpasswd stul回车后敲入密码stude
5、nt1$exit#useradd stud2 -g groupl#su stu2$passwd stu2$exit(2)在每个用户的主目录下建立2个目录,分 别命名为dirl和dir2。#su stul$cd$mkdir dirl$exit#su stu2$ cd7$mkdir dir2$exit(3)查找stul用户主目录、下属各子目录的默 认存取权限,并给出结论。#su stul$cd.$ls-1用户主目录权限为:drwx-,即目录的用户可读,写,执行,同组和其它的用户无任何权限#su stu$cd$ls-1Dirl目录权限为:drwxr-xr-x,即目录的用户可 读,写,执行(4)调试p
6、wd和cd命令,回答下列关于Linux文件系统中目录的有关问题。1用户主目录的绝对路径如何表示?/home/stu1/home/stu282根目录如何表示?/root3.和.分别表示什么目录? 子目录父目录4表示什么目录? _用户主目录5当前目录如何表示? _Cd(5)新建用户stu3,设置其密码为student3,并 将其设置为group2中成员。尔后,以stu3登录,在其主目录下建立名为text的目录, 在text目录下再建立名为dir1的子目录,并 使其成为当前目录。#groupadd group2#useradd stu3 -g group2#su stu3$passwd回车后敲入密码
7、stude nt3$cd$mkdir text$mkdir dirl$cd text/dirl9(6)使用catsneakers.txt命令,分析命令行catsneakers.txt的显示结果。$ cats neakers.txtbuy some sn eakersthe n go to the coffee shopthe n buy some coffAD$cat sn eakers.txt从键盘中创建一个名为sncakers.txt文件,文件内容为:buy some sncakersThe n go to the coffee shopThe n buy some coff(7)使用上题
8、的方法,在dir1目录中建立home.txt文件,其内容为:bring the coffee home take off shoes put on10sn eakers make some coffeerelax!$cd /home/stul/dirl $cathome.txtBring the coffee homeTake off shoesPut on sn eakersMake some coffeeRelax!ctrl+d(8)试写出实现下列功能的shell命令:1将home.txt文件移至其上级目录中(即text目录下)。$mv/home.txt2将home.txt添加到sneak
9、ers.txt尾部形 成新的文件saturday.txt。$cat cn eakers.txAasturday.txt11$cat home.txtSaturday.txt3将text目录树从stu3用户主目录下移 至stu2主目录下。【使用特权用户方法】sumv/home/stu3/text/home/stu2【修改目录权限方法】#cp/home/stu3/text/home/stu2(9)试画出上述命令后, 用户stu1、stu2和stu3主目录中的目录树(3棵子树)。122. Linux C 程序开发(1)编写Linux C程序,把一个文件的内容复 制到另一个文件中,即实现简单的copy
10、功 能。要求:程序输入的第一个参数是源文 件,第二个参数是目标文件。【源程序】13#in clude#in cludevdire nt.h#in clude#in cludevcrr no .hInt main (i nt argc,char *argv)FILE *i n,*out;Char ch;lf(argc!=3)Prin tf( you forgot to en ter a file name n”;Exit(0);lf(in=fopen(argv1,”)=NULLPrintf( can nit open outfilen”;Exit(0);lf(out=fopen(argv2, w
11、)=NULLPrntf( can not open outfile);Exit(0);14While(!feof(i n) )fputc(i n),out);Fclose(i n);Fclose(out);15【运行命令】#gcc test copy.c#./test filel.c file2.c(2)编写Linux C程序, 列出stu2主目录中的 文件信息,并将其中saturday.txt文件的权 限设置为文件所有者可读可写、同组用户 只读、其他用户无权限。【源程序】#in clude#in clude#in clude#in cludeInt main (i nt argc,char
12、*argv)DIR *dp;16Struct dire nt *dirp;Int n=0;lf(arge!=2)Printf( a signle argement is required”;Exit(O);lf(dp=opendir(argv1)=NULL)Printf( can not open%s”,args1);Exit(0);While(dirp=readdir(dp)!=NULL)&(nd_name);17System( Chmod640/home/stu2/text/dir1/Saturday.txt”18【运行命令】#gcc -o test list.c#./test.h
13、ome/stu2实验名称:SHELL程序设计_实验时间:2013年4月11_日 第6周 星 期_4一、实验目的熟悉SHELL脚本编程的步骤, 掌握基于Bash的Shel脚本开发。19二、实验预习(预备知识的问题及回答)1. Linux系统默认的shell语言是什么?欲查看 该shell的版本,应使用什么命令?Bash shell$echo $BASH_VERSION2.预习shell有关变量和参数的相关知识,回 答下列问题。(1)假设用户进行了如下的赋值操作:$ pers on=jenny试给出下面命令的输出结果。1)_ echo person _person2)- echo $person
14、-jenny203) echo $pers on_ $person4) echo $person” _ jenny(2)填充下列与环境变量、位置变量和预定义 变量相关的表格。Shell变量定义HOME保存用户注册目录的 绝对路径PATH保存用冒号分割的目 录路径PWD当前工作目录的据对 路径名PS1主提示符,特权用户 为#,普通用户为$0当前shell程序的文件 名$#位置参数的个数$?前一个命令执行后返 回的状态$当前进程的PID3写出下列expr命令的输出:(1)expr in dexvalue”a21(2)expr value” :v.*u22(3)expr 力aaa:a+expr 力a
15、aa:a?(5)expr2+3(6)expr2 +3(7)expr2 *3(8)expr5 +expr 2 + 3(9)exprlen gthoperati ngsystem(10)exprsubstr linux 2 324312+356 mon-nu meric argume nt 16 inu三、实验内容1.编写Shell脚本,从命令行中接收一个二元算 术表达式并计算其结果。【源程序】#!/bi n/bashIftest $#=3The nCase s2 in+)let z=$1 +$3;-)let z=$1-$3;23/)let z=$1/$3;x|x)let z=$1*$3;*)ec
16、ho ” warni ng -$2 in valid operator! exit;EsacEcho”a nswer is sz”ElseEcho” usage - $0 value1 operator value2”fi【运行】Chmod a+x jisua n./jisua n 2+32.编写一个以文件列表作为输入的过滤器程序, 要求文件名含有以句点“”分隔的后缀,过滤 器输出每个文件的不带句点和后缀的文件名。【源程序】Read flag24While test $flag”DoLocati on=xpr $locati on=1Base name=xprsubstr= ”$flag”1$
17、locationEcho $basec nameRead flagdone25【运行】Chmod a+x letter./letter3.将下面的shell脚本命名为myscript,分析其 功能:coun t=$#cmd=echowhile $cou ntt 0 docmd=$cmd $co un tcoun t=expr $co unt - 1 doneeval $cmd【命令行输入】26chmod a+x myscript./myscript first sec ond third【运行结果】Third sec ond first【脚本功能分析】将命令行输入的参数倒叙显示4.设计一个程序
18、cuts,它从标准输入读入数据, 获取由第一个参数n和第二个参数m所限定范 围的数据(包括这两个字符),n和m都是整数。 例如:$ cuts 1114This is a test of cuts program (输入)test(显示结果)【源程序】#!/bi n/bashRead bli ne27Echo $ali ne |cut-c $1-$2实验名称:讲程控制与通信_实验时间:2013年5月7_日 第_10_周星期2一、实验目的1加深进程的概念理解,体会进程创建过程,经一部认识进程的异步并发特征2,了解Linux进程通信原理3,掌握Linux进程控制和进程通信相关的系统调用28二、实验预
19、习(预备知识的问题及回答)1写出下列系统调用功能:(1)fork()用于(2)getpid()用于创建讲程获取当前的进程ID号(3)wait()用于等待子讲程结束(4)exit()用于讲稈自我终止(5)pipe()用于常见无名管道(6)signal()用干在信号和信号处理函数之间建对应关系(7)kill()用于发送信号给指定讲程2阅读fork系统调用,用伪码写出其实现流程Pid=fork()If pid为负Print当前进程是子进程Else if pid为0Print当前进程是父进程293.图示pipe系统调用生成无名管道时所涉及的数据结构4.在UNIX系统中运行下面程序,最多可以产 生多少个
20、进程?画出进程家族树。main () fork();fork();fork();5下列程序运行后,a的值是多少?main () int a,pid;a=55;斤沁耳|030pid=fork();if (pid 0) prin tf(error in fork !);exit(O); 31else if(pid=O) sleep(5); a=99; printf( else sleep(7);printf(“a二d ,a);wait(O);a=99 a=55;最终a=55三、实验内容1.调试下面的程序, 观察可能的并发结果, 给 出简要分析,并画出进程家族树。#i nclude #in elud
21、e #i ncludemain () int status;int pid1=-1,pid2=-1,pid3=-1;pid 1=fork();if (pid1 = 0)prin tf(pid1=0,my process id is%dn,getpid();else if (pid1 0) printf(pid10,my process id is %dn,getpid();n”,a)a=eep(5);exit(O);32pid2=fork();if (pid2 = 0)prin tf(pid2=0,my process id is %dn,getpid();else if (pid2 0) p
22、rintf( pid20, myprocess id is %dn ,getpid();pid3=fork();if (pid3 = 0)prin tf(pid3=0,pid 1= %d,pid2=%d, my process id is %dn ,pid1,pid2,getpid();else if (pid3 0)prin tf(pid30,pid1=%d,pid2=%d, my process id is%dn,pid1,pid2,getpid( );wait (&status); exit(0);332.编程实现进程间管道通信。要求:父子进程共享一无名管道,两个子进 程作为发送
23、方分别向管道发送一行信息, 父 进程先读出子进程P1发来的信息行,将其34转换为大写字母输出;再读出子进程 来的信息行,将其转换为小写字母输出【源程序】Int filedes2;Char buffer80;Mai n()Pipe(filedes);Char str180;Char str280;Int pid1,pid2,l;While(pid=fork()=-1);If(pidl=O)Lockf(filedes1,1,0);Printf( Child1 input String1n”;Scanf( %s”str1);Write(filedes1,str,sizeof(str1);Lockf(
24、filedes1,0,0);P2发35Exit(O);ElseWhile(pid=fork()=-1)lf(pid2=0)Lockf(filedes1,1,0)Printf( Child2 in put stri ng2n”;Scanf( %s”str2);Write(filedes1,str2,sizeof(stru2);Lockf(fildes1,0,0);Exit(0);ElseIf(waitpid(pid1,null,0)=pid1) Read(filedes0,buffer,80);For(i=0;isizeof(str1);i+)bufferi=toupper(bufferi);P
25、rintf( parent=child1:%sn ” ,buffer); Else36Printf( waitpid1 error!”;lf(waitpid(pid2,NULL,0)=pid2)Read(filees0,bufferm80);For(i=0;isizeof(str2);i+)Bufferi=tolower(bufferi);Printf( parent=child2:%sn ”,buffer); ElsePrintf( Waitpid2 error!”;37【运行与测试】Ii ihivihdll t -o ir -1山邛n liMt I it h lyinsjv( (/ let
26、 IH| inpul ilriitfli Ic rrciup3otL-hildl IUKEK11ch tld2 iiipu i i er m2HE I UM Ipj rpfl l- - rhi lek iv irw!附加题383.学习下面共享存储区的内容,并用共享存 储区的方式实现“观察者报告者问题(共享的count变量存于共享存储区), 并验证与时间有关的错误”。共享存储操作使得两个或两个以上的进程可以 共用一段物理内存(一般情况下,两个进程的数 据区是完全独立的,父进程用fork创建子进程后,子进程会复制父进程数据到自己的数据区)。(1) 创建共享内存#in cludeint shmget
27、(key_t key,size_t size, int permflags);参数key是共享内存的标识,size是共享内存段 的最小字节数,permflags是访问权限, 值的设 置同semget一样。(2) 共享内存的控制#in cludeint shmctl(i nt shmid, int comma nd, structshmid_ds *shm_stat);comma nd可设为IPC_STAT,IPC_SET,IPC_RMID。参数shm_stat指向存放属性的结构体,具体内容请参考手册。39(3) 共享内存的附接和断开#includevoid *shmat(int shmid,
28、const void *addr, intshmflags);int shmdt(c onst void *addr);由于两个函数需指出进程地址空间中的地址,因 此比较复杂。简化的方法是将shmat中的地址设 为NULL。【源程序】40【运行与测试】实验名称:_虚拟存储实验时间:2013年5月2日 第12周期2一、实验目的1,掌握虚拟存储器的概念,理解实现虚拟存储器的基 本方法2,体会分页存储器管理中,页面置换的过程3,进一步认识多种页面置换算法的实现机制41二、实验预习(预备知识的问题及回答)1描述请求分页的地址转换过程。422.解释FIFO页面置换算法所产生的Belady现 象。Bela
29、dy现象是指当进程分配的内存块数增加时, 进程缺页43率反而上升的现象。FIFO算法在页面 置换时,总是淘汰先进入主存的页面,而先进入 主存的页面并不一定是以后用不到的页面,如果 这些页面以后需要访问,则将产生缺页,因此即 使分配的内存块数增加,缺页率依然有可能上 升,这是由于使用的页面置换算法不合理导致的三、实验内容1.计算并输出下列页面置换算法在不同内存容 量(4页至32页)下的命中率.最佳置换算法(OPT)(2)先进先出算法(FIFO)(3)最近最久未用页面置换算法(LRU)具体要求如下:(1)通过随机函数产生一个指令序列,共320条 指令指令地址的生成原则如下:1)50%的指令是顺序执
30、行的;442) 25%的指令是均匀分布在前地址部分;3) 25%的指令是均匀分布在后地址部分;程序中的具体实施方法是:1)在0,319的指令地址之间随机选取一起点 地址m;2)顺序执行一条指令,即执行地址为m+1的指 令;3)在前地址0,m+1中随机执行一条指令,该 指令的地址为m;4)顺序执行一条指令,即执行地址为m +1的 指令;5)在后地址m+2,319中随机执行一条指 令;重复上述步骤(1) (5),直到执行320条指令为止.将指令序列变换成为页地址流:设:页面大小为1k,用户内存容量为4页逐步增 加到32页,用户虚存容量为32k.假定在用户虚存中,每页存放10条指令,即320条指令在虚存中的存放方法为:第0条第9条指令在第0页;第10条第19条指令在第1页;第 310 条第 319 条指令在第 31 页.按以上方式用户指令共组成32页.据此可得出45指令地址m和页面号page以及页内位移量offset之 间 的计 算 公式 为:page=m/10,offset=m%10.页地址流长度为320。【源程序】Int page_stream320;Int b32;Void ran()Int instruct320;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国4色抱心小熊数据监测报告
- 2025年中国1178门锁数据监测报告
- 2025至2030年中国镀镍灯钩市场分析及竞争策略研究报告
- 2025至2030年中国金卤灯电感镇流器市场分析及竞争策略研究报告
- 2025至2030年中国西咪替丁胶囊市场分析及竞争策略研究报告
- 2025至2030年中国肉制品加工设备市场分析及竞争策略研究报告
- 2025至2030年中国电视遥控器架市场分析及竞争策略研究报告
- 2025至2030年中国燃油热水铸铁锅炉市场分析及竞争策略研究报告
- 2025至2030年中国活化去角质霜市场分析及竞争策略研究报告
- 2025至2030年中国楊贵妃工艺品市场分析及竞争策略研究报告
- 秩序安保维护服务 投标方案(技术方案)
- 中小学校长招聘考试试题
- 2023年陕西邮电职业技术学院教师招聘考试笔试题库及答案
- 化工企业适用-法律法规文件清单
- 工业催化原理及应用
- 国开2023春《语言学概论》形考任务1-3+大作业参考答案
- 公安院校及专业招生政审表
- 青少年体能训练计划方案
- 2023年公需课 大数据概述及基本概念考题
- 广东深圳红岭中学物理自主招生试卷
- 世界卫生组织生存质量测定简表(WHOQOL-BREF)
评论
0/150
提交评论