操作系统实验里模拟实现磁盘文件管理

时间:2024.4.5

操作系统实验(七)磁盘文件

1.实验内容

   使用C++模拟实现磁盘文件存储结构。

2.实验目的

   了解磁盘文件的存储物理结构。

3.实验题目

   实现磁盘文件写(必做)和插入(选做)操作。

4.程序流程图


5.程序代码和结果

#include <iostream>

#include <string>

using namespace std;

typedef struct MULU{

       string name;

       int start;

       int length;

}MULU;

typedef struct FAT{

       int num;

       int next;

}FAT;

MULU mulu[10];

int mulu_i=0;

FAT fat[10];

int allnum=10;

int fat_i=0;

void init(){

       for(int i=0;i<20;i++){

              fat[i].num=i;

              fat[i].next=0;

       }

       fat[0].next=-2;

       fat[1].next=-1;

       allnum-=2;

}

int getEmpty(){

       for(int i=0;i<20;i++){

              if(fat[i].next==0){

                     allnum--;

                     return i;

              }

       }

       return -1;

}

int write(){

       cout<<"\n请输入文件名和记录数:";

       string name;

       int n;

       int temp=0;

       int next=0;

       int s=0;

       cin>>name;

       cin>>n;

       if(n>allnum){

              cout<<"你输入的记录数过大!"<<endl;

              return -1;

       }

       for(int i=0;i<n*2;i++){

              next=getEmpty();

              if(next==-1){

                     cout<<"没有空块!"<<endl;

                     return -1;

              }

              if(i==0){

                     s=next;

              }else{

                     fat[temp].next=next;

              }

              temp=next;

       }

       fat[temp].next=-1;

       mulu[mulu_i].name=name;

       mulu[mulu_i].start=s;

       mulu[mulu_i].length=n;

       mulu_i++;

       cout<<"\n\t文件目录表"<<endl;

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

       cout<<"\t"<<mulu[i].name<<"\t"<<mulu[i].start<<"\t"<<mulu[i].length<<"\t"<<endl;

       cout<<endl;

       cout<<"\tFAT表(-2表示FDF,-1表示FFF)"<<endl;

       for(int j=0;j<10;j++)

       cout<<"\t"<<fat[j].num<<"\t"<<fat[j].next<<"\t"<<endl;

       return 1;

}

int main(){

       init();

       int flag=1;

       while(flag<5){

              write();

              flag++;

       }

       return 0;

}


第二篇:实验一:磁盘与文件管理


实验一:磁盘与文件管理

【实训目的】

1.掌握利用 NTFS 文件系统实现磁盘限额

2.掌握利用 NTFS 文件系统压缩数据

3.掌握利用 NTFS 文件系统中的 EFS 加密数据

4.掌握共享文件夹的创建和访问

5.掌握卷影副本的作用和使用方法

【实验内容】

1.使用 NTFS 文件系统实现磁盘限额

2.使用 NTFS 文件系统压缩数据

3.使用 NTFS 文件系统中的 EFS 加密数据

4.练习创建、删除共享文件夹、访问共享文件夹、指定共享文件夹权限的方法

5.练习使用卷影副本恢复受到损坏的共享文件夹

6.验证用户的有效权限

【实验环境】

安装有 Windows Server 2003 操作系统的计算机

【实训步骤】

任务 1:NTFS 文件系统

一、使用 NTFS 文件系统实现磁盘限额

1.分配默认磁盘配额

(1)为驱动器 c盘(必须是NTFS 分区)配置默认的限额管理设置值:磁盘空间限度:2MB;磁盘空间警告信息:1MB

(2) 建新用户 test, 然后以 test 用户登录系统, 向 data文件夹中分两次拷贝数据, 1MB<第一次<2MB, 第二次>2MB,哪一次拷贝成功?哪一次没成功? 注:在“配额”选项卡中,若选中了“用户超出了配额限制时记录事件”和“用户超出了警告等级时记录事件” ,则可以在“事件查看器” (在“计算机管理”对话框中)中查看日志。

2.为某用户指定磁盘配额

(1)创建新用户(student 学号)

(2) 单击磁盘的 “配额” 选项卡中的 “配额项” 按钮, 在打开的对话框中为用户 “student学号”指定磁盘限额。

(3)然后以“student 学号”登录计算机,测试所设磁盘配额。

二、使用 NTFS 文件系统压缩数据

1.对文件夹 data 进行启用磁盘压缩功能,以节省磁盘空间。

(1)向 data 文件夹中拷贝一些数据,打开文件夹的“属性”对话框,查看其大小和所占空间值,并记录下来。

(2)在“属性”对话框中,单击“高级”按钮,启用压缩功能,将文件夹进行压缩。

(3)右击 data 文件夹,选择“属性” ,查看其大小和所占空间值,比较前面记录的数值。

2.采用其他颜色标记启用了压缩功能的文件和文件夹

打开 "Windows 资源管理器",通过“工具”—“文件夹选项”—“查看” ,选择“用交替的颜色显示压缩文件和文件夹” 。

3.验证启用 NTFS 文件系统压缩功能的文件或文件夹在拷贝和移动时的继承性。

三、使用 NTFS 文件系统中的 EFS 加密数据

在 data 文件夹中新建文件 admin.txt,利用 EFS 加密 admin.txt 文件

(1)以用户 LocalUser1 登陆系统,对 admin.txt 文件进行加密

(2)以用户 LocalUser2 登陆系统,试图访问 admin.txt 文件,看是否能够打开任务

2:共享文件夹

一、使用共享文件夹共享文件

1. 在D 盘上创建一个文件夹 test, 将该文件夹设为共享, 在文件夹 test 内新建文件 ab.txt

要求:

(1) 共享名为“network学号”

(2) 允许同时连接 10 个用户

(3) 查看 data 共享文件夹的权限,并删除 everyone组的完全控制权限

(4) 将完全控制权限指定给用户“Administrator”和“Manager 学号”

(5) 用户“LocalUser1”在任何时刻都不能更改此文件夹

2.分别通过“网上邻居” 、 “运行”对话框、 “浏览器” 、 “映射网络驱动器”的方式访问 相邻计算机上所设置的共享文件夹

3.在相邻计算机上以 Administrator 用户访问共享文件夹 test,进行如下操

作:打开 test 文件夹,新建文件夹,新建文件 cd.txt,打开文件 cd.txt,更改文件 cd.txt 的内容,删除文件cd.txt,是否成功?为什么?

4.在相邻计算机上以 LocalUser1 用户访问共享文件夹 test,进行如下操作:打开 test文件夹,新建文件夹,打开文件ab.txt,更改文件 ab.txt 的内容,删除文件 ab.txt,新建文件cd.txt,是否成功?为什么?在本机以 LocalUser1 登录系统,执行上述操作,完成思考题 3。

5.删除 test 文件夹的共享功能,试图通过其他计算机以上述 4 种方式(步骤

2)访问 test 文件夹,是否能够成功?

6.在D 盘上建立一个隐藏的共享文件夹,试图通过其他计算机以上述 4种方式(步骤 2)访问该文件夹,完成思考题 1。

7.新建 data 文件夹,将 data 文件夹共享,共享文件名为:test,完成思考题 2。

二、卷影副本

Windows Server 2003 网络操作系统,,提供的卷影副本服务功能可以对共享文件夹定期备份,一旦文件遭受损坏,在客户端就能将共享文件恢复到原来的某一时刻状态。

1.启用卷影副本服务。

在服务器端右击共享文件夹所在的硬盘分区(注意:这个分区一定是 NTFS 文件系统),选择“属性”—“卷影副本”标签页,在选项框中选择该硬盘分区,然后点击“启用”按钮。

2.调整创建副本文件时间间隔参数。

默认情况下Windows Server 2003 卷影副本服务每天只能创建两个副本,有时不能满足我们的需要。可以根据需要设定创建副本的频率: 在“卷影副本”标签页中, 点击“设置”—“计划”—“日程安排”—“高级”按钮,在“高级计划选项”对话框中选中“重复任务”选项,就可以对创建副本的时间间隔参数进行设置了。可以根据文件的重要程度进行设置。如设置为每“10 分钟”产生一次副本,要注意,时间间隔参数不要设置得过小,否则会加重系统的负担。

