操作系统的 实验六 文件资料系统设计试验

合集下载

计算机系统结构实验报告

计算机系统结构实验报告

计算机系统结构实验报告实验目的:掌握计算机系统的基本结构和工作原理,了解计算机系统的组成部分及其相互关系。

实验仪器和材料:计算机硬件设备(主机、硬盘、内存、显卡等)、操作系统、实验指导书、实验报告模板。

实验原理:实验步骤:1.搭建计算机硬件设备,将主机、硬盘、内存、显卡等组装连接好。

2. 安装操作系统,如Windows、Linux等。

3.启动计算机,进入操作系统界面。

4.打开任务管理器,查看CPU的使用情况。

5.打开任务管理器,查看内存的使用情况。

6.运行一些应用程序,观察CPU和内存的使用情况。

7.尝试使用输入输出设备,如键盘、鼠标等。

实验结果:通过实验,我们可以观察到计算机系统的硬件部分和软件部分的工作情况。

通过任务管理器,我们可以查看到CPU的使用情况和内存的使用情况。

在运行应用程序时,我们可以观察到CPU和内存的使用情况的变化。

通过使用输入输出设备,我们可以与计算机进行交互操作。

实验分析:从实验结果可以看出,计算机系统的硬件部分和软件部分都是相互关联的。

CPU作为计算机的核心部件,负责执行各种指令,通过数据传输和计算来完成各种操作。

而内存则用于存储数据和程序,通过读写操作来完成对数据的处理。

硬盘则用于长期存储数据。

操作系统则是计算机系统的管理者,通过调度CPU和内存的使用来实现对计算机资源的分配。

结论:计算机系统是由硬件和软件部分组成的,其中硬件部分包括CPU、内存、硬盘等,软件部分包括操作系统、应用程序等。

计算机系统通过CPU 的运算和数据传输来实现各种操作。

通过实验,我们可以观察到计算机系统的工作情况,并深入了解计算机系统的组成和工作原理。

实验总结:通过本次实验,我们对计算机系统的基本结构和工作原理有了更深入的了解。

实验中,我们搭建了计算机硬件设备,安装了操作系统,并通过观察和分析实验结果,进一步认识到计算机系统的组成部分和各部分之间的相互关系。

通过操作输入输出设备,我们还实践了与计算机进行交互操作的过程。

大学计算机基础实验教程

大学计算机基础实验教程

返回
11
2021/8/8
第1章 Windows XP 操作系统应用
实验七 控制面板及其操作
实验目的
⒈ 熟悉控制面板的功能和特点 ⒉ 掌握控制面板的常用操作 ⒊ 掌握设置显示器和屏幕保护程序的方法 ⒋ 学会添加和删除程序
返回
12
2021/8/8
第1章 Windows XP 操作系统应用
实验七 控制面板及其操作
实验目的
1. 熟悉鼠标的操作方法 2. 了解键盘的外观及组成 3. 熟练键盘的基本操作
实验内容
1. 鼠标的基本操作 2. 鼠标左键和右键的设置 3. 键盘操作
5
返回
2021/8/8
第1章 Windows XP 操作系统应用
实验三 Windows XP的桌面组成和操作
实验目的
1. 了解桌面的基本组成 2. 掌握图标的操作 3. 熟练任务栏的设置
实验内容
1.Excel的启动与退出 2.Excel的窗口组成 3.Excel的基本操作
⑴ 新建工作簿 ⑵ 插入工作表
4.工作表数据输入 5.编辑单元格
⑴ 插入单元格 ⑵ 删除单元格 6.编制不规则表格
⑶ 移动工作表
⑷ 重命名工作表
⑸ 保存工作表
返回
28
2021/8/8
第3章 Excel 2003
实验四 窗口的操作
实验内容
1. 窗口的基本组成 2. 窗口的主要操作 3. 菜单的基本操作 4. 对菜单的操作 5. 控制菜单 6. 对话框操作
8
返回
2021/8/8
第1章 Windows XP 操作系统应用
实验五 汉字输入法的设置及使用
实验目的
⒈ 掌握汉字输入法的设置及删除方法 ⒉ 掌握汉字输入法的转换方法 ⒊ 掌握一种汉字输入法

操作系统实验系统调用

操作系统实验系统调用

操作系统实验系统调用 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】实验六系统调用学时:2学时1.实验内容:系统调用实验2.实验目的:通过调用PV操作解决生产者、消费者问题,了解系统中并发进程是怎样同步执行的。

3.实验题目:编写一段程序模拟PV操作实现进程同步,且用PV操作解决生产者、消费者问题。

4.实验提示:⑴PV操作由P操作原语和V操作原语组成。

P操作原语P(s)将信号量s减1,若s<0则执行原语的进程被置成等待状态。

V操作原语V(s)将信号量s加1,若s<=0则释放一个等待的进程。

⑵生产者、消费者问题主要解决的是进程并发执行时访问公共变量的问题。

假定有一个生产者和一个消费者。

生产者每次生产一个产品,并把产品存入共享缓冲区供消费者取走。

消费者每次从共享缓冲区取出一个产品去消费。

禁止生产者将产品放入已满的缓冲区,禁止消费者从空缓冲区内取产品。

⑶模拟程序中对应关系如下:实例代码:开始!当前的产品数[ 0] 加快生产速度呀,没有产品了。

当前的产品数[ 1] 生产了一个产品。

当前的产品数[ 2] 生产了一个产品。

当前的产品数[ 1] 消费了一个产品。

当前的产品数[ 2] 生产了一个产品。

当前的产品数[ 1] 消费了一个产品。

当前的产品数[ 2] 生产了一个产品。

当前的产品数[ 3] 生产了一个产品。

当前的产品数[ 2] 消费了一个产品。

当前的产品数[ 3] 生产了一个产品。

当前的产品数[ 2] 消费了一个产品。

当前的产品数[ 3] 生产了一个产品。

当前的产品数[ 4] 生产了一个产品。

当前的产品数[ 3] 消费了一个产品。

当前的产品数[ 4] 生产了一个产品。

计算机操作系统试验lab6

计算机操作系统试验lab6

实验六消息通信1.目的要求更进一步领会消息通信的进行过程,基本掌握消息通信函数的使用2、实验内容1)查询Linux帮助文档,解释下述各个函数的作用①msgget( )②msgsnd( )③msgrcv( );④msgctl( );2)用vi编辑器编辑下面C程序,并在Linux平台下编译运行,记录下程序的运行结果,并对程序的功能作一个简要说明# include <stdio.h># include <sys/types.h># include <sys/msg.h># include <sys/ipc.h># define MSGKEY 75struct msgform{long mtype;char mtrex[1030];}msg;int msgqid, i;void CLIENT()int i;msgqid=msgget(MSGKEY,0777);printf("%d",msgqid);for(i=3;i>=1;i--){ msg.mtype=i;printf("clien)sent\n");scanf("%s",msg.mtrex);msgsnd(msgqid, &msg,1024,0);}exit(0);}void SERVER(){msgqid=msgget(MSGKEY,077|IPC_CREAT);do{msgrcv(msgqid,&msg,1030,0,0);printf("(server)received\n %s\n",msg.mtrex); } while(msg.mtype!=1);msgctl(msgqid,IPC_RMID,0);exit(0);}void main(){while((i=fork())==-1);if(!i) SERVER();while((i=fork())==-1);if(!i) CLIENT();wait(0);wait(0);运行结果程序功能3、准备工作1)Linux平台的计算机,能够熟练使用vi编辑器和cc或者gcc编译器。

五邑大学计算机学院20142015操作系统试验使用班级120801

五邑大学计算机学院20142015操作系统试验使用班级120801

实验项目名称:进程的同步(实验一)1、实验目的(1) 掌握进程和线程基本概念和属性;(2) 掌握用PV操作解决并发进程的同步问题;(3) 掌握用于同步的信号量初值的设置;(4) 掌握如何处理共享资源的直接制约关系。

2、实验内容(1) 设计一个模拟若干售票网点的售票程序。

界面可以参考图1。

还应设计多个后台售票线程并发运行。

图1售票(2) 模拟:桌上有一只盘子,每次只能放入一个水果。

爸爸专向盘子中放苹果,妈妈专向盘子中放桔子,一个女儿专等吃盘子里的苹果,一个儿子专等吃盘子里的桔子。

只要盘子空则爸爸或妈妈都可以向盘子放一个水果,仅当盘子中有自己需要的水果时,儿子或女儿可以从盘子中取出水果。

