操作系统2 实验五报告.pdfVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

实验题目:Linux文件实验

实验环境:Linux

实验目的:

掌握操作系统中文件分类的概念。

了解Linux文件系统管理文件的基本方式和特点。

学会使用Linux文件系统的命令界面和程序界面的基本要领

实验要求:

(1)复习操作系统中有关文件系统的知识,熟悉文件的类型、i节点、文件属性、文件系

统操作等概念。

(2)熟悉《实验指导》第五部分“文件系统的系统调用”。了解Linux文件系统的特点、分

类。

(3)阅读例程中给出的相应的程序段。

实验内容:

1.用shell命令查看Linux文件类型。

2.用shell命令了解Linux文件系统的目录结构。

执行

$cd/lib

$ls–l|more

看看/lib目录的内容,这里都是系统函数。再看看/etc,这里都是系统设置用的

配置文件;/bin中是可执行程序;/home下包括了每个用户主目录。

3.用命令分别建立硬链接文件和符号链接文件。通过ls–il命令所示的inode、链

计数观察它们的区别

找找一个其他目录中的文件,如:/home/zzl/mytest.c执行

$ln/home/zzl/mytest.cmyt.c(建立硬链接文件)

$ln–s/home/zzl/mytest.cmyt2.c(建立符号链接文件)

4.复习Unix或Linux文件目录信息i节点的概念。编程察看指定文件的inode信息。

【提示】以下是“获得inode信息实验”的例程。将程序稍加修改,进而实现题目要求

5.修改父进程创建子进程的程序,用显示程序段、数据段地址的方法,说明子进程继承

父进程的所有资源。再用父进程创建子进程,子进程调用其它程序的方法进一步证明子进程

执行其它程序时,程序段发生的变化。

【提示】这个实验可参考例程3中“父进程创建子进程,子进程调用其它程序的例”以及下

面例程10“显示程序段、数据段地址的程序”两个程序。设法在子进程运行的程序中显示

程序段、数据段地址,以此说明:开始时子进程继承了父进程的资源,一旦子进程运行其它

程序,就用该程序替换从父进程处继承来的程序段和数据段。

6.编写一个涉及流文件的程序。要求:

以只读方式打开一个源文本文件

以只读方式打开另一个源文本文件

以只写方式打开目标文本文件

将两个源文件内容复制到目标文件

将目标文件改为指定的属性(其他人只读、文件主可读写)

显示目标文件

【提示】这个实验可参考例程11中“打开流文件进行行输入输出操作”的例程,当然还得

自己加工。将程序再加修改为有两个源文件,一个目标文件,进而实现题目要求。

操作过程:

1、例程8:获得Inode信息实验

/*利用lstat()系统调用获得inode信息。假定本程序文件名为getiinfo.o则执行程

序,获得filename文件的inode

信息的命令格式如下./getiinfo.ofilename*/

#includesys/stat.h

#includesys/types.h

#includesys/sysmacros.h

#includestdio.h

#includetime.h

#includeunistd.h

#includestring.h

#includeerrno.h

#defineTIME_STRING_LEN50

char*time2String(time_ttm,char*buf)

{structtm*local;

local=localtime(tm);local=localtime(tm);

returnbuf;

}

intShowFileInfo(char*file)

{structstatbuf;

chartimeBuf[TIME_S

文档评论(0)

151****5730 + 关注
实名认证
文档贡献者

硕士毕业生

1亿VIP精品文档

相关文档