实验(操作系统)(2)

2019-06-17 14:56

实验三:文件操作命令 一、实验目的

熟悉和理解文件的概念和文件系统的类型,了解linux系统中文件系统的管理机制,掌握文件系统的装载方法,掌握linux操作系统中文件的基本操作方法。 二、实验环境及工具

装有linux系统的计算机,光盘、优盘各一个。 三、实验内容和要求

1、安装linux操作系统,在linux 操作系统环境下建立一个用户帐户号,为每个用户建立两个文件:test1;test2 .

2、以自己的用户名登录linux操作系统后完成下面的操作: (1) 文件操作 *查看文件与目录 ls ls -l ls /usr/bin dir

*显示文件test1内容(cat、less)

一页一页地显示文件的内容:cat test | more

列出当前目录下的文件,确定包括两个文件test1 、test2,通过下列命令,观察结果,归纳cat命令的功能: cat test1

cat test1 test2>test3 cat test3 | more *文件复制命令(CP)

使用CP命令可将指定的文件复制到指定目录下,并保持文件名不变。 cp /root/* /temp cp test1 text1 cp – r /root / * /temp cp /root / .[a-z] * /temp *删除文件命令(rm)

*移动文件和重新命名文件命令(mv) (2)目录操作命令 *改变当前命令(pew) *建立子目录命令(mkdir) *删除子目录(rmdir) (3)文件系统装卸操作 *CDROM的安装与卸载

使用mount命令把CDROM中的所有目录和文件加入到linux 目录树。挂装CDROM的命令需要以 root身份执行: mkdir / mnt / cdrom

mount –t auto /dev/cdrom /mnt/cdrom

要卸载一个已经安装上的CD-ROM需要退出 /mnt/cdrom目录并以root身份输入如下命令:umount /mnt/cdrom

*优盘的安装与卸载

在计算机的USB口中插入优盘,然后使用如下方法安装与卸载优盘:

5

mkdir /mnt/usb

mount /dev/sda /mnt/usb或mount /dev/sda1 /mnt/usb

使用完优盘后,使用umount /mnt/usb命令卸载优盘,最后才能拔出优盘。 五、实验结果

认真写出实验结果、小结、体会。 六、思考问题

1、用户建立的一个子目录应该具有什么样的权限?

2、如果将子目录X的权限修改成文件主、同组用户和其他用户都具有读写和执行的权限,该用什么样的命令完成?此时文件主是否能删除自己所建立的子目录X?

6

实验四:文件系统实验---系统调用

一、实验目的

1、 掌握文件系统的分层结构中包括哪些层,各层主要解决哪些问题。 2、 掌握文件系统的存储结构包括哪几部分内容,主要由哪些数据结构构成。 3、 文件系统中的动态数据结构的主要作用是什么。 4、 文件的多重索引结构是如何构成的,有哪些特点。 5、 linux的文件索引节点和目录文件的主要作用是什么。

6、 能使用文件管理中的系统调用,编写一些C语言程序解决简单的实际问题。 二、实验内容和要求

1、 编写一段C语言程序使其完成:对用户输入的文件名的内容进行拷贝。 例如:% EXE aFile bFile 则将文件aFile 的内容拷贝到文件bFile中。

2、 编写一段C语言程序使其完成:创建一个新文件,输入一段数据,然后随机移动指针,接着插入一段

数据。完成后,查看文件大小和内容。 三、参考代码 1、#include #include main(int argc,char *argv[ ]) {int fd1,fd2 ,n;

if (argc<3){printf(“Usage:mycopy sourceFilename destinationFilename\\n”);exit(1);} if(fd1=open(argv[1],0)<0){printf(“open error .\\n”);exit(1);} if(fd2=creat(argv[2],0644)<0){printf(“create error .\\n”);exit(1);} while((n=read(fd1,buf,512))>0)write(fd2,buf,n); close(fd1);close(fd2); }

2、#include #include

char buf1[ ]=”abcde”;char buf2=”12345”; main( ) {int fid;

if((fid=creat(“test”,0664))<0){printf(“creat file error\\n”);exit(0);} else {if(write(fid,buf1,5)!=5){printf(“buf1 write error.\\n”);exit(1);}

if(lseek(fid,30,SEEK_SET)==-1){printf(“lessk error.\\n”);exit(2);} if(write(fid,buf2,5)!=5){priintf(“buf2 write error.\\\\n”);exit(3);} close(fid); } exit(0);

}

四、实验结果

请同学们写出程序执行结果和小结、体会。 五、 思考问题

1、 在linux的文件系统中包含几种大的分类?请简述这些分类的含义。

2、 linux的目录文件中主要包含哪些信息项?将I/O设备作为文件统一处理,在系统管理中有哪些优

势?

3、 linux的文件系统是由哪几部分构成?请描述这些组成部分中包括的主要内容。

7

实验五:进程管理----进程创建 一、 实验目的

1、加深对进程概念的理解,明确进程和程序的区别;

2、进一步认识并发执行的实质;分析进程争用资源的现象,学习解决进程互斥的方法; 3、了解linux 系统中进程通信的基本原理。 二 实验准备

1、装有linux系统的计算机

2、阅读 linux的ched.h原代码文件,加深对进程管理概念的理解;阅读linux的fork.c原代码文件,分析对进程的创建过程。 三、实验内容和要求

1、编写一段C语言程序使其完成:父进程创建一个子进程,子进程运行中显示当前系统的记录时钟;父进程运行时完成将1—100循环显示到标准输出流上,同时注意程序运行时控制其执行顺序是,子程序先运行,父进程再运行。 四、参考代码 1、#include #include #include #include void print_systime(void); main( ) {pid_t pid; int iIndex; pid=fork( ) ;

if(pid<0){printf(―Fail when creating new process!\\n‖); exit(1);}

else if(pid==0)print_systime( ); else {wait(NULL);

for(iIndex=1; iIndex<=100; iIndex++) printf(―%d‖, iIndex); printf(―\\n‖); } }

void print_systime(void) {time_t t;

if(time(&t)==((time_t)-1))

{printf(―Error when getting time!\\n‖);exit(1);} else {char *pszTime; pszTime=ctime(&t);

printf(―Now is %s\\n‖, pszTime); } }

五.实验结果 1.写出运行结果

2.按要求认真书写实验报告

8

实验六:进程管理----进程间通信(一) 一、 实验目的

linux系统的进程通信机构(IPC)允许在任意进程间大批量地交换数据。本实验的目的是了解和熟悉linux支持的消息通信机制及共享存储区机制。 二 实验准备

1、装有linux系统的计算机

2、阅读 linux系统的msg.c 、sem.c和 shm.c等原代码文件,熟悉linux的三种通信机制。 三、实验内容和要求

1、编写一段C语言程序使其完成:父子进程通过无名管道传递三条消息: *管道文件的测试程序开始。 *管道文件测试正在进行。 *管道文件测试结束。

接收进程收到信息后将它们送到标准输出文件上。

2、用 pipe( )创建一个管道文件,然后用fork( )创建两个生产进程和两个消费进程,它们之间通过pipe( )传递信息。 四、部分参考代码 1、#include #include #include #include main( ) {int i,f_des[2];

char message[3][BUFFSIZ]={―Start the test of pipe file‖,‖Test is going‖, ―Test ends‖}; if(pipe(f_des)==-1){printf(―pipe‖);exit(2);} switch(fork( ))

{case -1:printf(―Fork‖);exit(3); case 0:close(f_des[1]); for(i=0;i<3;i++)

{if(read(f_des[0],message[i],BUFSIZ)!=-1)

printf(―message received by child:[%s]\\n‖,message[i]); fflush(stdout);}

else {printf(―Read Failed‖);exit(4);} } break; default; close(f_des[0]); for(i=0;i<3;i++)

{if(write(f_des[1],message[i],BUFSIZ)!=-1)

{ printf(―message sent by parent:[%s]\\n‖,message[i]); fflush(stdout);}

else {printf(―write Failed‖);exit(5);} } }

9


实验(操作系统)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017年12月电大远程网络教育大学英语B统考题库真题2

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: