搜档网
当前位置:搜档网 › 文件系统存储空间管理模拟实验报告

文件系统存储空间管理模拟实验报告

文件系统存储空间管理模拟实验报告
文件系统存储空间管理模拟实验报告

课程名称计算机操作系统实验名称文件系统存储空间管理模拟姓名学号

专业班级实验日期

成绩指导老师

一、实验目的

根据提出的文件分配和释放请求,动态显示磁盘空闲空间的

态以及文件目录的变化,以位示图和索引分配为例:每次执行请求后要求显示或打印位示图的修改位置、分配和回收磁盘的物理块地址、更新的位示图、目录。

二、实验原理

用数组表示位示图,其中的每一位对应磁盘一个物理块的状态,0表示、空闲,1表示分配;当请求分配一个磁盘块时,寻找到数组中为0的位,计算相对磁盘块号,并计算其在磁盘中的物理地址(柱面号、磁道号、物理块号),并将其状态由0变到1。当释放某一物理块时,已知其在磁盘中的物理地址,计算其相对磁盘块号,再找到位示图数组中的相应位,将其状态由1变为0。

三、主要仪器设备

PC机(含有VC)

四、实验容与步骤

实验容:1. 模拟文件空间分配、释放过程,可选择连续分配、链式分配、索引分配法;2. 文件空闲空间管理,可采用空白块链、空白目录、位示图法;

步骤如下:

1. 输入磁盘基本信息参数,计算位示图大小,并随机初始化位示图;

(1)磁盘基本信息:磁盘柱面数m, 每柱面磁道数p, 每磁道物理块数q;

(2)假设采用整数数组存放位示图,则数组大小为:

Size= ceil((柱面数*每柱面磁道数*每磁道物理块数)/(sizeof(int)*8))(3)申请大小为size的整数数组map,并对其进行随机初始化。

例如:假设m=2, p=4, q=8, 共有64个磁盘块,若sizeof(int)=2, 则位示图大小为4,map[4]如下:

地址到高地址位上。即map[0]的第0位到第15位分别对应0号磁盘块到15号磁盘块的状态,map[1]的第0位到第15位对应16号磁盘块到31号磁盘块的状

如上表所示,29号磁盘的状态存在map[1]中,对应于第13位;

2. 输出初始位示图信息;

3. 输入文件分配或释放请求,

(1)格式:“+ 文件名申请块数”或“- 文件名”

“+”表示申请文件分配,“-”表示删除文件

如:+ F1 5

4. 根据请求完成相应操作。

(1)若为分配申请x个盘块,则在位示图中找到x个为0的位,将其修改为“1”,计算相应具体物理设备的柱面号C、磁道号H和物理块号R,并将CHR 地址或相对磁盘块号记录在文件目录中。输出位示图修改位置、分配的磁盘块CHR地址、修改后的目录和位示图信息。否则,空间不够,退出执行下一条请求;

●计算公式如下:

a. 已知位示图中的下标i , j, 计算相对块号

Block= i*sizeof( int )*8+j

b. 已知相对块号计算柱面、磁道、物理块号如下:

柱面号C= 相对块号/(每柱面磁道数*每磁道物理块数)

磁道号H= 相对块号%(每柱面磁道数*每磁道物理块数)/ 每磁道物理块数

物理块号R= 相对块号%每磁道物理块数

(2)若为删除申请,则从目录中找到要删除的文件所在的目录项,读取索引表,依次读

取文件相应的盘块CHR地址, 计算该盘块的相对磁盘块号,再计算其相应信息在位示图中的位置( i,j),将位示图中的相应位有“1”改为“0”,并从目录中删除该目录项。输出删除的磁盘块CHR地址、相应位示图修改位置、修改过的位

示图和目录。

计算过程如下:

相对磁盘块号= 柱面号*每柱面磁道数*每磁道物理块数+

磁道号*每磁道物理块数+ 物理块号

i = 相对磁盘块号/ (sizeof(int)*8)

j = 相对磁盘块号% (sizeof(int)*8)

五、实验流程图

图一文件空闲区分配算法

图二文件空闲区回收算法

六、实验代码

#include "stdio.h"

#include

#include

#include

int physic[100]; //文件地址缓冲区

int style=1; //文件的类型

char cur_dir[10]="root"; //当前目录

struct command

{char [10];

}cmd[13];

struct block

{ int n; //空闲的盘快的个数

int free[50]; //存放空闲盘快的地址

int a; //模拟盘快是否被占用

}memory[20449];

struct block_super

{int n; //空闲的盘快的个数

int free[50]; //存放进入栈中的空闲块

int stack[50]; //存放下一组空闲盘快的地址

}super_block;

struct node //i结点信息

{int file_style; //i结点文件类型

int file_length; //i结点文件长度

int file_address[100]; //i结点文件的物理地址

} i_node[640];

struct dir //目录项信息

{char file_name[10]; //文件名

int i_num; //文件的结点号

char dir_name[10]; //文件所在的目录

} root[640];

void format() //格式化

{int i,j,k;

super_block.n=50;

for(i=0;i<50;i++) //超级块初始化

{ super_block.free[i]=i; //存放进入栈中的空闲块super_block.stack[i]=50+i; //存放下一组的盘块}

for(i=0;i<640;i++) //i结点信息初始化

{for(j=0;j<100;j++)

{i_node[i].file_address[j]=-1;//文件地址

}

i_node[i].file_length=-1; //文件长度

i_node[i].file_style=-1; //文件类型

}

for(i=0;i<640;i++) //根目录区信息初始化{strcpy(root[i].file_name,"");

root[i].i_num=-1;

strcpy(root[i].dir_name,"");

}

for(i=0;i<20449;i++) //存储空间初始化{memory[i].n=0; //必须有这个

memory[i].a=0;

for(j=0;j<50;j++)

{memory[i].free[j]=-1;

}

for(i=0;i<20449;i++) //将空闲块的信息用成组的法写进每组的最后一个块中{ //存储空间初始化

if((i+1)%50==0)

{k=i+1;

for(j=0;j<50;j++)

{if(k<20450)

{memory[i].free[j]=k;//下一组空闲地址

memory[i].n++; //下一组空闲个数注意在memory[i].n++之前要给其赋初值k++;

}

else

{memory[i].free[j]=-1;

}

}

memory[i].a=0; //标记为没有使用

continue; //处理完用于存储下一组盘块信息的特殊盘块后,跳过本次循环

}

for(j=0;j<50;j++)

{memory[i].free[j]=-1;

}

memory[i].n=0;

}

