搜档网
当前位置:搜档网 › 福建工程学院实验5 linux文件系统

福建工程学院实验5 linux文件系统

福建工程学院实验5 linux文件系统
福建工程学院实验5 linux文件系统

实验五(1) Linux文件系统实验

实验目的

学习Linux中文件系统的使用,理解链接、权限的概念和使用;掌握常用的文件系统的系统调用,加深对文件系统界面的理解。

实验内容

1.学习文件链接的概念和使用(步骤一、步骤二)

2.学习文件权限的概念和管理机制,并学会使用(步骤三)

3.学习和文件相关的系统调用和库函数,进行若干编程练习(步骤四,至少完成两例)

实验步骤

一、文件链接与复制(hard link)

1.使用vi a创建一个文件a

Vi a

2.使用ln a b命令创建一个链接

使用cp a c创建一个复制版本

观察3个文件的大小、时间、属主(owner)等属性

3.修改文件a

4.观察文件b的内容,观察文件c的内容,观察3个文件的大小、时间、属主(owner)等属性

5.

6.使用ls –li命令,观察文件a, b, c的inode编号

7.使用rm a删除文件a

8.观察文件b, c是否仍然存在,内容如何

b、c依然存在,b为a改变的内容,c内容不变

9.使用rm b删除文件b,再观察文件b, c是否存在

b不存在,c存在

二、符号链接(软链接)symbolic link / soft link

1.创建文件a

2.使用ln –s a b创建符号一个链接

3.执行上述步骤3-8,观察有什么异同

三、不同用户之间的硬链接和符号链接

1.在用户stu下创建文件a

注意使用chmod命令,将主目录(~stu)权限改为所有其它用户可访问(r-x)(如果不知道chmod命令的用法,可以使用man chmod来查阅)

chmod o+rx ~

2.在另一个登录窗口内(使用Alt+F2切换到另一个登录窗口,使用Alt+F1切换回原登录窗口),以用户stu2登录,分别使用ln ~stu/a ha和

ln –s ~stu/a sa命令创建硬链接ha和符号链接sa

观察3个文件的大小、时间、属主(owner)等属性

3.在用户stu下,修改文件a;在用户stu2下分别观察文件ha和sa的内容

4.在用户stu下,修改文件a的访问权限;在用户stu2下,用ls –l命令观察ha和sa的访问权限、用户属主等信息,并使用cat命令、cp命令、vi命令验证访问控制权限的作用

5.两个用户下,分别使用ls –li命令检查文件a, ha, sa的inode编号,想一下为什么6.在用户stu2下删除ha;观察sa存在与否?用户stu下文件a存在与否?

7.在用户stu下可以删除文件a吗?删除后,用户stu2下的文件sa还存在吗?内容是什么?

四、Linux中与文件系统相关的系统调用

1.通过使用man命令,查阅以下的系统调用的使用手册。

1)文件操作

open, close, read, write, seek

creat, truncate, mknod, dup, dup2

link, unlink, rename, symlink

chmod, chown, umask

fcntl, flock, fstat, lstat, stat, utime

fsync, fdatasync

2)目录操作

mkdir, chdir, rmdir

readdir, getdents

3)库函数

fopen, fclose, fread, fwrite, fscanf, fprintf, fseek ,ftell, feof等

2.文件系统的系统调用的编程练习

利用上面的系统调用,试写出自己的命令程序,完成以下功能(要求:1)-7)至少完成5例,8)-10)至少完成2例):

1)如何创建一个文件?

2)如何删除一个文件? (rm 命令)

3)如何将一个文件拷贝到另一个文件? (cp 命令)

4)如何重命名一个文件? (mv file命令)

5)如何截断一个文件(或使其长度为零)?How to truncate a file (or make it be of length

zero)?

6)如何向一个文件中追加内容?

7)如何锁定一个文件? (read lock, write lock)

8)如何创建一个目录? (mkdir 命令)

9)如何删除一个目录? (rmdir 命令)

10)如何遍历一个目录(或称浏览该目录下所有文件?)?(ls –lR 命令)

实验五(2) Linux文件系统实验

实验内容:

1.仔细阅读以下代码;

2.画出系统功能框图

3.程序注释

4.截屏程序运行结果,分析说明结果。

#include

#include

#include

#include

#include

#include

#include

#include

#define MAX 128

int chmd();

int chmd ()

{

int c;

mode_t mode=S_IWUSR;

printf(" 0. 0700\n 1. 0400\n 2. 0200 \n 3. 0100\n "); //还可以增加其它权限printf("Please input your choice(0-3):");

scanf("%d",&c);

switch(c)

{

case 0: chmod("file1",S_IRWXU);break;

case 1: chmod("file1",S_IRUSR);break;

case 2: chmod("file1",S_IWUSR);break;

case 3: chmod("file1",S_IXUSR);break;

default:printf("You have a wrong choice!\n");

}

return(0);

}

main()

{

int fd;

int num;

int choice;

char buffer[MAX];

struct stat buf;

char* path="/bin/ls";

char* argv[4]={"ls","-l","file1",NULL};

while(1)

{

printf("********************************\n");

printf("0. 退出\n");

printf("1. 创建新文件\n");

printf("2. 写文件\n");

printf("3. 读文件\n");

printf("4. 修改文件权限\n");

printf("5. 查看当前文件的权限修改文件权限\n");

printf("********************************\n");

printf("Please input your choice(0-6):");

scanf("%d",&choice);

switch(choice)

{

case 0:close(fd); //关闭file1文件

exit(0);

case 1:

fd=open("file1",O_RDWR|O_TRUNC|O_CREAT,0750); /*创建file1*/ if(fd==-1)

printf("File Create Failed!\n");

else

printf("fd = %d\n",fd); /*显示file1*/

break;

case 2:

num=read(0,buffer,MAX); //从键盘里面读取最多128个字符

write(fd,buffer,num); //把读入的信息送到file1里面去

break;

case 3:

/* 把file1文件的内容在屏幕上输出*/

read(fd,buffer,MAX);

write(1,buffer,num);

break;

case 4:

chmd ();

printf("Change mode success!\n");

break;

case 5:

execv(path,argv); //执行ls –l file1

break;

default:

printf("You have a wrong choice!\n");

}

}

}

实验5 Linux文件系统实验

实验五 Linux文件系统实验 实验内容: 1.仔细阅读以下代码; 2.画出系统功能框图 3.程序注释 4.运行程序,写出程序执行结果,并分析说明。 #include #include #include #include #include #include #include #include #define MAX 128 int chmd(); int chmd () { int c; mode_t mode=S_IWUSR; printf(" 0. 0700\n 1. 0400\n 2. 0200 \n 3. 0100\n "); //还可以增加其它权限printf("Please input your choice(0-3):"); scanf("%d",&c); switch(c) { case 0: chmod("file1",S_IRWXU);break; case 1: chmod("file1",S_IRUSR);break; case 2: chmod("file1",S_IWUSR);break; case 3: chmod("file1",S_IXUSR);break; default:printf("You have a wrong choice!\n"); } return(0); } main() { int fd; int num; int choice;

char buffer[MAX]; struct stat buf; char* path="/bin/ls"; char* argv[4]={"ls","-l","file1",NULL}; while(1) { printf("********************************\n"); printf("0. 退出\n"); printf("1. 创建新文件\n"); printf("2. 写文件\n"); printf("3. 读文件\n"); printf("4. 修改文件权限\n"); printf("5. 查看当前文件的权限修改文件权限\n"); printf("********************************\n"); printf("Please input your choice(0-6):"); scanf("%d",&choice); switch(choice) { case 0:close(fd); exit(0); case 1: fd=open("file1",O_RDWR|O_TRUNC|O_CREAT,0750); if(fd==-1) printf("File Create Failed!\n"); else printf("fd = %d\n",fd); break; case 2: num=read(0,buffer,MAX); write(fd,buffer,num); break; case 3: read(fd,buffer,MAX); write(1,buffer,num); break; case 4: chmd (); printf("Change mode success!\n"); break; case 5: execv(path,argv); break;

实验六 文件系统设计结果

实验六文件系统设计 1.目的和要求 本实验的目的是通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能和内部实现。 2.实验内容 为DOS系统设计一个简单的二级文件系统,可以实现下列几条命令DIR 列文件目录 CREATE 创建文件 DELETE 删除文件 MODIFY 修改文件 OPEN 打开文件 CLOSE 关闭文件 列目录时要列出文件名,物理地址,保护码和文件长度。 3.实验环境 ①PC兼容机 ②Windows、DOS系统、Turbo c 2.0 ③C语言 4.实验提示 ①首先应确定文件系统的数据结构:主目录、活动文件等。主目录文件的形式存放于磁盘,这样便于查找和修改。 主目录结构: Ufdname 用户名 Ufdfile 指向用户的活动文件 活动文件结构: Fpaddr 文件物理地址 Flength 文件长度 Fmode 文件属性(file mode:0-Read Only;1-Write Only;2-Read and Write(default)) Fname 文件名称 ②用户创建的文件,可以编号存储于磁盘上。如:file0,file1,file2…并

以编号作为物理地址,在目录中进行登记。

③本程序需要在c:下建一个名为osfile的目录及一个名为file的子目录,在利用程序创建了文件系统后,可以在这个文件夹下查看到相关的内容。5.实验程序 #include "stdio.h" #include "string.h" #include "conio.h" #include "stdlib.h" #define MAXNAME 25 /*the largest length of mfdname,ufdname,filename*/ #define MAXCHILD 50 /*the largest child*/ #define MAX (MAXCHILD*MAXCHILD) /*the size of fpaddrno*/ typedef struct /*the structure of OSFILE*/ { int fpaddr; /*file physical address*/ int flength; /*file length*/ int fmode; /*file mode:0-Read Only;1-Write Only;2-Read and Write(default);*/ char fname[MAXNAME]; /*file name*/ } OSFILE; typedef struct /*the structure of OSUFD*/ { char ufdname[MAXNAME]; /*ufd name*/ OSFILE ufdfile[MAXCHILD]; /*ufd own file*/ }OSUFD; typedef struct /*the structure of OSUFD'LOGIN*/ { char ufdname[MAXNAME]; /*ufd name*/ char ufdpword[8]; /*ufd password*/ } OSUFD_LOGIN; typedef struct /*file open mode*/ { int ifopen; /*ifopen:0-close,1-open*/ int openmode; /*0-read only,1-write only,2-read and write,3-initial*/ }OSUFD_OPENMODE; OSUFD *ufd[MAXCHILD]; /*ufd and ufd own files*/ OSUFD_LOGIN ufd_lp;

实验一Linux基本操作实验报告

实验一 Linux基本操作 一.实验目的: 1. 二.实验环境: 虚拟机+Red Hat Enterprise Server 5.0 三.实验内容: 根据以下的文字提示,调用相应的命令来完成,记录相应的运行结果。一)用户和组基本操作 1.添加一个user01用户,家目录为/home/sub2,并设置密码 2.添加一个group1 组 3.将user01用户添加到group1组中 4.修改group1组名称为group2 5.修改user01的家目录为/home/user01 6.判断/etc/password这个目录是否包含user01这个用户 7.修改user01的shell为/bin/tcsh 8.添加一个group3组,把user01和root用户都添加到该组

https://www.sodocs.net/doc/299245553.html,er01用户从group2组切换到group3组 10.设置user01的密码在2012-5-20过期 11.把/home/user01目录所属的组修改为group3 12.删除user01帐号 13.查看内核版本号 二)进程管理 1.运行cat命令:vi test,输入若干字符如this is a example,挂起vi进程 2.显示当前所有作业 3.将vi进程调度到前台运行

4.将vi进程调度到后台并分别用kill/pkill/killall命令结束该该进程。 三)磁盘管理 1.通过fdisk 将为硬盘增加一个分区(主分区或者逻辑分区)。 2.并格式化ext3系统,