放-取水果的几种情况如图2(a)~(f)所示,可以参照进行设计。

(a)盘子空时取水果 (b)父亲放入苹果(c) 儿子取水果 (d) 女儿取水果(e)儿子取走桔子 (f)盘子满时放水果图2 放-取水果(3) 自选其它能反映进程互斥问题的应用。

实验项目名称:处理机调度(实验二)1、实验目的(1) 掌握几种处理机调度算法的基本思想和特点;(2) 理解并发与并行的区别;(3) 比较几种算法的特点。

2、实验内容编写程序模拟处理机调度,参照图3。

(1) 时间片轮转(2) 动态优先权调度(3) 高响应比优先调度图3 模拟处理机调度实验项目名称:银行家算法(实验三)1、实验目的银行家算法是避免死锁的一种重要方法,本实验要求用高级语言编写和调试一个简单的银行家算法程序。

加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。

2、实验内容(1) 设计进程对各类资源最大申请表示及初值确定。

(2) 设定系统提供资源初始状况。

(3) 设定每次某个进程对各类资源的申请表示。

(4) 编制程序,依据银行家算法,决定其申请是否得到满足。

具体设计可参照图4(a)~(c) 进行。

(a) 某时刻系统资源情况(b)测试安全性(c)安全序列图4银行家算法实验项目名称:存储器管理(实验四)1、实验目的存储器是计算机系统的重要组成部分。

普通高校操作系统课程实践环节的研究与设计

普通高校操作系统课程实践环节的研究与设计