printf("已经初始化完毕\n");

printf("进入UNIX文件模拟............\n\n");}

void write_file(FILE *fp) //将信息读入系统文件中

{int i;

fp=fopen("system","wb");

for(i=0;i<20449;i++)

{ fwrite(&memory[i],sizeof(struct block),1,fp);

}

fwrite(&super_block,sizeof(struct block_super),1,fp);

for(i=0;i<640;i++)

{write(&i_node[i],sizeof(struct node),1,fp);

}

for(i=0;i<640;i++)

{ fwrite(&root[i],sizeof(struct dir),1,fp);

}

fclose(fp);

}

void read_file(FILE *fp) //读出系统文件的信息

{ int i;

fp=fopen("system","rb");

for(i=0;i<20449;i++)

{fread(&memory[i],sizeof(struct block),1,fp);

}

fread(&super_block,sizeof(struct block_super),1,fp);

for(i=0;i<640;i++)

{ fread(&i_node[i],sizeof(struct node),1,fp);

}

for(i=0;i<640;i++)

{fread(&root[i],sizeof(struct dir),1,fp);

}

fclose(fp);

}

void callback(int length) //回收磁盘空间

{ int i,j,k,m,q=0;

for(i=length-1;i>=0;i--)

k=physic[i]; //需要提供要回收的文件的地址

m=49-super_block.n; //回收到栈中的哪个位置

if(super_block.n==50) //注意当super_block.n==50时m=-1;的值

{ //super_block.n==50的时候栈满了,要将这个栈中的所有地址信息写进下一个地址中

for(j=0;j<50;j++)

{

memory[k].free[j]=super_block.free[j];

}

super_block.n=0;

memory[k].n=50;

}

memory[k].a=0;

if(m==-1)

{ m=49; //将下一个文件地址中的盘块号回收到栈底中,这个地址中存放着刚才满栈的地址的信息

}

super_block.free[m]=physic[i]; //将下一个文件地址中的盘块号回收到栈中

super_block.n++;

}

}

void allot(int length) //分配空间