3.检测分区是否有坏道 4.检测分区的完整性 5.加载分区到/mnt目录(或者其他分区)下,并拷贝一些文件到该目录下 6.(选做)为test用户设置磁盘配额(软限制和硬限制参数自行设定) 7.退出/mnt目录后卸载该分区 8.用du查看/usr目录的大小

实验5 文件系统管理

广东技术师范学院实验报告 学院:计算机科学学 院 专业:物联网工程班级: 12物 联网 成绩: 姓名:邓文龙学号:08 组别:组员: 实验地点:工业中心204 实验日期:2014.03.26 指导教师签名: 实验5项目名称:文件系统管理 1、实验目的 理解Linux系统中的文件系统基本结构,掌握各种访问和管理文件以及文件系统的基本命令。 2、实验内容 2.1 文件系统管理的基本概念 文件系统(file system)是指操作系统中用于管理文件信息的软件机构。借用维基百科里面关于文件系统的解释(https://www.sodocs.net/doc/299245553.html,/wiki/文件系统):计算机的文件系统是一种存储和组织计算机数据的方法,它使得对其访问和查找变得容易,文件系统使用文件和树形目录的抽象逻辑概念代替了硬盘和光盘等物理设备使用数据块的概念,用户使用文件系统来保存数据不必关心数据实际保存在硬盘(或者光盘)的地址为多少的数据块上,只需要记住这个文件的所属目录和文件名。在写入新数据之前,用户不必关心硬盘上的那个块地址没有被使用,硬盘上的存储空间管理(分配和释放)功能由文件系统自动完成,用户只需要记住数据被写入到了哪个文件中。 文件系统既要建立在一定的物理存储设备上,但却是一个逻辑上的概念。对用户来说,关于文件的各种操作及访问都需要通过文件系统进行,文件系统成为用户和存储设备之间的一个重要界面。本实验主要讨论在Linux系统中文件以及文件系统管理的各种操作。 文件系统管理主要包括两大部分的内容,一部分是结合文件系统的基本特性,对文件系统作必要的设置,监控文件系统的基本使用状态,另一部分则是对文件的各类管理操作。这些都是从软件层面上对文件系统进行管理。部分最基本的shell命令已经之前的实验中有所介绍。 2.2文件系统 2.2.1文件系统的层次结构(补充教材6.4.1节) 文件系统表达了一种组织文件的方式。一般地,UNIX文件系统采用的都是一种所谓树状的层次结构,称为“根文件系统”。如下图所示,树根以“/”表示,

实验四 文件系统实验

实验四文件系统实验 一 . 目的要求 1、用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。 2、要求设计一个 n个用户的文件系统,每次用户可保存m个文件,用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有Create、delete、open、close、read、write等命令。 二 . 例题: 1、设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。 2、程序采用二级文件目录(即设置主目录[MFD])和用户文件目录(UED)。另外,为打开文件设置了运行文件目录(AFD)。 3、为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指针,并不进行实际的读写操作。 4、算法与框图: ①因系统小,文件目录的检索使用了简单的线性搜索。 ②文件保护简单使用了三位保护码:允许读写执行、对应位为 1,对应位为0,则表示不允许读写、执行。 ③程序中使用的主要设计结构如下: 主文件目录和用户文件目录( MFD、UFD) 打开文件目录( AFD)(即运行文件目录)

文件系统算法的流程图如下: 三 . 实验题: 1、增加 2~3个文件操作命令,并加以实现。(如移动读写指针,改变文件属 性,更换文件名,改变文件保护级别)。 #include #include #include #define getpch(type) (type*)malloc(sizeof(type)) int userNum=0; struct mdf {

进程管理实验报告文档

实验一进程管理 1.实验目的: (1)加深对进程概念的理解,明确进程和程序的区别; (2)进一步认识并发执行的实质; (3)分析进程争用资源的现象,学习解决进程互斥的方法; (4)了解Linux系统中进程通信的基本原理。 2.实验预备内容 (1)阅读Linux的源码文件,加深对进程管理概念的理解; (2)阅读Linux的fork()源码文件,分析进程的创建过程。 3.实验内容 (1)进程的创建: 编写一段程序,使用系统调用fork() 创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”,子进程分别显示字符“b”和“c”。试观察记录屏幕上的显示结果,并分析原因。 源代码: #include <> #include <> #include #include <> main() {

int p1,p2; p1=fork(); ockf()函数是将文件区域用作信号量(监视锁),或控制对锁定进程的访问(强制模式记录锁定)。试图访问已锁定资源的其他进程将返回错误或进入休态,直到资源解除锁定为止。而上面三个进程,不存在要同时进入同一组共享变量的临界区域的现象,因此输出和原来相同。 (3) a) 编写一段程序,使其实现进程的软中断通信。 要求:使用系统调用fork() 创建两个子进程,再用系统调用signal() 让父进程捕捉键盘上来的中断信号(即按DEL键);当捕捉到中断信号后,父进程用系统调用Kill() 向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止: Child Process 1 is killed by Parent! Child Process 2 is killed by Parent! 父进程等待两个子进程终止后,输出如下的信息后终止: Parent Process is killed!