Vol.28No.9Sep.2012赤峰学院学报(自然科学版)JournalofChifengUniversity(NaturalScienceEdition)第28卷第9期(上)2012年9月《操作系统》是计算机各专业的核心基础课程.该课程原理性很,知识体系繁杂,内容涉及到了理论、算法、技术实现等,因此学生在学习的过程中往往难于掌握其整体设计思想和实现技术.这就要求授课教师在精心设置理论教学内容的同时,必须充分重视该课程的实践教学环节,只有这样学生才能对“操作系统”这一计算机最重要的系统软件的工作原理有真正的认识、理解,才可以进一步培养学生的规范的系统程序设计能力、提高学生的实际动手能力和创新能力.1国内操作系统课程实践环节的现状因为操作系统涉及的内容广,所以实践环节也有深有浅,采用的模式不一.在我国的本科高校中,依据高校的层次、师资力量、硬件环境和学生素质的差异,目前操作系统课程的实践主要有以下几种模式:1.1实现与设计模式该模式是指通过编程来扩充或替换操作系统的某些功能模块以及设计一个小型的操作系统内核.例如北京大学根据MIT课程,通过五届学生的实习工作,“增量式”地对LittleOS基础系统进行功能扩充,最终形成一个具备基本功能模块的教学用操作系统[1].1.2阅读、分析具体操作系统的源代码模式由于Linux系统具有开放性,特别是其早期版本,由于源代码量少,可读性好,适合学生在较短学时内阅读理解;结构清晰,包含了操作系统的基本功能,没有过多的选项或硬件驱动,便于掌握操作系统的总体结构和设计思想.因此目前主要阅读、分析的是linux源代码.1.3模拟实现操作系统内核中相关算法的模式针对操作系统中一些典型功能或算法,如进程调度、内存分配、页面置换、文件系统、死锁检测、磁盘调度等进行编程实现,可通过操作界面运行程序对这些功能加以验证.这种模式所涉及的软硬件资源和数据结构都是自建的,并不对真实的系统资源进行访问和修改,因此可以摆脱具体操作系统的限制和软硬件细节[2].该模式是一般院校最常见的实践方式.2操作系统模拟实验的设计为了实现操作系统教学目标,结合我校实际情况,我们采用了第三种模式.良好的实践环境是实践教学活动得以顺利开展的前提,经过优化和系统对比,我们采用学生最为熟悉的windowsXP+VC6.0作为实验环境,利用WindowsSDK提供的系统接口(API)完成程序功能.2.1设计实践教学的目标和原则安排教学实践环节要考虑到学校培养目标人才的定位,在实践中才能有意识的培养学生的不同能力.由于我们是一所培养应用型人才的高校,所以我们实验教学的目的是让学生理解、掌握操作系统的基本原理和基本功能,激发学生的学习兴趣和创新意识,进一步锻炼学生设计、编写大型软件的动手能力.根据这一目标笔者认为操作系统模拟实验的设计应该遵循以下基本原则:2.1.1与理论教学相融合的原则普通高校操作系统课程实践环节的研究与设计李振美(济宁学院计算机科学系,山东曲阜273155)摘要:在探索操作系统课程实践教学环节发展现状的基础上,结合理论教学内容构建了适合本校的实践教学体系,设计了合理的实验项目,为普通高校从根本上解决操作系统理论教学和实践教学脱离的现状提供了一个切实可行的参考方案.关键词:操作系统;实践环节;实验设计中图分类号:G642文献标识码:A文章编号:1673-260X(2012)09-0207-02基金项目:济宁学院2011年教改研究项目(2011JX04)207--我们设计的是模拟实验,所以就要注意仿真性,即所设计的实验内容要符合实际操作系统内的功能,与理论教学相结合,同时注意重点难点的兼顾.2.1.2可操作性原则在设计实验时,应该综合考虑学校的软硬件实验环境、学生能力素质等因素.所设计的实验应该是在现有教学条件下能够实施的,在难易程度上应该因材施教,即对于基本型的实验,要求所有的学生必须完成,而对于成绩好、能力强的同学,再增加选做实验.2.2实践教学内容的设计依据操作系统的五大功能,选择操作系统理论教学中一些重要和关键的算法,设计相应的实验,要求学生使用程序模拟的方式将这些算法实现[4].据此我们设计了如下几个基本实验:实验一:单处理机系统中的进程调动模拟实验目的:让学生进一步区别进程和程序的不同、理解进程控制块(即PCB)的作用及进程的并发执行[3].具体要求:设计进程PCB;完成进程队列的创建;模拟进程调度算法,包括先来先服务算法、优先级算法和轮转算法.实验二:进程死锁的模拟实验目的:让学生能够进一步理解进程同步和死锁的概念,理解为什么要对系统中多个相关的并发进程进行同步和互斥管理.具体要求:设计了两个进程用于模拟完成销售车票的过程.一方面,利用关键代码段(临界区)实现进程同步;另一方面,模拟实现进程死锁.实验三:页式虚拟存储管理的模拟实验目的:了解存储器管理任务和功能,深入了解页式虚拟存储管理中的地址转换过程和缺页中断处理过程,并掌握多种页面置换算法.具体要求:设计用于描述内存、内存块及页面的数据结构和管理内存中页面的链表;用软件实现地址转换过程;用常用的几种页面置换算法中的一种来处理缺页中断并研究其命中率.实验四:批处理系统中作业调度的模拟实验目的:让学生进一步理解在批处理系统中,由于主存容量及其它一些资源的限制,在外存后备队列中的作业不能同时被装入主存中.具体要求:设计作业控制结构;完成作业队列的创建;模拟作业调度算法,包括先来先服务算法、最短作业优先算法和最高响应比优先算法等.实验五:文件管理功能的模拟实验目的:让学生了解文件系统是如何实现“按名存取”及如何实现各种操作命令的.具体要求:设计两级目录结构;设计文件的保护措施;实现如下文件操作命令:建立文件、打开文件、读文件、写文件、关闭文件和删除文件.实验六:SPOOLING技术的模拟实验目的:通过设计一个SPOOLING假脱机输出的模拟程序,让学生更好的理解和掌握SPOOL-ING技术的实现原理.具体要求:设计一个输出服务进程,一个输出进程,两个用户请求进程.当用户进程请求输出信息时,调用输出服务进程,该输出服务进程将信息送进输出井中,等待输出进程进行输出.2.3实践教学的组织管理与考核在实践教学中,学生是主体,教师是主导.教师简明扼要地讲授实验理论知识、实验目的、实验内容、重点和难点、注意事项,然后让学生进行实验.实验过程中,出现问题一般由学生自主研究解决,教师仅作启发性提示和引导.教学为灵活开放式教学,可建立BSS互动教学平台或提供优秀论坛网址,增强与学生的交流;鼓励、帮助学生完成实验.实践作为实现教学目标的一个不可或缺的组成部分,还应建立严格的成绩考核制度.对每一个实验题目都进行相应的记录考核,检查其实验效果,成绩计入期末考试成绩,督促学生提高对实验的重视程度.3结束语在自己动手模拟实现操作系统某一功能的过程中,不仅可以加深学生对操作系统原理、功能、概念、算法、数据结构的理解,而且可以培养学生的创新意识,培养学生开发大型软件时应有的系统结构设计和软件工程思维能力.因此操作系统实践教学在深化教学改革,培养社会需求的应用型人才方面发挥了其应有的作用.———————————————————参考文献:〔1〕孙微微,等.研究型大学操作系统课程实习项目的设计[J].农业网络信息,2006(5):105-107.〔2〕孙自广,等.操作系统课程的实践教学模式探讨[J].计算机教育,2010(8):146-148.〔3〕杨成.计算机信息管理专业实践环节指导[M].北京:清华大学出版社,2001.〔4〕颜彬,等.计算机操作系统实验教程[M].北京:清华大学出版社,2008.208--。