3.用户使用卷影副本功能(还原受到破坏的共享文件夹)

(1)首先在客户端要安装卷影副本客户端程序,它位于 Win2003 服务器的 “%systemroot%\system32\clients\twclient\x86\twcli32.msi”中, 只支持Windows 2000(SP3 或更高版本)和 Windows XP 客户操作系统。

(2)找到要还原的文件夹,右键点击,选择“属性”,切换到“以前的版本”标签页,接着在“文件夹版本”框中根据时间选择一个你需要的副本文件,点击“还原”按钮,这样该文件夹就恢复到原来的状态了。

三、用户的有效权限

通过为某一用户配置共享权限和 NTFS 权限, 理解这两种权限是如何共同为网络访问文件夹提供安全性。

三条规则:

● 权限最大法则(累加权限):

● “拒绝”权限超越其他权限:

● 共享文件夹权限和 NTFS 权限取最严格的权限:

【思考题】

1.如何设置隐藏的共享文件夹?是否可以从网上邻居登录隐藏共享文件夹?

2.设置共享文件夹时,共享名是否必须与文件夹的名字一致?

3.共享文件夹的共享权限,对于本机访问起作用吗?

4.共享文件夹的共享权限有几种?哪几种?

5.什么是卷影副本?它有什么功能?实现卷影副本功能对服务器端有什么要求(必须是什么操作系统和什么文件系统)?

更多相关推荐:
操作系统 内存管理实验报告

同组同学学号同组同学姓名注实验内容及步骤项目的内容如果较多可以加附页

《操作系统》存储管理实验报告

《操作系统》存储管理实验报告____大学____学院实验报告

操作系统内存管理实验报告

实验报告12345678910111213

操作系统“内存管理”实验报告

洛阳理工学院实验报告1828384858687888

操作系统存储管理实验报告

北京邮电大学操作系统实验实验报告实验日期20xx1220实验名称存储管理一实验目的2二实验内容2三实验分析2对于伙伴算法2对于虚拟存储区和内存工作区的不同算法3四编程实现3伙伴算法3原理3伙伴的概念3内存的释放...

西安邮电大学操作系统内存管理实验报告含源码

西安邮电大学计算机学院课内实验报告实验名称内存管理专业名称班级1201班学生姓名学号8指导教师实验日期20xx年11月25日一实验目的及实验环境一实验环境1硬件1主机PentiumIII以上2内存128MB以上...

北理工操作系统内存管理实验报告

班级学号实验三内存管理姓名一实验目的1通过编写和调试存储管理的模拟程序以加深对存储管理方案的理解2熟悉虚存管理的页面淘汰算法3通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解二实验要求1设计一个请...

清华大学操作系统-物理内存管理实验报告

练习0把实验1的代码填入本实验中代码有lab1的注释相应的部分用understand中的merge工具将实验1中填写代码部分复制到实验2中如图1图1练习1实现firstfit连续物理内存分配算法对于lab2代码...

济南大学操作系统实验报告3内存管理

操作系统实验三内存管理学院信息科学与工程学院班级学号姓名实验目的设计一个请求页式存储管理方案为简单起见页面淘汰算法采用FIFO页面淘汰算法并且在淘汰一页时只将该页在页表中修改状态位而不再判断它是否被改写过也不将...

西安邮电大学操作系统内存管理实验报告

西安邮电大学计算机学院课内实验报告实验名称内存管理专业名称班级1101班学生姓名武妍娜学号8指导教师舒新峰实验日期20xx年12月15日一实验目的及实验环境一实验环境Ubuntu1310shellVimGCC编...

操作系统内存管理

西安邮电大学计算机学院课内实验报告实验名称内存管理专业名称班级学生姓名学号8指导教师西安邮电大学计算机学院课内实验报告实验名称内存管理专业名称班级软件工程软件1203段文雅舒新峰20xx年12月5日学生姓名学号...

操作系统实验报告十一

系统内存统计使用实验报告实验序号十实验项目名称系统内存统计使用

操作系统内存管理实验报告(40篇)