实验5_Linux文件压缩命令

实验5: Linux文件压缩命令 实验目标 了解文件压缩、解压的作用; 掌握Linux文件压缩/解压命令; 知识准备 Linux文件压缩软件包括tar、gzip、gunzip、bzip2、bunzip2、compress、uncompress、zip、unzip、rar、unrar等,使用它们可以对.tar、.gz、.tar.gz、. tgz、.bz2、.tar.bz2、.Z、.tar.Z、.zip、.rar 等压缩包文件进行操作。 (1)tar命令 tar 可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。 语法:tar [主选项+辅选项] 文件或者目录 主选项: c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。 r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。t 列出档案文件的内容,查看已经备份了哪些文件。 u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。 x 从档案文件中释放文件。 辅助选项: b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)。 f 使用档案文件或设备,这个选项通常是必选的。 k 保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。 m 在还原文件时,把所有文件的修改时间设定为现在。 M 创建多卷的档案文件,以便在几个磁盘中存放。 v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。 w 每一步都要求确认。 z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。 (2)gzip命令 减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。 语法:gzip [选项]压缩(解压缩)的文件名 各选项的含义: -c 将输出写到标准输出上,并保留原有文件。 -d 将压缩文件解压。 -l 对每个压缩文件,显示下列字段: 压缩文件的大小

操作系统实验5文件系统:Linux文件管理

实验5 文件系统:Linux文件管理 1.实验目的 (1)掌握Linux提供的文件系统调用的使用方法; (2)熟悉文件和目录操作的系统调用用户接口; (3)了解操作系统文件系统的工作原理和工作方式。 2.实验内容 (1)利用Linux有关系统调用函数编写一个文件工具filetools,要求具有下列功能:*********** 0. 退出 1. 创建新文件 2. 写文件 3. 读文件 4. 复制文件 5. 修改文件权限 6. 查看文件权限 7. 创建子目录 8. 删除子目录 9. 改变当前目录到指定目录 10. 链接操作 *********** 代码: #include #include #include #include #include #include #include #include void menu(void); void openfile(void); void writefile(void); void readfile(void); void copyfile(void); void chmd(void); void ckqx(void); void cjml(void); void scml(void); void ggml(void); void ylj(void); int main() { int choose; int suliangjin=1;