操作系统实验六

操作系统实验六

实验六时间片轮转调度一、实验目的·调试EOS 的线程调度程序,熟悉基于优先级的抢先式调度。

·为EOS 添加时间片轮转调度,了解其它常用的调度算法。

二、实验内容1、执行了实验指导书3.2的步骤,学习了“rr”命令是如何测试时间片轮转调度的。

算法实现原理是,按进程到达顺序(FCFS 原则)将进程依次加入就绪队列当中,然后将CPU 分配给位于队首的进程,确定一个时间片,让该进程执行一个时间片。

当该进程执行时间到时,该进程可能已经执行完毕(可能在时间片未到时就以及执行完毕),或者未执行完毕,如果是前者只需将进程弹出队列即可,如果是后者则将该进程加入队尾,并将CPU 分配给新的队首进程,如此循环。

在没有时间片轮转调度时的执行结果如下图所示。

2、执行了实验指导书3.3的步骤,对EOS 的线程调度程序PspSelectNextThread 函数进行调试,学习了就绪队列、就绪位图以及线程的优先级是如何在线程调度程序中协同工作的。

调试当前线程不被抢先的情况:基于优先级的抢先式调度算法,新建的第0 个线程会一直运行,而不会被其它同优先级的新建线程或者低优先级的线程抢先。

通过调试可以观察到“rr”命令新建的第0 个线程始终处于运行状态,而不会被其它具有相同优先级的线程抢先。

对在EOS 内核中实现这种调度算法进行调试,刷新“就绪线程队列”窗口,观察到如下图结果。

在“监视”窗口中添加表达式“/t PspReadyBitmap”,以二进制格式查看就绪位图变量的值,此时就绪位图的值为100000001,表示优先级为8 和0 的两个就绪队列中存在就绪线程。

在“快速监视”对话框的“表达式”中输入表达式“*PspCurrentThread”,查看当前正在运行的线程(即被中断的线程)的线程控制块中各个域的值。

通过以上调试线程调度函数PspSelectNextThread 的执行过程,“rr”命令新建的第0个线程在执行线程调度时没有被抢先的原因可以归纳为两点:(1) 第0个线程仍然处于“运行”状态;(2) 没有比其优先级更高的处于就绪状态的线程。

实验6 试验设计结果分析

实验6 试验设计结果分析

实验报告课程名称试验设计与数据分析姓名邵建智学号3110100122专业生物系统工程实验名称试验设计结果分析浙江大学生物系统工程与食品科学学院二O一三年八月制实验六:试验设计结果分析实验类型:上机操作实验地点:农生环D-414指导老师:傅霞萍实验日期:2013 年10 月29 日一、实验目的和要求(1)了解正交试验的基本原理和用途,掌握正交设计的基本方法和步骤,能使用SPSS进行正交试验数据的分析。

二、实验内容和原理2.1实验原理利用正交表科学地安排与分析多因素实验的方法。

由少数实验结果的统计分析,可以推出较优方案。

对实验结果进一步分析,可以得到更多实验因素对试验结果影响的重要程度,各因素对因素对实验结果的影响趋势等。

