已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SHANGHAI UNIVERSITY计算机操作系统实验报告 (实验四、五、六)学 院 计算机工程与科学学院专 业 计算机科学与技术学 号 06122565姓 名 金玉倩教 师 吴绍春日 期 2010-2计算机操作系统实验报告 实验四题目:Linux文件系统实验姓名:金玉倩 学号:06122565 实验日期:2009.1 实验目的:1掌握操作系统中文件分类的概念。2了解Linux文件系统管理文件的基本方式和特点。 3学会使用Linux文件系统的命令界面和程序界面的基本要领。实验内容:1用shell命令查看Linux文件类型。Linux的文件类型包括:普通文件()、目录文件(d)、字符设备文件(c)、块设备文件(b)硬链接文件、套接口文件(s)、符号链接文件(l)和管道文件(p)。2用shell命令了解Linux文件系统的目录结构。 3用命令分别建立硬链接文件和符号链接文件。通过ls -il命令所示的inode、链接计数观察他们的区别。思考题:建立硬链接文件和建立符号链接文件有什么区别?答:硬连接指通过索引节点来进行的连接。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件才会被真正删除。 与硬连接相对应的另一种连接,称为符号连接(软连接)。软链接文件有点类似于Windows的快捷方式。它实际上是特殊文件的一种。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。 如上图实验所示:touch f1(创建一个f1的文件) ln f1 f2 创佳一个f2的硬连接 ln -s f1 f3 创建一个f3的软连接 此时如果删除f3,对f1、f2无影响;如果删除f2,对f1、f3也无影响,如果删除f1,那么因为f2也应用f1,所以并不影响f2节点的,cat创建的文件仍然存在;但是此时f3因为是软连接,导致f3失效。如果删除f1、f2 ,那么cat创建的文件会被删除。4复习Unix或Linux操作系统文件目录信息i节点的概念。编程观察看指定文件的inode信息。将书上例程8的内容输入p3.c后,编译执行。5再来一个更有趣的实验。修改父进程创建子进程的程序,用显示程序段、数据段地址的方法,说明子进程继承父进程的所有资源。再用父进程创建子进程,子进程调用其它程序的方法进一步证明执行其它程序时,程序段发生的变化。将书上例程10显示程序、数据段地址的程序的内容输入p4.c、p5.c后,编译执行。6编写一个涉及流文件的程序。要求:A.以只读方式打开一个源文本文件B.以只读方式打开另一个源文本文件C.以只读方式打开目标文本文件D.将两个源文件内容复制到目标文件E.将目标文件改为指定的属性F.显示目标文件将书上例程11的内容输入p6.c后,编译执行。体会:也许这学期的三个实验中就这个最难了。不仅有书上的概念,书上讲的不清楚的,还得自己从网上搜集资料。对于Linux中文件的软硬链接理解得算是透彻了,对于i节点的理解也更深入了一步,Unix系统的内核结构真的是非常方便实用,基于它衍生的许多技术都将是我未来关注学习的焦点。附录:(源程序)/p3.c#include#include#include#include#include#include#include#include#define TIME_STRING_LEN 50char *time2String (time_t tm,char *buf)struct tm *local; local=localtime(&tm); strftime(buf,TIME_STRING_LEN,%c,local); return buf;int ShowFileInfo(char *file)struct stat buf; char timeBufTIME_STRING_LEN; if(lstat(file,&buf) perror(lstat()error); return 1; printf(nFile:%sn,file);printf(1)On device(major/minor):%d %d,inode number:%ldn,major(buf.st_dev),minor(buf.st_dev),buf.st_ino);printf(2)Type:%07ot Permission:%05on,buf.st_mode & S_IFMT,buf.st_mode & (S_IFMT);printf(3)Over id:%dt Group id:%dt n4)Number of hard links:%dn,buf.st_uid,buf.st_gid,buf.st_nlink); printf(5)Size:%ldt n6)Last access:%s,buf.st_size,time2String(buf.st_atime,timeBuf); printf(n Last modify inode:%snn,time2String(buf.st_atime,timeBuf); printf(7)Datablocks:%d , %dtn,buf.st_blksize,buf.st_blocks); return 0;int main(int argc,char *argv)int i,ret;for(i=1;i1)printf(n);return ret;/p4.c#includeextern int etext,edata,end;main()printf(etext:%6x t edata:%6x t end:%6 n,&etext,&edata,&end);/p5.c#include#include#include#include#include#define SHW_ADR(ID,I) printf(The id %s t is at adr:%8xn,ID,&I);extern int etext,edata,end;char *cptr=Hello World.n;char buffer125;main() void showit(char *); int i=0; printf(Adr etext:%8xt Adr edata:%8x Adr end:%8xnn,&etext,&edata,&end); SHW_ADR(main,main); SHW_ADR(showit,showit); SHW_ADR(cptr,cptr); SHW_ADR(buffer1,buffer1); SHW_ADR(i,i); strcpy(buffer1,A demonstrationn); write(1,buffer1,strlen(buffer1)+1); for(;i1;+i) showit(cptr);voidshowit(char *p) char *buffer2; SHW_ADR(buffer2,buffer2); if (buffer2=(char *)malloc(unsigned)(strlen(p)+1)!=NULL) strcpy(buffer2,p); printf(%s,buffer2); free(buffer2); else printf(Allocation error.n); exit(1); /p6.c#include#includeint main(int argc,char *argv) char s1024; FILE *fp; if(fp=fopen(argv1,r)!=(FILE*)0) while(fgets(s,1024,fp)!=(char *)0) puts(s); else fprintf(stderr,file open error.n); exit(1); exit(0);实验五题目:FAT 文件系统实验姓名:金玉倩 学号:06122565 实验日期:2009.1 实验目的:1、从系统分析的角度出发,了解FAT文件系统的组织结构和文件的存储方式。2、进一步理解操作系统文件管理的基本思想。实验内容:1.进入DEBUG环境,装入FAT文件系统结构。执行命令:L 0 0 0 212观察1.44M软盘中FAT12文件系统结构。执行命令:D 0000软盘有两面,每面80个磁道,每个磁道18个扇区,每个扇区512个字节,所以软盘的容量是2*80*18*512 = 1474560, 1474560/1024/1024大约为1.44M。3分析文件分配表结构,了解用簇链映射的文件的链式存储结构。执行命令:D 200思考:上面屏幕显示首簇号为003的文件共包括几个扇区?它分布在哪几个物理扇区上?答:首簇号为003的文件共包括2个扇区,它分布在0道0面2、3扇。4观察1.44M软盘中文件目录表FDT以及文件目录结构执行命令:L 0 0 0 21说明:将逻辑扇区0H开始的共21H个物理扇区装入DS:0000H起始的内存。执行命令:D 2600说明:显示从2600H地址开始的FDT文件表。思考:计算1.44M的软盘根目录最多可以容纳多少文件?答:1.44MB软盘的文件目录表FDT共14个扇区,每个文件的目录登记项占用 32个字节,用作目录的一个扇区(512字节)最多只能装入512/32=16个文件。因此,1.44MB软盘的根目录下最多可建文件或子目录224个。 上图屏幕显示的文件BAK.txt的目录项中标示该文件的首簇号在何处?该文件是什么属性?答:首簇号在第2行的1A1B字节处,首簇号为002,该文件属于归档文件。书上显示的文件office.txt首簇号在第6行的1A1B字节处,首簇号为091,属归档文件。书上面的屏幕显示第12行目录项表示的是什么项目?答:第12目录项表示卷标。5观察1.44M软盘中文件目录表的长文件名目录结构思考:书上面屏幕显示的23行是什么目录项?答:长名的第一项,也是最后一项。若有一个文件名共长34个字符,要占多少目录项?答:四个目录项,三个长目录项和一个短目录项。6自己动手做:观察测试软盘的FDT区,找到名为BAK的文件目录。该文件是什么类型的文件?文件放在磁盘的哪个位置?占用几个存储单位?调出其内容看看。该文件为BAK.txt,属于归档文件。察看其首簇号为002,对应了数据区21H逻辑扇区。执行:L 0 0 0 21 D 2600察看内容执行:L 8000 0 21 8找到文件123.TXT的存储位置。调出文件的第二快将文件的第512字节开始的128个字节,改写成“Happy New Year!”。再写回原文件。并用常规方式打开文件察看效果。操作步骤:L 0 0 0 21D 2600L 8000 0 22 8D 8000D 8200F 8200 “Happy new Year!”W 8000 0 22 8总结:FAT文件系统的结构是如何组织的?答:经过格式化操作之后,系统将在软磁盘上建立以下的数据结构:(1) 引导记录(DBR):位于0面0道1扇区,说明磁盘结构信息。(2) 文件分配表(FAT):用于记录磁盘空间的分配情况,指示硬盘数据信息存放的柱面及扇区的信息指针。其表项可以是以下四种表示方式之一:A一个数字,代表指向另一个簇的指针。B数字0,表示一个未使用的簇C一个坏扇区标记D文件结束标记符EOF(3) 文件根目录表FDT:一个指示以存入数据信息的索引。记录磁盘上存储文件的大小,位置,日期和时间等数据。(4) 数据区:存放数据信息。系统怎样实现文件的逻辑块到物理块的映射?答:文件分配表(FAT)是在链表结构的基础上,把每一个物理块当中的链表指针抽取出来,单独组成一个表格,也就是,并把它存放在内存当中,然后,如果要随机地区访问文件的第n个逻辑块,可以先从FAT表中查到相应的物理块地址,之后根据这个地址直接去访问磁盘,这样速度就比较快。文件分配表的具体实现是,在整个文件系统中设置一个一维的线性表格,它的表项个数就等于磁盘上物理块的个数,并按照物理块编号的顺序来建立索引。对于系统中的每一个文件,在它的文件控制块中记录了这个文件的第一个物理块的编号X1,然后在FAT表的第X1项中,记录了该文件的第二个物理块编号X2.就这样一直下去,从而形成了一个链表。在链表的最后一个节点中,存放了一个特殊的文件结束的标识。下图所示是文件分配表的一个例子。通过文件1的目录项可以知道,它的第一个逻辑块存放在第一个物理块中。然后去查询FAT表,可以知道,它的第二、第三个逻辑块分别存放在第二、第三个物理块中。FAT表的第三项是一个特殊的值0xFFFF,表明文件的结束,所以该文件总共有三个块。类似的,文件2也有三个数据块,分别存放在第四、第五和第七个物理块中。体会:这个实验很好的结合了书上对于FAT文件系统结构的阐述。对FAT的组织结构和文件的存储方式,有了更实际的认识。这个实验是在同学帮助下完成的,对于1.44M软盘不是很熟悉,不过硬盘的道理应该差不多,对于操作系统这门课有很实际的意义。实验六题目:内存分配和设备管理实验姓名:金玉倩 学号:06122565 实验日期:2009.1 实验目的:了解Linux管理设备的基本方式。实验内容:1用ls杔命令观察设备文件的组织方式。执行:$ls 杔 /dev思考:Linux管理设备的方法与管理文件的方式有何异同?为什么用管文件的方式来管设备?有什么好处?答:管理设备和管理文件的相同之处在于都是文件系统来管理。不同的是管理设备还需要设备控制器、设备与控制器之间的接口、缓冲管理等。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七年级学有余力学生的教学方法研究
- 《土壤地理学》笔记
- 2025年湖北省高考数学模拟试卷(附答案解析)
- 数据迁移与转换
- 阅读理解记叙文(练习)(学生版)-2025年高考英语一轮复习(新教材新高考)
- 湖北省襄阳市襄州区2024-2025学年九年级上学期9月月考英语试题(含答案)
- 2024年18-萘二甲酰亚胺项目投资申请报告代可行性研究报告
- 有理数的乘方(六大题型)-2024-2025学年沪教版六年级数学上册同步练习
- 3.2 二次函数 同步练习
- 读书交流会主持词
- 道路旅客运输企业双体系建设的政策法规与标准培训
- 幼儿空间智力课件
- DB3714-T 0004-2021 肉种鸭强制换羽技术规程
- 概率论与数理统计考试卷题库2 (七)
- 【制药废水预处理技术的发展综述报告6000字(论文)】
- 树立信心主题班会课件1
- 展开友谊共享愉快小学二年级主题班会
- 危险化学品从业人员安全培训考试试卷及答案
- 临床医学中的病患随访与健康教育
- 量子天线技术初探
- 冰箱温度监测登记表
评论
0/150
提交评论