menu(); scanf("%d",&choose); while(choose!=0) { switch(choose) { case 1:openfile();break; case 2:writefile();break; case 3:readfile();break; case 4:copyfile();break; case 5:chmd();break; case 6:ckqx();break; case 7:cjml();break; case 8:scml();break; case 9:ggml();break; case 10:ylj();break; } menu(); scanf("%d",&choose); } return 0; } void menu(void) { printf("文件系统\n"); printf("1.创建新文件\n"); printf("2.写文件\n"); printf("3.读文件\n"); printf("4.复制文件\n"); printf("5.修改文件权限\n"); printf("6.查看文件权限\n"); printf("7.创建子目录\n"); printf("8.删除子目录\n"); printf("9.改变目前目录到指定目录\n"); printf("10.链接操作\n"); printf("0.退出\n"); printf("请输入您的选择...\n"); } void openfile(void) { int fd; if((fd=open("/tmp/hello.c",O_CREAT|O_TRUNC|O_RDWR,0666))<0) perror("open");

教学建设项目管理办法

教学建设项目管理 办法

福建工程学院教学建设项目管理暂行办法 (闽工院教[ ]25号) 为贯彻落实《教育部财政部关于实施高等学校本科教学质量与教学改革工程的意见》(教高〔〕1号)和《教育部关于进一步深化本科教学改革全面提高教学质量的若干意见》(教高〔〕2号)的精神,进一步推进学校教学改革,提高学校教学建设水平,规范教学建设项目经费的管理,提高经费的使用效益,特制订本暂行办法。 一、教学建设项目范围 1.专业建设项目:校级合格专业、重点(特色)专业建设项目,省级特色专业建设项目等。 2.课程建设项目:校级优秀课程建设项目,校级、省级和国家级精品课程建设项目。 二、教学建设项目管理 1. 获批准的建设项目,由项目负责人填写《福建工程学院教学建设项目任务书》,系(部)主任审核签署意见后报教务处。 2. 经审核经过,学校根据任务书下拨50%的建设项目经费。 3.按照建设计划,在项目建设中期,项目负责人填写《福建工程学院教学建设项目中期检查申请表》,系(部)主任审核签署意见后报教务处。 4.学校组织中期检查。

5.项目中期验收合格后,学校下拨余下50%的建设项目经费。 6.项目结束后,项目负责人填写《福建工程学院教学建设项目结项申请表》,系(部)主任审核签署意见后报教务处。 7.学校组织验收,对项目建设成绩突出的给予奖励;对未能按期完成建设任务的,追回投入的项目建设经费,并予以通报。 三、教学建设经费的管理 (一)原则 1.统一规划,分期实施;单独核算,专款专用;专项管理,绩效考评。 2.重点建设国家级和省级特色专业、国家级和省级精品课程,支持建设校级重点专业、公共基础课、专业基础课。 3.各类教学建设项目确定后,由各系(部)负责组织实施,教务处负责组织验收,计财处监督经费使用。 (二)开支范围 教学建设费用按项目进行分项预算,开支范围主要包括:图书资料费、数据采集费、国内调研差旅费、实验建设费、必要的小型会议费、必要的专家咨询费、劳务费(包括少量招待费)及项目建设的其它支出等。具体如下: 1.图书资料费:指购买专业教学用图书、杂志、参考资料等,翻拍、翻译资料以及打印、复印、制图等费用; 2.数据采集费:指围绕项目研究而开展数据跟踪采集、案例

Linux文件系统实验

实验编号与实验名称: 文件系统实验 实验目的: 熟悉文件和目录的基本操作;了解Linux的/proc文件系统 实验内容及要求(详见实验讲义与实验指导书): 内容: 1)在/usr目录下创建一个目录usr_test和文本文件test,并建立一个test文件的链接 test02。通过修改test文件中的内容查看test和test02中内容的情况,并分析原因。 2)编写程序,从/proc文件中抽取内核参数(任意的2个参数即可,如CPU时钟速度信 息等) 3)实现文件的拷贝,即把一个文件内容复制到另一个文件 要求: 对于内容1),给出操作步骤和结果分析,需回顾第二次实验中练习过的Shell命令和教材中的文件和目录操作系统调用 对于内容2)和3)给出完整C语言代码或者代码截图和代码执行结果,可参考本文件“实验预读”中相关内容和教材P.149/266图4-5相关代码 实验用到的软件(:) VMware 实验内容及关键步骤(代码)Q2(60分) 1)在/usr目录下创建一个目录usr_test和文本文件test,并建立一个test文件的链接 test02。通过修改test文件中的内容查看test和test02中内容的情况,并分析原因。

分析:在linux系统中通过link连接就可以通过第三方的查询,通过link函数后test01被绑定给test02中,所以可以通过test02去查询。 2.编写程序,从/proc文件中抽取内核参数(任意的2个参数即可,如CPU时钟速度信息等)

3.实现文件的拷贝,即把一个文件内容复制到另一个文件

实验过程中遇到的问题解决办法与实验体会Q3(10分)得分: 评阅教师特殊评语: 评阅教师: 日期:

操作系统文件管理实验报告

操作系统实验报告实验名称:文件管理 专业班级:网络工程1301 学号: 姓名: 2015 年6 月16 日

实验一文件管理 一、实验目的 文件管理是操作系统的一个非常重要的组成部分。学生应独立用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质容和执行过程有比较深入的了解,掌握它们的实施方法,加深理解课堂上讲授过的知识。 二、预备知识 1.VS2010的使用 2.C#的学习 3.文件主目录与子目录的理解 三、实验容与步骤 用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。要求设计一个10 个用户的文件系统,每次用户可保存10 个文件,一次运行用户可以打开5 个文件。系统能够检查打入命令的正确性,出错时能显示出错原因。对文件必须设置保护措施,例如只能执行,允许读等。在每次打开文件时,根据本次打开的要求,在此设置保护级别,即有二级保护。文件的操作至少有Create、delete、open、close、read、write 等命令。 所编写的程序应采用二级文件目录,即设置主文件目录和用户文件目录。前者应包含文件主及它们的目录区指针;后者应给出每个文件占有的文件目录,即文件名,保护码,文件长度以及它们存放的位置等。另外为打开文件设置运行文件目录(AFD),在文件打开时应填入打开文件号,本次打开保护码和读写指针等。 程序流程图:

逻辑设计: 使用线性数组表表示MFD,泛型数组表示UFD,每个元素包括用户ID、保存的文件数、再使用线性表表示文件信息,每个元素包括文件名,文件属性(保护码),文件的状态等信息。 物理设计: //主目录 private FileUser[] mfd; //当前用户 private FileUser currentuser; ///

/// 文件 /// public class FileObject { public string filename; public int size=20; public int read=0; public int write = 0; public string author; } /// /// 文件系统用户 /// public class FileUser { public string username;

福建工程学院成绩及绩点计算方法 - 福建工程学院教务处

福建工程学院成绩及绩点计算说明 Instructions of Academic Score & GPA Calculation of Fujian University of Technology 一、福建工程学院学分绩点采用5分制(Five-point Grading System is applied to GPA Calculation in Fujian University of Technology) 二、考核成绩与学分绩点的计算办法(Assessment Grades and GPA Calculation Method) 1.百分制考核成绩换算成绩绩点公式 成绩绩点=课程成绩÷10-5(注:绩点最小单位为0.1,绩点小于1时作0对待)。The formula of converting the grades of percentage system to that of grading system Grade point = course scor e÷10 -5(note: the unit of the minimum grade point is 0.1 and GPA is 0 if it is less than 1). 2.原有五级制考核成绩换算成绩绩点的办法 The method of converting the grades of the original five-band grading system to that of five-point grading 3.免考课程按照“70”分计算绩点。 For exempt courses, the grade points are measured by the score "70". 三、课程学分绩点、平均学分绩点的计算(Calculation of course grade points & average grade points) 1.课程学分绩点=课程成绩绩点×课程学分。 Course grade points = grade points×course credits. 2.平均学分绩点=各门课程学分绩点之和÷各门课程的学分之和。 Average grade point =total course grades ÷total course credits .

文件系统实验报告

实验二文件系统实验报告

一.实验简介 本实验要求在假设的I/O 系统之上开发一个简单的文件系统,这样做既能让实验者对文件系统有整体了解,又避免了涉及过多细节。用户通过create, open, read 等命令与文件系统交互。文件系统把磁盘视为顺序编号的逻辑块序列,逻辑块的编号为0 至L-1。I/O 系统利用内存中的数组模拟磁盘。 实际物理磁盘的结构是多维的:有柱面、磁道、扇区等概念。I/O 系统的任务是隐藏磁盘的结构细节,把磁盘以逻辑块的面目呈现给文件系统。逻辑块顺序编号,编号取值范围为0 至L .. 1,其中L 表示磁盘的存储块总数。实验中,我们可以利用字符数组ldisk[L][B] 构建磁盘模型,其中 B 表示每个存储块的长度。I/O 系统从文件系统接收命令,根据命令指定的逻辑块号把磁盘块的内容读入命令指定的内存区域,或者把命令指定的内存区域内容写入磁盘块。 我设计的文件系统拥有三个用户。 二.具体说明 1.文件系统的组织:磁盘的前k 个块是保留区,其中包含如下信息:位图和文件描述符。位图用来描述磁盘块的分配情况。位图中的每一位对应一个逻辑块。创建或者删除文件,以及文件的长度发生变化时,文件系统都需要进行位图操作。前k 个块的剩余部分包含一组文件描述符。每个文件描述符包含如下信息: ?文件长度,单位字节 ?文件分配到的磁盘块号数组。该数组的长度是一个系统参数。在实验中我们可以把它设置为一个比较小的数,例如3。 2.目录:我们的文件系统中仅设置一个目录,该目录包含文件系统中的所有文件。除了不需要显示地创建和删除之外,目录在很多方面和普通文件相像。目录对应0 号文件描述符。初始状态下,目录中没有文件,所有,目录对应的描述符中记录的长度应为0,而且也没有分配磁盘块。每创建一个文件,目录文件的长度便增加一分。目录文件的内容由一系列的目录项组成,其中每个目录项由如下内容组成: ?文件名 ?文件描述符序号 3.对文件的操作: 文件系统需提供如下函数;create, destroy, open, read, write。 ?create(filename): 根据指定的文件名创建新文件。 ?destroy(filename): 删除指定文件。 ?open(filename): 打开文件。该函数返回的索引号可用于后续的read, write, lseek, 或close 操作。 ?close(index): 关闭制定文件。 ?read(index, mem_area, count): 从指定文件顺序读入count 个字节mem_area 指定的内存位

linux 实验报告 文件系统与文件管理

学生课程实验报告书课程:《linux网络操作系统》 级系 专业班 学号: 姓名: 指导教师:

一、实验项目:用户与组群管理 二、实验日期: 三、实验原理: 1.熟悉Linux下常用的操作指令。 2.加深对文件,目录,文件系统等概念的理解。 3.掌握Linux文件系统的目录结构。 4.掌握有关Linux文件系统操作的常用命令。 5.了解有关文件安全方面的知识。 四、实验仪器: PC机 Redhat网络操作系统 五、实验步骤(纸张不够写可另外加纸并应装订): 进入虚拟机,并在此平台上练习文件管理有关命令.一般在[root @ localhost xxxx]$ 提示符下键入有关命令。 1.浏览文件系统 〈1〉运行pwd命令,确定你当前的工作目录。 〈2〉利用以下命令显示当前工作目录的内容:(理解各字段彻底意义。) 〈3〉运行以下命令:(反馈信息中.代表本身目录,..代表其父目录;选项a可以显示隐藏文件;选项i 可以显示文件的I节点号) ls –ai 〈4〉使用mkdir命令建立一个子目录subdir,并用ls查看当前目录。 〈5〉使用带-d选项的ls命令,你只能看到有关子目录的信息(.表示本身目录)。

〈6〉使用cd命令,将工作目录改到根目录(/)上。 ①用相对路径将工作目录改到根目录。 ②用绝对路径将工作目录改到根目录。 〈7〉使用ls命令列出根目录的内容,再分别列出各子目录的内容,体会各目录作用及访问权限。 〈8〉使用ls-l命令列出/dev的内容。 Ls –l /dev 列出/dev目录的内容,文件太多显示多屏,各行第一个字符为b的表示块特别文件;各行第一个字符为c的表示字符特别文件。 〈9〉使用不带参数的命令cd,然后用pwd命令确定你当前的工作目录是什麽。 〈10〉使用命令cd ../..,你将工作目录移到什麽地方? 2.查看你的文件 〈1〉利用cd命令,将工作目录改到你的主目录上。 〈2〉将工作目录改到你的子目录subdir,然后运行命令: date > file1 将当前日期和时间存放到新建文件file1中。 Ls –l 反馈信息中有新文件 file1。请注意并记下文件长度为:

实验五 文件管理

课程名称:操作系统 课程类型:必修 实验项目名称:文件管理 实验题目:设计一个多用户的文件系统 一、实验目的 随着社会信息量的极大增长,要求计算机处理的信息与日俱增,涉及到社会生活的各个方面。因此,文件管理是操作系统的一个非常重要的组成部分。学生应独立用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解,掌握它们的实施方法,加深理解课堂上讲授过的知识。 二、实验要求及实验环境 用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。要求设计一个10 个用户的文件系统,每次用户可保存10 个文件,一次运行用户可以打开5 个文件。系统能够检查打入命令的正确性,出错时能显示出错原因。对文件必须设置保护措施,例如只能执行,允许读等。在每次打开文件时,根据本次打开的要求,在此设置保护级别,即有二级保护。文件的操作至少有Create、delete、open、close、read、write 等命令。所编写的程序应采用二级文件目录,即设置主文件目录和用户文件目录。前者应包含文件主及它们的目录区指针;后者应给出每个文件占有的文件目录,即文件名,保护码,文件长度以及它们存放的位置等。另外为打开文件设置运行文件目录(AFD),在文件打开时应填入打开文件号,本次打开保护码和读写指针等。 三、设计思想(本程序中的用到的所有数据类型的定义,主程序的流程图及各程序模块之间的调用关系) 1.程序流程图

2.逻辑设计 使用线性表表示UFD,每个元素包括用户ID、保存的文件数、再使用线性表表示文件信息,每个元素包括文件名,文件属性(保护码),文件的状态等信息。该结构需支持以下操作:在尾部插入,查找,修改,在任意位置删除。3、物理设计 char UserName[SizeOfUser][SizeOfUserName];//用户ID long User;//当前用户标志 struct InfoOfFile { char Name[SizeOfFileName];//文件名 bool safe[3];//Read,Write,Execute long status;//ready,open; }UFD[SizeOfUser][SizeOfFile];

福建工程学院教务处内部管理规章制度

福建工程学院教务处内部管理规章制度 (闽工院〔2008〕教39号) 一、教务处内部岗位职责 1.处长、副处长岗位职责 处长职责:主持教务处全面工作,根据上级有关规定和工作计划,提出教务处工作计划,检查落实工作计划;主持处内会议,研究和决定提交学校领导讨论的重大事项;参加上级组织的综合性会议和与分管工作相关的会议,并负责传达和组织实施;负责组织协调、人事管理、考核晋升、评优评奖等工作;负责财务工作;负责分管工作,抓落实。分管综合科、教材中心。 副处长职责:对分管的工作负责,根据教务处工作计划,抓落实;根据上级有关文件、规定,研究提出相关工作建议和方案,组织制定相关规章制度;研究决定与分管工作有关的、在学校管理规章制度规定之外的重要事项,或提出处理意见和方案;参加上级组织的与分管工作相关的会议,并负责传达和组织实施;负责协调科室之间的工作关系。 副处长I:负责招生、实验室(实习基地)建设、实践教学管理和学科竞赛等工作,分管招生办公室、教学实践科。 副处长Ⅱ:负责专业建设、课程建设、教学质量管理、教学运行与考务管理、学籍管理等工作,分管教学研究科、教务管理科。 2.科长、副科长岗位职责 科长职责:主持科内全面工作,落实教务处工作计划,负责本科室的工作计划、工作总结、内部分工与考核;根据学校有关文件、规定,研究提出相关工作建议和方案,组织起草相关规章制度;研究决定本科室工作有关的、在学校管理规章制度规定之外的一般事项,或提出处理意见和方案报分管处长决定;承担一定的具体工作。 副科长:协助科长工作,分管本科室的某方面工作,承当一定的具体工作,并接受处里安排的其他工作。 3.科员、干事、工人岗位职责 负责具体工作的落实,在管理规章制度规定的范围内独立完成工作,超出政策、规章制度规定的,有义务提出建议和措施;根据有关文件、规定,研究草拟与本岗位相关的管理规章制度。