2.2 实验内容(显著性水平α=5%)(1)利用SPSS对下表所示的试验结果进行方差分析表6-1 鸭肉保鲜天然复合添加剂筛选的试验结果(2)为了通过正交试验寻找从某矿物中提取稀土元素的最优工艺条件,使稀土元素提取率最高,选需要考虑的交互作用有A×B, A×C, B×C,如果将A、B、C分别安排在正交表L8(2)的1、2、4列上,试验结果(提取量mL)依次为1.01、1.33、1.13、1.06、1.03、0.80、0.76、0.56,试用方差分析法(α=0.05)分析试验结果,确定较优工艺条件。

正交表L8(27):三、主要仪器设备/实验环境(使用的软件等)IBM SPSS 19.0等四、操作方法与实验步骤(必填,上机操作过程,可以插图)实验(1)实验(2)五、实验数据记录和处理(必填,图表数据、计算结果、对图表的处理)实验(1)实验(2)六、实验结果与分析(必填)实验(1):a:由4种因素的F检验知,因素主次茶多酚浓度>被膜剂种类>增效剂种类>浸泡时间b:设A:茶多酚浓度,B:增效剂种类,C:被膜剂种类,D:浸泡时间,由各个因素的同类子集可以看出,A因素1水平最优,B因素1水平最优,C因素4水平最优,D 因素2水平最优,所以正交试验得出的优方案为A1B1C4D2。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ly=0;
N=NFile;//标记当前分配文件
NFile++;//标记下次分配处理文件
M-=job[N].size;
HEAD->names[N]=job[N].name;
//将文件名以及大小,索引地址填写到文件目录
HEAD->size[N]=job[N].size;
wq=(struct index *)malloc(sizeof(struct index));
struct list{
char names[32];
int size[32];
struct index*p[32];//文件的索引表地址
}*HEAD;
该模拟文件最多只能模拟32个文件,HEAD指针指向了该模拟目录。
3.文件索引表模拟
文件索引表的定义
struct index{
int lr[32];
int pr[32];
for(i=0;i<8&&(ly<job[N].size);i++)
{
if(J[j][i]==0){li=j*8+i;wq->pr[ly]=li;wq->st[ly]='Y';ly++;J[j][i]=1;}//找到一个空闲块,就分配出去
}
}//如果当前空闲磁盘物理块数不能够满足需要,则出错处理
else{ fprintf(e,"\n There are no free blocks in the memory now! \n");fprintf(e,"File %c must wait!\n",job[N].name);}
}*HEAD;
//作业序列
struct que{
char name;
int size;
}job[JOBN];
int i,j,ly,li;
char bb;
int NFile=0;//系统的总文件数,模拟开始时为0;
int N=0;//工作变量,标记当前分配文件
int M=32;//系统中空闲磁盘物理块数,开始为32块
实验总结(包括过程总结、心得体会及实验改进意见等):
1.在命令提示符中运行应用程序时要先转到应用程序所在的盘符下,要把应用程序所在目录位置输入正确,才能找到相应的程序运行。
2.文件的物理结构和组织是指逻辑文件在物理存储空间中存放方法和组织关系;使用多级目录可以解决文件重名问题与缩短搜索时间;现代操作系统文件管理就是对块空间的管理,包括空闲块的分配、回收和组织;索引文件结构中的索引表是用来指示逻辑记录和物理块之间对应关系的。
for(i=0;i<8;i++)
J[j][i]=0;//初始化位图
HEAD=(struct list*)malloc(sizeof(struct list));
for(i=0;i<32;i++){HEAD->names[i]=' '; HEAD->size[i]=0;HEAD->p[i]=NULL;}//初始化文件目录
//其次报告文件索引表的部分信息
for(x1=0;x1<N+1;x1++){
fprintf(e," //////////The index of FILE%c://///////\n",HEAD->names[x1]);
fprintf(e," LOGIC_NUMBER PHYSICAL_NUMBER FLAG\n");
for(y=0;y<HEAD->size[x1];y++)fprintf(e," %d %d %c\n",HEAD->p[x1]->lr[y],HEAD->p[x1]->pr[y],HEAD->p[x1]->st[y]);
}
//第三,报告位图信息
fprintf(e," This time the bit mapping graph: \n");
HEAD->p[N]=wq;
//对分配文件的索引表初始化
for(z=0;z<32;z++){
wq->lr[z]=z;//逻辑块号
wq->pr[z]=0;////物理块地址
wq->st[z]='N';}
//从位图中分配,分配出去的块其状态为1。一直到分配完成
for(j=0;j<4&&(ly<job[N].size);j++)
int J[4][8];//用位图表示这些磁盘物理块,J[j][i]为0时标记第j*8+i块空闲,为1标记该块已分配出去
FILE *e;//记录模拟中的相关数据
int jobs=0;//作业数
void run(){
int x1,y,z;
//如果当前空闲磁盘物理块数能够满足需要,则进行分配
if(job[N].size<=M){
//报告目前为止的分配情况,首先报告文件目录的部分信息
fprintf(e,"...This time ,the file directory: ----\n");
fprintf(e,"NAME INDEX_ADDRESS\n");
for(x1=0;x1<N+1;x1++)fprintf(e," %c %x\n",HEAD->names[x1],HEAD->p[x1]);
for(k=1;k<=jobs;k++)run();//每个文件进行一次分配
//回收资源
fclose(e);
for(i=0;i<32;i++){free(HEAD->p[i]);HEAD->p[i]=NULL;}
free(HEAD);
HEAD=NULL;
}
文件系统模拟程序
1.索引结构和文件目录
2.文件目录模拟
printf("Please input number of jobs:");
scanf("%d",&jobs);
scanf("%c",&bb);
int kk=0;
//以下输入建立的文件数以及文件名字,并将这些信息保存在job数组之中
while(kk<jobs){
fprintf(e,"FILE %d: \n",kk);
for(j=0;j<4;j++){
fprintf(e, " ");
for(i=0;i<8;i++)fprintf(e,"%d",J[j][i]);
fprintf(e,&{
int k;
e=fopen("results.txt","w");//打开保存结果的文件
for(j=0;j<4;j++)
(2)熟悉文件系统的目录管理;
(3)掌握文件系统空闲空间管理的基本方法;
(4)进一步理解现代操作系统文件管理知识。
实验步骤、实验结果及分析:
(1)设计一个文件系统的索引结构,描述逻辑结构与物理索引结构之间的关系;
(2)设计文件目录,描述文件名与文件物理结构之中的映射关系;
(3)定义作业;
(4)设计文件建立;
char st[32];}*wq;
4.位图
int J[4][8]。位图J表示这些磁盘物理块的情况。J[j][i]为0时标记块空闲,为1标记该块已分配出去。各块号按行存储。因此,J[j][i]表示j*8+i(块号)块的分配情况
5.run函数
6.Main函数
实验分析:
程序要为每个文件建立一张索引表,索引表中用数组指出文件信息所在的逻辑块号和与之对应的物理块号。程序中int J[j][i]表示这些磁盘物理块的情况。J[j][i]为0时标记块空闲,为1标记该块已分配出去。各块号按行存储。
宁德师范学院计算机系
实验报告
(2014—2015学年第二学期)
课程名称操作系统
实验名称实验六文件系统设计试验
专业计算机科学与技术(非师)
年级2012级
学号B**********姓名王秋
指导教师王远帆
实验日期2015-06-20
实验目的与要求:
通过设计一个基于索引结构的文件系统,加深对文件系统的基本知识理解。了解文件系统设计的基本概念。
(1)实验目的与要求、实验设备、实验内容格式要对齐。
(2)源代码要进行命名以便区分。
(3)标题文字首行缩进。
(4)实验总结要分点讲述,并与分析、心得体会分开。
成绩评定A(优秀)
教师签字王远帆
2015年6月22日
备注:
注:1、报告内的项目或设置,可根据实际情况加以补充和调整
2、教师批改学生实验报告应在学生提交实验报告10日内
3.通过本次实验我了解了文件系统的基本概念,物理文件结构有三种结构,连续文件、链接文件、索引文件。用户能直接处理其中的结构与数据的是逻辑结构,文件在外存上的存储组织形式是物理结构。只有合理的进行存储空间的管理,才能保证多用户共享外存和快速的实现文件的按名存取。
指导教师评语:
完成所有规定的实验内容,实验步骤正确,结果正确;以后需要进一步改进或注意的是:
(5)设计文件系统的其它功能;
实验结论:
试验运行结果:
图1程序运行结果
4、思考
相关文档
最新文档