{ int i,j,k,m,p;

for(i=0;i

{

k=50-super_block.n; //超级块中表示空闲块的指针

m=super_block.free[k]; //栈中的相应盘块的地址

p=super_block.free[49]; //栈中的最后一个盘块指向的地址

if(m==-1||memory[p].a==1) //检测是否还有下一组盘块

{

printf("存不足,不能够分配空间\n");

callback(length);

break;

}

if(super_block.n==1)

{

memory[m].a=1; //将最后一个盘块分配掉

physic[i]=m;

super_block.n=0;

for(j=0;j

{

super_block.free[j]=memory[m].free[j];

super_block.n++;

}

continue; //要跳过这次循环,下面的语句在IF中已经执行过

}

physic[i]=m; //栈中的相应盘块的地址写进文件地址缓冲区

memory[m].a=1;

super_block.n--;

}

}

void create_file(char filename[],int length) //创建文件

{

int i,j;

for(i=0;i<640;i++)

{

if(strcmp(filename,root[i].file_name)==0)

printf("文件已经存在,不允建立重名的文件\n");

return;

}

}

for(i=0;i<640;i++)

{

if(root[i].i_num==-1)

{

root[i].i_num=i;

strcpy(root[i].file_name,filename);

strcpy(root[i].dir_name,cur_dir); //把当前目录名给新建立的文件

i_node[i].file_style=style;

i_node[i].file_length=length;

allot(length);

for(j=0;j

{

i_node[i].file_address[j]=physic[j];

}

break;

}

}

}

void create_dir(char filename[]) //创建目录

{style=0; //0代表文件类型是目录文件

create_file(filename,4);

style=1; //用完恢复初值,因为全局变量,否则

}

void del_file(char filename[]) //删除文件

{

int i,j,k;

for(i=0;i<640;i++)

{if(strcmp(filename,root[i].file_name)==0)

{

k=root[i].i_num;

for(j=0;j

{

physic[j]=i_node[k].file_address[j];

}

callback(i_node[k].file_length); //调用回收函数

for(j=0;j<100;j++) //删除文件后要将文件属性和目录项的各个值恢复初值

{

i_node[k].file_address[j]=-1; //地址恢复初值

}

strcpy(root[i].file_name,""); //文件名恢复初值

root[i].i_num=-1; //目录项的I结点信息恢复初值

strcpy(root[i].dir_name,""); //目录项的文件目录信息恢复初值

i_node[k].file_length=-1; //文件长度恢复

i_node[k].file_style=-1; //文件类型恢复初值

break;

}

}

if(i==640)

{

printf("不存在这个文件\n");

}

}

void del_dir(char filename[]) //删除目录需要判断目录下时候为空,不为空就不删除

文件系统实验报告

嵌入式系统实验报告(二) --嵌入式文件系统的构建 138352019陈霖坤一实验目的 了解嵌入式操作系统中文件系统的类型和作用 了解JFFS2文件系统的优点及其在嵌入式系统中的作用 掌握利用Busybox软件制作嵌入式文件系统的方法 掌握嵌入式linux文件系统的挂载过程 二实验内容与要求 编译BusyBox,以BusyBox为基础,构建一个适合的文件系统; 制作ramdisk文件系统映像,用你的文件系统启动到正常工作状态; 研究NFS作为根文件系统的启动过程。 三Busybox介绍 BusyBox最初是由Bruce Perens在1996年为Debian GNU/Linux安装盘编写的,其原始构想是希望在一张软盘上能放入一个开机系统,以作为急救盘和安装盘。后来它变成了嵌入式Linux设备和系统和Linux发布版安装程序的实质标准,因为每个Linux可执行文件需要数Kb的空间,而集成两百多个程序的BusyBox可以节省大量空间。Busybox集成了包括mini-vi编辑器、/sbin/init、文件操作、目录操作、系统配置等应用程序。 Busybox支持多种体系结构,可以选择静态或动态链接,以满足不同需要。 四linux文件系统 文件系统是对一个存储设备上的数据和元数据进行组织的机制,linux文件系统接口设计为分层的体系结构,从而将用户接口层、文件系统实现层和操作存储设备的驱动程序分隔开。 在文件系统方面,linux可以算得上操作系统中的“瑞士军刀”。Linux支持许多种文件系统,从日志型文件系统到集群文件系统和加密文件系统,而且对于使用标准的和比较奇特的文件系统以及开发文件系统来说,linux是极好的平台,这得益于linux内核中的虚拟文件系统(VFS,也称虚拟文件系统交换器)。 文件结构 Windows的文件结构是多个并列的树状结构,不同的磁盘分区各对应一个树。Linux的文件结构是单个的树,最上层是根目录,其它目录都从根目录生成。不同的linux发行版集

文件管理习题集与答案解析

第七章 一.选择题 1.FAT能描述文件的_B__特征。 A.文件逻辑 B.文件物理结构 C.文件共享 D.文件保护 2.文件的符号名与物理地址的转换是通过_C__来实现的。 A.索引 B.索引节点 C.文件目录 D.二级索引 3.在UNIX文件系统中,为了对磁盘空间的空闲块进行有效的管理,采用的方法是_B__。 A.空闲表 B.成组链接法 C.FAT D.位示图法 4.为了实现对文件的共享访问,在读写文件时需对文件加锁。现在已有一个用户对某文件进行了读加锁,则另一个用户对该文件的_B__加锁操作可以成功。 A.加读锁和写锁均不能成功 B.加读锁能成功 C. 加读锁和写锁均能成功 D. 加写锁能成功 5.操作系统实现文件管理后,允许用户对流式文件进行存取的最小单位是___D__。 A.数据项 B.记录 C.文件 D.字符 6. 操作系统采用多级目录结构可以__A__。 A.解决命令冲突 B.节省存储空间 C.缩短文件传送时间 D.减少系统开销 7.下述有关文件管理的叙述中,_C__是正确的。 A.一个文件不能同时多次建立 B.在一级目录结构中,不同用户可以用相同的文件名

C.文件系统主要是实现按名存取 D.逻辑记录的大小与存储介质块的大小必须一一对应 8.文件系统是指___D__。 A.文件的集合 B.实现文件管理的一组软件 C.文件的目录 D.文件及其属性、管理文件的软件和文件系统接口 9.文件系统的主要目的是__A__。 A.实现对文件的按名存取 B.实现虚拟存储 C.提高外存的读写速度 D.用于存储系统文件 10.操作系统实现文件管理后,用户对记录式文件进行存取的最小单位是_C__。 A.扇区 B.字节 C.目录 D.记录 11.为了解决不同用户文件的“命名冲突”问题,通常在文件系统中采用以下_B__方法。 A.约定的方法 B.多级目录 C.路径 D.索引 12.文件的绝对路径是指_C__。 A.文件名和文件扩展名 B.一系列的目录文件名和该文件的文件名 C.从根上到该文件所经历的路径中各符号名的集合 D.目录文件名和文件名的集合 13.文件的相对路径名从__A__开始,逐步沿着各级子目录追溯,最后到指定文件的整个路径上所有子目录名组成的一个字符串。 A.当前目录 B.根目录 C.多级目录 D.二级目录 14.对一个文件的访问,常由以下__A__共同控制。

管理信息系统实验报告

一、对实习目的认识 ERP模拟实习(实验)是在学生学习《生产运作管理》等相关课程的基础上,为使学生加深对理论教学的理解,配合教学内容所开设的实验教学环节。通过对与企业主要业务有关的各子系统的认知与操作,使学生了解ERP系统的基本构成与操作方法,能够增强学生计算机的应用能力,培养学生分析问题与解决问题的能力,有利于对理论教学内容的消化与吸收,并为今后从事实际工作打下一定的基础。 本实习是以广州五羊-本田公司某个月份的实际主要业务为基础,通过模拟实习,使学生在参与营销、技术、采购、设备、生产、品质、仓库、财务、人事等各个环节的实际操作过程中,熟悉各职能部门是怎样独立运作,部门之间是怎样相互协调关系。把企业作为整体系统适应外部环境变化的条件,应该如何有效地进行现代企业管理的运作。为便于实习,对每一个功能模块操作,提出较为具体的要求: 通过基础数据模块的实习,理解基础数据在企业管理中的作用。 通过营销管理模块的实习,掌握销售合同的签定,按客户订单组织生产的一般流程,掌握客户管理的基本内容与要求,了解售后服务的主要业务,明确营销管理在企业管理中的重要地位。 通过生产管理模块的实习,掌握生产计划的制定方法,以及按生产计划组织生产过程的一般流程,了解物料清单和物料需求计划的基本内容。 通过采购管理模块的实习,掌握物料采购的一般流程;理解物料供应的基本要求。 通过仓库管理模块的实习,掌握库存管理的一般流程,了解库存控制的方法。 通过品质管理模块的实习,理解品质管理的体系包括品质的控制、品质保证、品质工程三个重要组成部分的基本要求;掌握物料、产品质检的一般流程;了解质检技术标准。 通过财务管理模块的实习,掌握应收款和应付款业务处理流程;掌握成本核算的内容及要求;掌握财务成果核算的要点,了解资金筹备和运用的价值分析。 学生通过以上模块的实习,能够了解现代企业管理的一般流程,并能整合所学的管理理论知识,掌握现代企业管理的实用工具与方法,成为企业所需要的实用管理人才。 二、对《企业管理教学模拟实习软件》的整体设计思想的认识 现代企业管理教学模拟实习多媒体教学系统分为“实习目的、企业背景简介、企业流程介绍、模拟实习”四个部分;在模拟实习部分中包括十三个功能模块,每个模块都配有详细的操作说明以及相应的理论知识同时提供了完整的在线帮助、数据导入、数据流程图和教学案例等;完全模拟一个大型企业整体运作过程,学生可自行设计数据进行教学与实习,使教学与实习更贴近于实际。 我们通过对企业管理教学系统的操作学习,学生能够充分体验到企业在以销定产经营模式中,销售定单的变动将引起生产计划、物料分解、采购计划、库存管理、质量管理及相应的财务、设备、人事等各个环节的变化,反映出整个系统

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

操作系统实验报告实验名称:文件管理 专业班级:网络工程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;

Linux文件系统实验报告

黄冈师学院 提高型实验报告 实验课题文件系统的设计与实现(实验类型:□综合性 设计性□应用性) 实验课程操作系统原理 实验时间2015-2016 第二学期 学生何正发 专业班级软件工程1401 学号07

成绩: 一、实验目的和要求 1、熟悉操作系统设计的过程,巩固操作系统的基本知识,加深对操作原理、功能及各种不同的存储管理方法理解与应用; 2、学会运用各种语言、软件开发新软件的基本方法; 3、增强实际应用能力和动手操作能力。 二、实验条件 Win7 /Windows 8.1/Linux等操作系统,装有java、C、C++、C#等语言工具的环境。 三、实验原理分析 可以选择最佳适应算法,按照从小到大的次序组成空闲区自由链,当用户作业或进程申请一个空闲区时,存储管理 程序从表头开始查找,当找到第一个満足要求的空闲区时,停止查找。如果该空闲区大于请求表中的请求长 度,将减去请求长度后的剩余空闲区部分留在可用表中。回收时,从作链中删去要回收的作业块,同时在空 闲链中插入该作业大小的空闲区,并按顺序排列 四、实验方案或步骤 1、应用环境、需求分析 本模拟系统主要针对文件的管理和操作名主要有:创建用户、文件、文件夹,读文件,写文件,执行文件,关闭文件,删除用户、文件夹、文件的功能。 创建用户、文件、文件夹:在对系统发出操作命令之前必须先登录用户,然而登录之前必须创建该用户。在创建完后,可通过登录用户来创建文件和文件夹。在创建文件时可设置文件的属性和输入文件的容。 读文件:读取任何已创建的只读或读写文件的容;如果所要读的文件不是可读文件时,系统会显示该文件不可读;如果所读文件不存在,系统会显示文件不存在。 写文件用户可写或重写读写文件中的容,并保存文件中的重写容,以供下次读取;当所要写的文件不是可写的文件时,系统会显示该文件不可写;当所要写的文件并不存在时,系统会显示该文件不存在。

管理信息系统实验报告

实验一认识计算机硬件和网络结构 一、实验题目 认识计算机硬件和网络结构。 二、实验课时 2课时。 三、实验目的 认识计算机的主要构成部件、功能、型号、在计算机机箱内的位置、网络结构等。 四、实验内容和要求 1、利用多媒体演示计算机的主要组成部件:机箱、主板、CPU、内存条、硬盘、软驱、光驱、插槽、BUS总线、串行接口、并行接口、USB接口等; 2、打开机箱,实物展示并讲解个部件的功能及其连接; 3、机箱、主板、CPU、CPU风扇、内存条、显卡、网卡等分别如下所示。 机箱主板

内存条显卡网卡无线网卡 CPU CPU风扇硬盘 机箱背面并行接口串行接口USB接口 4、观察每个部件在机箱的位置,并掌握每个部件的功能和基本知识。 5、观察实验室网络结构图。 6、结合某网吧的例子更好地理解网络结构。 Parallel port Serial port USB port Keyboard and mouse ports

7、独立完成上述内容,并提交书面实验报告。 五、实验体会 通过本次实验,我了解了计算机的各种硬件和网络结构。知道了各种硬件的形状、功能、特征等。还知道了网络结构的流程、大体构造。这使我对计算机有了初步的认识,为以后更进一步的学习打下了坚实的基础。也为我以后的学习和生活提供了方便。 1、cpu——中央处理器,是一台计算机的运算核心和控制核心。 2、硬盘——是电脑的主要存储媒介之一。 3、主板——又叫主机板、系统板或母板,安装在机箱内,是微机最基本也是最重要的部件之一。 4、机箱——作为电脑配件的一部分,它起的主要作用是放置和固定各电脑配件,起到一个承托和保护作 用。 5、内存条——是连接CPU和其他设备的通道,起到缓冲和数据交换作用。

FAT文件系统操作系统课程设计实验报告

操作系统课程设计之三 设计任务:模拟OS文件系统 在任一OS(Window或者Dos;也可以是在Linux下,但要求能将结果演示给老 师看)下,建立一个大文件,把它假象成一张盘,在其中实现一个简单的模拟OS 字 ,第 ⑤、每个目录实际能放下文件或子目录30项。 ⑸、文件系统空间分配: ①、第0个盘块(1k)存放磁盘信息(可以设定为格式说明“FAT32”、盘块大小,盘块数等 内容) ②、第1个盘块起,至125盘块,共125个盘块(125k)存放FAT内容 ③、第126、127(2个)盘块,存放位示图

④、从第128盘块至10000盘块,皆为数据(区)盘块,其逻辑编号从0开始,至 9872号数据盘块,即第0数据盘块为128号盘块,第1数据盘块为129号盘块,… ⑤、第0数据盘块(即128号盘块),存放根目录(同样只用一个盘块作根目录), 由于第0、1目录项为“.”(本目录), “..”(父目录),因此根目录下同样只能存放30个文件或目录,并且从第2个目录项开始。 ⑥、文件或子目录数据,放在第1数据盘块及以后的数据盘块中,由用户按需要使 用。 内容 ⑺、删除文件 #DelFile 文件名.扩展名,在文件所在的目录项中,将第一个字节变为0xE5,并同时修改FAT内容和位示图内容;如果文件不存在,给出出错信息 ⑻、文件拷贝 #CopyFile 老文件,新文件,为新文件创建一个目录项,并将老文件内容复制到新文件中,并同时修改FAT内容和位示图内容 ⑼、显示位示图内容

#ShowBitMP,将位示图内容(已有信息部分),显示在屏幕上(按十六进制)⑽、显示FAT内容 #ShowFAT,将FAT内容(已有信息部分),显示在屏幕上(按十六进制) 4、程序的总体流程为: ⑴、输出提示符#,等待接受命令,分析键入的命令; ⑵、对合法的命令,执行相应的处理程序,否则输出错误信息,继续等待新命令 关于对FAT表和MAP表的用法 1.当要用到数据块是,查询MAP表(因为只做比较查询即可),查询到的未用位置 置1,然后在FAT表上进行相应记录,在本程序做出的规定是,当文件夹FAT 表做-1,若是文件则按照FAT做对应的顺序记录,最后一块同样是-1结束,2.回收的时候,是按照FAT表的首项,做顺序置0,然后MAP也在相应位置置0

图书管理系统实验报告

上海电力学院 信息网络技术课程设计报告 题目: 图书馆借阅系统 姓名:白志强 学号:20111946 院系:电子与信息工程学院 专业年级:电子信息工程2011级

2014 年12月 5 日

●摘要 在大学生活中,图书馆是我们常去的一个地方,因而图书馆的管理无疑是我们需要关注的一个问题。 现在很多学校图书馆的借阅工作部分还是手工管理,工作效率很低并且不能及时了解图书的种类和学生们比较需求的图书等,不能更好的适应当前学生的借阅要求。计算机信息化管理有着存储量大,速度快等许多优点,提供给我们的处理信息及时快捷,因此利用计算机提供给我们的信息使学生们的借阅过程形成一整套动态的管理,能够极大提高图书馆理的效率,这也是学校的科学化,正规化管理。 图书借阅管理系统是一种信息管理系统,本系统采用数据库系统和VB平台,以https://www.sodocs.net/doc/354274914.html, 为编程语言开发一个适合学校图书管理所需要的数据库管理软件。其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。 ●实验目的 本课程设计的目的是综合应用https://www.sodocs.net/doc/354274914.html,软件以及SQL数据库设计实现图书借阅系统。 ●设计环境 软件:VS2008,SQL Server2008 ●设计内容 基本要求:通过编程软件使系统可以进行管理员模块和用户使用模块。 管理员模块:添加图书,查询图书,查询用户,添加用户。 使用者模块:借阅图书,归还图书。 ●设计流程图 图书管理系统 用户界面管理者界面

设计步骤 建立数据库,新建表如图所示 打开表如图

文件系统实验报告

实验二文件系统实验报告

一.实验简介 本实验要求在假设的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 指定的内存位

操作系统原理与应用第2章文件管理

第2章文件管理习题解答 1.什么是文件和文件系统?文件系统有哪些功能? 【解答】文件是具有符号名而且在逻辑上具有完整意义的信息项的有序序列。 文件系统是指操作系统系统中实现对文件的组织、管理和存取的一组系统程序,它实现对文件的共享和保护,方便用户“按名存取”。 文件系统的功能“ (1)文件及目录的管理。如打开、关闭、读、写等。 (2)提供有关文件自身的服务。如文件共享机制、文件的安全性等。 (3)文件存储空间的管理。如分配和释放。主要针对可改写的外存如磁盘。(4)提供用户接口。为方便用户使用文件系统所提供的服务,称为接口。文件系统通常向用户提供两种类型的接口:命令接口和程序接口。不同的操作系统提供不同类型的接口,不同的应用程序往往使用不同的接口。 2.Linux文件可以根据什么分类?可以分为哪几类?各有什么特点? 【解答】在Linux操作系统中,文件可以根据内部结构和处理方式进行分类。 在Linux操作系统中,可以将文件分为普通文件、目录文件、特别文件三类。 各类文件的特点是: 普通文件:由表示程序、数据或正文的字符串构成的文件,内部没有固定的结构。这种文件既可以是系统文件,也可以是库文件或用户文件。 目录文件:由文件目录构成的一类文件。对它的处理(读、写、执行)在形式上与普通文件相同。 特别文件:特指各种外部设备,为了便于管理,把所有的输入/输出设备都按文件格式供用户使用。这类文件对于查找目录、存取权限验证等的处理与普通文件相似,而其他部分的处理要针对设备特性要求做相应的特殊处理。 应该指出,按不同的分类方式就有不同的文件系统。 3.什么是文件的逻辑结构?什么是文件的物理结构?Linux文件系统分别采用什么样的结构?有什么优点和缺点? 【解答】文件的逻辑结构:用户对文件的观察的使用是从自身处理文件中数据时采用的组织方式来看待文件组织形式。这种从用户观点出发所见到的文件组织方式称为文件的逻辑组织。 文件的物理结构:从系统的角度考察文件在实际存储设备上的存放形式,又称为文件的存储结构。 在Linux系统中,所有文件的逻辑结构都被看作是流式文件,系统不对文件进行格式处理。 在Linux系统中,文件的物理结构采用的是混合多重索引结构,即将文件所占用盘块的盘块号,直接或间接地存放在该文件索引结点的地址项中。 在Linux系统中,采用混合索引结构的优点是,对于小文件,访问速度快;对于大中

文件系统存储空间管理模拟实验报告

课程名称计算机操作系统实验名称文件系统存储空间管理模拟姓名学号 专业班级实验日期 成绩指导老师 一、实验目的 根据提出的文件分配和释放请求,动态显示磁盘空闲空间的 态以及文件目录的变化,以位示图和索引分配为例:每次执行请求后要求显示或打印位示图的修改位置、分配和回收磁盘的物理块地址、更新的位示图、目录。 二、实验原理 用数组表示位示图,其中的每一位对应磁盘一个物理块的状态,0表示、空闲,1表示分配;当请求分配一个磁盘块时,寻找到数组中为0的位,计算相对磁盘块号,并计算其在磁盘中的物理地址(柱面号、磁道号、物理块号),并将其状态由0变到1。当释放某一物理块时,已知其在磁盘中的物理地址,计算其相对磁盘块号,再找到位示图数组中的相应位,将其状态由1变为0。 三、主要仪器设备 PC机(含有VC) 四、实验容与步骤 实验容:1. 模拟文件空间分配、释放过程,可选择连续分配、链式分配、索引分配法;2. 文件空闲空间管理,可采用空白块链、空白目录、位示图法; 步骤如下: 1. 输入磁盘基本信息参数,计算位示图大小,并随机初始化位示图; (1)磁盘基本信息:磁盘柱面数m, 每柱面磁道数p, 每磁道物理块数q; (2)假设采用整数数组存放位示图,则数组大小为: Size= ceil((柱面数*每柱面磁道数*每磁道物理块数)/(sizeof(int)*8))(3)申请大小为size的整数数组map,并对其进行随机初始化。 例如:假设m=2, p=4, q=8, 共有64个磁盘块,若sizeof(int)=2, 则位示图大小为4,map[4]如下: 地址到高地址位上。即map[0]的第0位到第15位分别对应0号磁盘块到15号磁盘块的状态,map[1]的第0位到第15位对应16号磁盘块到31号磁盘块的状

实验四 文件系统实验报告

实验四文件系统实验 一 . 目的要求 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 #include #define MAXSIZE 100 #define ADDSIZE 50 #define PT elem+l-> length #define N 4 typedef struct term{/*班级和学期的结构体*/ char class1[10]; char term1[10]; }term; typedef struct student{/*学生成绩信息的结构体*/ term st;/*班级和学期结构体放于此结构体中*/ char num[10]; char name[12]; float course[4]; float total; float average; int bit; }lnode,*stu; typedef struct{ lnode *elem;/*指向上个结构体的指针*/ int size;/*最大能放lnode结构体成员的个数*/ int length;/*当前长度*/ }sqack,*sq; sqack *l; void init(void)/*动态分配存储空间*/ { l-> elem=(stu)malloc(MAXSIZE*sizeof(lnode)); l-> length =0; l-> size=MAXSIZE; } void input(void)/*输入学生的信息*/ { lnode *newbase,*p; char cla[10],ter[10],ch; int n,i; if(l-> length> =l-> size){ newbase=(stu)realloc(l-> elem,(l-> size +ADDSIZE)*sizeof(lnode));/*追加存储空间*/ l-> elem =newbase; l-> size +=ADDSIZE; } p=l-> elem; do { printf( "输入班级和学期(学期用这种格式,如2005年上学期2005 1,2005年下学期2005 2;先输入班级,回车后再输入学期)\n "); gets(cla); gets(ter); printf( "要输入多少个名单?"); scanf( "%d ",&n); printf( "输入学生的成绩\n学号\t姓名\t科目1\t科目2\t科目3\t科目4\n "); for(i=0;i num ,p-> name,p-> course[0],p-> course[1],p-> course[2],p-> course[3]); strcpy(p-> st.class1,cla); strcpy(p-> st.term1,ter); ++l-> length ; } printf( "要继续吗?(y/n) ");

停车场管理系统实验报告汇总

华北水利水电学院数据结构实验报告 2011~2012学年第二学期2011级计算机专业 班级:**** 学号:***** 姓名:**** - 实验二栈和队列及其应用 一、实验目的: 1.掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。 2.掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,队列顺序存储结构、链式存储结构和循环队列的实现,以便在实际问题背景下灵活运用。 二、实验内容: 1.链栈的建立、入栈、出栈操作。 2.环形队列的建立、入队、出队操作。 3.停车场管理。设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。 实现提示:以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,对每一组输入数据进行操作后的输出数据为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车离去;则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表(带头结点)实现。 需另设一个栈,临时停放为给要离去的汽车让路而从停车场退出来的汽车,也用顺序存储结构实现。输入数据按到达或离去的时刻有序。栈中每个元素表示一辆汽车,包含两个数据项:汽车的牌照号码和进入停车场的时刻。 设n=2,输入数据为:(‘A’,1,5),(‘A’,2,10),(‘D’,1,15),(‘A’,3,20),(‘A’,4,25),(‘A’,5,30),(‘D’,2,35),(‘D’,4,40),(‘E’,0,0)。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,其中,‘A’表示到达;‘D’表示离去,‘E’表示输入结束。 三、实验要求: 1.C/ C++完成算法设计和程序设计并上机调试通过。 2.撰写实验报告,提供实验结果和数据。 3.写出算法设计小结和心得。 四、程序源代码: 1.#include #include typedef struct stnode { int data; stnode *next;

ERP系统模拟实验报告

一、实验目的 通过本次实验使学生学会理论联系实际,让同学们了解企业的运营流程,了解各个角色在企业中的工作责任,学会根据市场预测去规划企业未来的发展,制定自己的运营策略。 二、实验地点 三、实验时间 2014年6月23日—2014年7月4日 四、实习组成员 CEO及助理 财务总监及助理 营销总监及助理 生产总监及助理 采购总监及助理 间谍 五、我的职责 我在我们企业中担任的是采购总监这个角色,负责根据生产产能和市场需求情况决定什么时候下原材料订单,要下多少订单,保证生产顺利进行的同时也不能积压原材料库存。 六、实验步骤 第一天,老师给我们介绍了一下沙盘模拟的操作规则,企业的初始状况、股东期望以及企业的财务状况,然后给我们进行了分组,每组大概12人,我们是U4组。 我们组的发展一直都采取的是主动进攻的策略,不管是在新产品研发还是市场开拓上,第一年为了成为P1产品的市场老大投放了9个广告,虽然广告费用并不是最多但由于另一个企业决策失误最终成功取得了P1产品的市场老大的地位,同时我们开始开拓区域、国内、亚洲三个市场,考虑到国际市场的产品利润空间并不是很大并且市场需求也不是很多就主动放弃了国际市场的开拓,并开始研发P2产品。为了保证足够的产能,我们在第二个季度开始筹建两条全自动生产线。由于投入较多,资金周转不开,所以我们在这一年贷了一桶短贷,虽然第二年有沉

重的还贷负担,但也正是这一桶短贷使我们在第一第二年的现金流始终没有中断,使企业能够持续经营下去。筹集资金在整个六年运作中至为重要。 第二年,我们P2产品研发成功,区域市场开拓完成,并在投放广告、选取订单时又取得了P2产品的本地市场老大,我们开始考虑要不要再研发P3产品,我们企业首次出现了意见不一的情况,由于近几年P3市场价格并不是很大,需求也不是很大,又需要很大的投资,并且已经有其他的企业开始在研发P3产品了,所以最终由CEO拍板决定只做P2,以产能优势取胜,虽然我们又贷了贷款,但这一年我们已经开始盈利了。 第三年,国内市场开拓完成,两条全自动生产线也开始投入生产,由于我们的主打产品已经转移到了P2,并且国内市场的P2价格与需求都良好,所以我们投入了较多的广告费来取得P2产品的国内市场老大以求获得足够的订单。第二季度,我们开始租赁小厂房,筹建三条全自动生产线,扩大产能。这一年,我们两条手工线和一条半自动线用于生产P1产品,另一条手工线和两条全自动生产线都用于生产我们的主打产品P2,虽然我们一直在贷款还款,但企业的发展态势良好,正一步步走上正轨。 第四年,由于资金问题,小产房的三条全自动生产线在第三年第四个季度暂停了一个季度筹建,所以到第四年的第二季度才可以投入生产,但这并没有影响到我们的生产进度。在这一年,我们又继续投入广告成为了P2产品的亚洲市场的老大,保证了我们企业能够获得足够的订单。 由于另一个企业U6小组的发展迅猛,让我们意识到我们企业之后发展的后劲不足,但要研发P3产品,获得利润的周期又太长,所以我们只能依靠获取更多的订单生产足够的P2产品来维持企业的发展。 第五年,最后一条全自动生产线也开始投入生产,此时生产产量已经达到最大化,但由于市场需求不足,导致最后剩余4个产品,所以在第六年我们企业选择了与其他的企业U3小组进行合作,互相帮助拿到自己所需要的订单,这是一个思维的突破。最终我们企业成功拿到了第一的好成绩。 最后,老师给了我们一个下午的时间进行每个组的总结报告,由每个组的代表依次进行上台发言,总结自己企业的具体操作步骤,以及财务状况。 七、实验感悟 在这为期两个周的ERP沙盘模拟实验里,我在游戏的氛围中学到了很多课本上没有的知识,体验了一个制造型企业管理的完整流程,包括物流、资金流和信

文件系统存储空间管理模拟

实验报告 课程名称操作系统实验名称文件系统存储空间管理模拟专业班级计1001 姓名郭军涛学号201007010108 实验日期2013.06.20 成绩指导教师王潇潇 一、实验内容 1. 模拟文件空间分配、释放过程,可选择连续分配、链式分配、索引分配方法; 2. 文件空闲空间管理,可采用空白块链、空白目录、位示图方法; 二、实验要求及原理 根据提出的文件分配和释放请求,动态显示磁盘空闲空间的状态以及文件目录的变化,以位示图和索引分配为例:每次执行请求后要求显示或打印位示图的修改位置、分配和回收磁盘的物理块地址、更新的位示图、目录。 地址过程; 用数组表示位示图,其中的每一位对应磁盘一个物理块的状态,0表示、空闲,1表示分配;当请求分配一个磁盘块时,寻找到数组中为0的位,计算相对磁盘块号,并计算其在磁盘中的物理地址(柱面号、磁道号、物理块号),并将其状态由0变到1。 当释放某一物理块时,已知其在磁盘中的物理地址,计算其相对磁盘块号, 再找到位示图数组中的相应位,将其状态由1变为0。 三、实验步骤 1. 输入磁盘基本信息参数,计算位示图大小,并随机初始化位示图; (1)磁盘基本信息:磁盘柱面数m, 每柱面磁道数p, 每磁道物理块数q; (2)假设采用整数数组存放位示图,则数组大小为: Size= ceil((柱面数*每柱面磁道数*每磁道物理块数)/ (sizeof(int)*8)) (3)申请大小为size的整数数组map,并对其进行随机初始化。 例如:假设m=2, p=4, q=8, 共有64个磁盘块,若sizeof(int)=2, 则位示图大小为4,map[4]如下:

操作系统实验报告 实验一 进程管理

实验一进程管理 一、目的 进程调度是处理机管理的核心内容。本实验要求编写和调试一个简单的进程调度程序。通过本实验加深理解有关进程控制块、进程队列的概念,并体会和了解进程调度算法的具体实施办法。 二、实验内容及要求 1、设计进程控制块PCB的结构(PCB结构通常包括以下信息:进程名(进程ID)、进程优先数、轮转时间片、进程所占用的CPU时间、进程的状态、当前队列指针等。可根据实验的不同,PCB结构的内容可以作适当的增删)。为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程的轮转时间数以及进程需运行的时间片数的初始值均由用户给定。 2、系统资源(r1…r w),共有w类,每类数目为r1…r w。随机产生n进程P i(id,s(j,k),t),0<=i<=n,0<=j<=m,0<=k<=dt为总运行时间,在运行过程中,会随机申请新的资源。 3、每个进程可有三个状态(即就绪状态W、运行状态R、等待或阻塞状态B),并假设初始状态为就绪状态。建立进程就绪队列。 4、编制进程调度算法:时间片轮转调度算法 本程序用该算法对n个进程进行调度,进程每执行一次,CPU时间片数加1,进程还需要的时间片数减1。在调度算法中,采用固定时间片(即:每执行一次进程,该进程的执行时间片数为已执行了1个单位),这时,CPU时间片数加1,进程还需要的时间片数减1,并排列到就绪队列的尾上。 三、实验环境 操作系统环境:Windows系统。 编程语言:C#。 四、实验思路和设计 1、程序流程图

2、主要程序代码 //PCB结构体 struct pcb { public int id; //进程ID public int ra; //所需资源A的数量 public int rb; //所需资源B的数量 public int rc; //所需资源C的数量 public int ntime; //所需的时间片个数 public int rtime; //已经运行的时间片个数 public char state; //进程状态,W(等待)、R(运行)、B(阻塞) //public int next; } ArrayList hready = new ArrayList(); ArrayList hblock = new ArrayList(); Random random = new Random(); //ArrayList p = new ArrayList(); int m, n, r, a,a1, b,b1, c,c1, h = 0, i = 1, time1Inteval;//m为要模拟的进程个数,n为初始化进程个数 //r为可随机产生的进程数(r=m-n) //a,b,c分别为A,B,C三类资源的总量 //i为进城计数,i=1…n //h为运行的时间片次数,time1Inteval为时间片大小(毫秒) //对进程进行初始化,建立就绪数组、阻塞数组。 public void input()//对进程进行初始化,建立就绪队列、阻塞队列 { m = int.Parse(textBox4.Text); n = int.Parse(textBox5.Text); a = int.Parse(textBox6.Text); b = int.Parse(textBox7.Text); c = int.Parse(textBox8.Text); a1 = a; b1 = b; c1 = c; r = m - n; time1Inteval = int.Parse(textBox9.Text); timer1.Interval = time1Inteval; for (i = 1; i <= n; i++) { pcb jincheng = new pcb(); jincheng.id = i; jincheng.ra = (random.Next(a) + 1); jincheng.rb = (random.Next(b) + 1); jincheng.rc = (random.Next(c) + 1); jincheng.ntime = (random.Next(1, 5));

文件管理习题及答案

一.选择题 1.FAT 能描述文件的_B__特征。 A.文件逻辑 B.文件物理结构 C.文件共享 D.文件保护 2.文件的符号名与物理地址的转换是通过_C__来实现的。 A.索引 B.索引节点 C.文件目录 D.二级索引 3.在UNIX 文件系统中,为了对磁盘空间的空闲块进行有效的管理,采用的方法是_B__。 A.空闲表 B.成组链接法 C.FAT D.位示图法 4.为了实现对文件的共享访问,在读写文件时需对文件加锁。现在已有一个用户 对某文件进行了读加锁,则另一个用户对该文件的_B__加锁操作可以成功。 A.加读锁和写锁均不能成功 B.加读锁能成功 C. 加读锁和写锁均能成功 D. 加写锁能成功 5.操作系统实现文件管理后,允许用户对流式文件进行存取的最小单位是___D__。 A.数据项 B.记录 C.文件 D.字符 6.操作系统采用多级目录结构可以__A__ 。 A.解决命令冲突 B.节省存储空间 C.缩短文件传送时间 D.减少系统开销 7.下述有关文件管理的叙述中,_C__是正确的。 A.—个文件不能同时多次建立 B.在一级目录结构中,不同用户可以用相同的文件名 C.文件系统主要是实现按名存取 D.逻辑记录的大小与存储介质块的大小必须一一对应

8.文件系统是指___D__。 A.文件的集合 B.实现文件管理的一组软件 C.文件的目录 D.文件及其属性、管理文件的软件和文件系统接口 9.文件系统的主要目的是__A__。 A.实现对文件的按名存取 B.实现虚拟存储 C.提高外存的读写速度 D.用于存储系统文件 10.操作系统实现文件管理后,用户对记录式文件进行存取的最小单位是_C__。 A.扇区 B.字节 C.目录 D.记录 11.为了解决不同用户文件的“命名冲突” 问题,通常在文件系统中采用以下_B 方法。 A.约定的方法 B.多级目录C路径D.索引 12.文件的绝对路径是指_C__。 A.文件名和文件扩展名 B.—系列的目录文件名和该文件的文件名 C.从根上到该文件所经历的路径中各符号名的集合 D.目录文件名和文件名的集合 13.文件的相对路径名从__A__开始,逐步沿着各级子目录追溯,最后到指定文件的整个路径上所有子目录名组成的一个字符串。 A.当前目录 B.根目录C多级目录 D. 二级目录 14.对一个文件的访问,常由以下__A__ 共同控制。 A.用户的访问权限和文件属性 B用户的访问权限和用户的优先级 C.优先级和文件属性

相关主题