实验5添加一个文件系统

实验5 添加一个文件系统 实验目的 文件系统是操作系统中最直观的部分,因为用户可以通过文件直接地和操作系统交互,操作系统也必须为用户提供数据计算、数据存储的功能。本实验通过添加一个文件系统,进一步理解Linux中的文件系统原理及其实现。 深入理解操作系统文件系统原理 学习理解Linux的VFS文件系统管理技术 学习理解Linux的ext2文件系统实现技术 设计和实现自定义文件系统 实验内容 添加一个类似于ext2的自定义文件系统myext2。实验主要内容: 添加一个和ext2完全相同的文件系统myext2 修改myext2的magic number 修改文件系统操作 添加文件系统创建工具 实验指导 1. 问题描述

本实验的内容是要添加一个类似于ext2的自定义文件系统myext2。myext2文件系统的描述如下: 1、myext2文件系统的物理格式定义与ext2基本一致,除了myext2的magic number 是0x6666,而ext2的magic number是0xEF53。 2、myext2是ext2的定制版本,它只支持原来ext2文件系统的部分操作,以及修改了部分操作。 2. 实验步骤 提示:下面的操作步骤以3.6.6版本的内核为例,2.6.15版本的内核请参照教材,其它版本内核可能会有所区别。 2.1 添加一个和ext2完全相同的文件系统myext2 要添加一个与ext2完全相同的文件系统myext2,首先是确定实现ext2文件系统的内核源码是由哪些文件组成。Linux源代码结构很清楚地告诉我们:fs/ext2目录下的所有文件是属于ext2文件系统的。再检查一下这些文件所包含的头文件,可以初步总结出来Linux 源代码中属于ext2文件系统的有: fs/ext2/acl.c fs/ext2/acl.h fs/ext2/balloc.c fs/ext2/bitmap.c fs/ext2/dir.c

文件系统与文件管理

学生课程实验报告书课程:《Linux操作系统》 级系 专业班 学号: 姓名: 指导教师: 2012—2013学年第 2 学期

一、实验项目:文件系统与文件管理 二、实验日期:2011年11月21日 三、实验原理: 掌握文件系统的挂载与卸载;磁盘配额管理;文件的权限修改;文件的归档与压缩; 四、实验仪器: PC机 Redhat网络操作系统 五、实验步骤(纸张不够写可另外加纸并应装订): 1.对/文件系统实施用户级配额管理,对普通用户hellen与jerry进行配额 管理,磁盘空间软配额为300M,硬配额为350M,文件数量配额为:软配额12个,硬配额为15个。写出配额的具体步骤,并测试用户级配额是否成功。 答案:首先,创建hellen和jerry两个用户,配额步骤如下: 1)使用任何文本编辑工具编辑/etc/fstab文件,对“LABEL=/”所在行进行修改,增加命令选项usrquota。 2)重启电脑或者输入mount –o remount / 重新挂载/ 3)利用quotacheck命令创建https://www.sodocs.net/doc/299245553.html,er文件。 #touch https://www.sodocs.net/doc/299245553.html,er #quotacheck –mc /home

4)edquota hellen ,编辑hellen用户的bolck的软配额为300M,硬配额为350M,inodes的软配额为12个,硬配额为15个,修改内容如下: block soft hard inodes soft hard 0 307200 358400 0 12 15 5)将同样的配额设定复制给jerry用户 # edquota -p hellen jerry 6)启动配额管理 #quotaon –avu 之后,对配额进行测试,发现当拷贝文档个数大于12个或者文件大小超过300M的时候,终端进行警告提示,当文件个数大于15个或者文件大小超过350M的时候,不能往/写入任何内容。 2.在桌面环境下,选中有个文件或文件夹进行相应权限的修改。 3.用chmod命令分别用数字模式和功能模式修改/root/install.log文件属性。 答案:功能模式下修改权限 1)增加同组用户写入:chmod g+w /root/install.log 2)增加其他用户写入:chmod o+w /root/install.log 3)增加文件所有者写入:chmod u+w /root/install.log 4)增加同组用户读:chmod g+r /root/install.log 5)增加其他用户读:chmod o+r /root/install.log 6)增加文件所有者读:chmod u+r /root/install.log

相关主题