搜档网
当前位置:搜档网 › os实验5报告

os实验5报告

os实验5报告
os实验5报告

实验五文件管理

厦门大学软件学院

吴清强

一、实验目的

?掌握文件系统的工作机理。

?掌握各种文件管理算法的实现方法

?通过实验比较各种文件管理算法的优劣。

二、实验内容

给出一个磁盘块序列:1、2、3、……、500,初始状态所有块为空的,每块的大小为2k。选择使用位表、链式空闲区、索引和空闲块列表四种算法之一来管理空闲块。对于基于块的索引分配执行以下步骤:

?随机生成2k-10k的文件50个,文件名为1.txt、2.txt、……、50.txt,按

照上述算法存储到模拟磁盘中。

?删除奇数.txt(1.txt、3.txt、……、49.txt)文件

?新创建5个文件(A.txt、B.txt、C.txt、D.txt、E.txt),大小为:7k、5k、

2k、9k、3.5k,按照与(1)相同的算法存储到模拟磁盘中。

?给出文件A.txt、B.txt、C.txt、D.txt、E.txt的文件分配表和空闲区块的状态。三、实验环境

?或 Windows xp + VC

四、实验中遇到的主要问题及其解决方式

Int型与char型转换问题,解决方法强制转换:’B’=1+’A’; 五、源代码

Oslab5.c

六、程序流程图

//deployFile(int blocknum,int fat)

OS实验报告1

实验1 Ubuntu Linux操作系统及开发环境 学生姓名张锦涛学号20091602310002 专业班级2011级计本1班实验地点信息学院222 实验日期2011-04-19 指导教师张春元、卢春燕实验环境Ubuntu Linux + gcc+g++ 实验学时2学时 1.实验目的 (1)熟悉Ubuntu Linux操作系统; (2)掌握vi编辑器的使用; (3)掌握gcc编译器与g++编译器的使用。 2.实验内容 (1)用vi编辑器和C语言编辑实现如下程序ex1_1.c,用gcc编译并运行 #include //输入3个整数,求其最大值 main(){ int a,b,c,max; printf("请输入3个整数”); scanf("%d,%d,%d",&a,&b,&c); if(a>=b && a>=c) max=a; else if(b>=a && b>=c) max=b; else if(c>=a && c>=b) max=c; printf("3个整数的最大值=%d\n",max); } 编译:gcc ex1_1.c –o ex1_1 运行:./ex1_1 (2)用vi编辑器和C++语言输入以下程序,用g++编译并运行 #include using namespace std; //输入一个年份,判断该年份是否是闰年 int main(){ int year; bool IsLeapYear; cout << "Enter the year: ";

cin >> year; IsLeapYear = ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)); if (IsLeapYear) cout << year << " is a leap year" << endl; else cout << year << " is not a leap year" << endl; return 0; } 编译:gcc ex1_2.cpp –o ex1_2 运行:./ex1_2 3.实验过程及分析 (1)实验内容1采用vi编辑器编辑和gcc编译运行截屏如下: (2)实验内容2采用vi编辑器编辑和g++编译运行截屏如下: 4.实验总结(写出实验中的心得体会)

标准实验报告模板

实验报告 实验名称 课程名称___电子技术基础实验 院系部: 专业班级:学生姓名:学号:同组人:实验台号:指导教师:成绩:实验日期: 华北电力大学

实验报告要求: 一、实验目的及要求 二、仪器用具 三、实验原理 四、实验步骤(包括原理图、实验结果与数据处理) 五、讨论与结论(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论,对实验的进一步想法或改进意见。) 六、实验原始数据

一、实验目的及要求: 1. 学会放大器静态工作点的调试方法,分析静态工作点对放大器性能的影响。 2. 掌握放大器电压放大倍数和最大不失真输出电压的测试方法。 3. 悉常用电子仪器及模拟电路实验设备的使用。 二、仪器用具:略 三、实验原理 图1.2.1为电阻分压式工作点稳定单管放大器实验电路图。 图1.2.1 共射极单管放大器实验电路 在图1.2.1电路中,当流过偏置电阻1B R 和2B R 的电流远大于晶体管VT 的基极电流B I 时(一般5~10倍),则它的静态工作点可用下式估算: CC B2B1B1B U R R R U +≈ U CE =U CC -I C (R C +R F1 + R E ) 电压放大倍数: 1)1( // F R β++-=be L C V r R R β A 其中r be =200+26 (1+β)/I E 输入电阻:R i =R B1 // R B2 // [r be +(1+β)R F1] 输出电阻:R O ≈R C 四、实验方法与步骤: 1. 调试静态工作点 接通+12V 电源、调节R W ,使U E =2.0V ,测量U B 、U E 、U C 、R B2值。记入表1.2.1。 E U BE = U B - U E =0.665V ,U CE = U C - U E =5.8V,I C ≈I E = U E /R E =2/(1.1)=1.82mA 实验数据显示,Q 点的值满足放大电路的静态工作点要求,BJT 处于放大区。 2. 测量不同负载下的电压放大倍数 C E BE B E I R U U I ≈+-≈1 F R

Linu操作系统实验实验报告

实验1:安装L i n u x系统 【实验目的和要求】:安装Linux系统,掌握操作系统的系统配置,建立应用环境的过程。 【实验内容】: 1、首先在windows系统中安装虚拟机。在网上找到VMwareWorksttionPro版本, 确定安装目录。一直下一步,不需要太多的说明。 2、 图为安装完成后的界面。 3、然后在阿里巴巴开源镜像网站下载centos系统镜像,然后虚拟机创建新的虚 拟机, 进行一些简单的虚拟机设置,设置了网络链接nat模式等等。 安装完成后的界面 实验2:Linux下c语言开发 【实验目的】:学会和掌握用c语言开发一个应用程序的全过程,包括,编译,调试等等。

【实验步骤】:首先在系统中查看是否已经安装有gcc,输入查看命令发现没有,于是需要安装gcc。在centos系统中可以使用比较简便的yum命令。在之前已经配置好了yum源。直接输入yuminstallgcc。回车自动安装程序和需要的依赖包。 因为虚拟机中和电脑很多地方切换使用不方便,所以安装了xshell软件。图为xshell中的截图。

安装完毕。然后使用vi或者vim编写hello.c 运行,在屏幕上打印出hello,world。 实验3:进程创建 【实验目的和要求】1.了解进程的概念及意义;2.了解子进程和父进程 3.掌握创建进程的方法。 【实验内容】1.子进程和父进程的创建; 2.编写附件中的程序实例 【实验步骤】一1、打开终端,输入命令gedit1_fork.c,在1_fork.c文件中输入1_fork.bmp中的代码; 2、输入命令gcc1_fork.c-o1_fork,回车后显示无错误; 3、输入命令:./1_fork运行程序。 二、1、打开终端,输入命令gedit2_vfork.c,在2_vfork.c文件中输入2_vfork.bmp 中的代码; 2、输入命令gcc2_vfork.c-o2_vfork,回车后显示无错误: 3、输入命令:./2_vfork 运行程序。 从上面可以看到两次的运行结果不一样。我们知道write函数是不带缓存的。因为在fork之前调用write,所以其数据写到标准输出一次。但是,标准I/O库是带缓存的。如果标准输出连到终端设备,则它是行缓存的,否则它是全缓存的。当以交互方式运行该程序时,只得到printf输出的行一次,其原因是标准输出缓存由新行符刷新。但是当将标准输出重新定向到一个文件时,却得到printf输出行两次。其原因是,在fork之前调用了printf一次,当调用fork时,该行数据仍在缓存中,然后在父进程数据空间复制到子进程中时,该缓存数据

实验5

数据结构《实验5》实验报告 实验项目5:快速排序 回答问题完整、实验结果(运行结果界面及源程序,运行结果界面放在前面):

#include #include #define STUDENT EType #define KeyType int struct STUDENT { char number[10]; char name[10]; int age; char sex[10]; char place[10]; }; struct LinearList { EType *r; int length; int maxsize; }; void CreatLinearList(LinearList &L,int MaxListSize) {

L.maxsize=MaxListSize; L.r=new EType[L.maxsize]; L.length=0; } bool InputLinearList(LinearList &L) { int i,num; cout<<"请输入要存储元素的个数:"; cin>>num; L.length=num; cout<>L.r[i].age; return 1; } void OutputLinearList(LinearList &L) { for(int i=0;i=StandardKey) high--; r[low++]=r[high]; while(low<=high&&r[low].age<=StandardKey) low++; r[high--]=r[low]; } r[--low]=temp;

标准实验报告模板

标准实验报告模板

实验报告 实验名称 课程名称___电子技术基础实验 院系部: 专业班级: 学生姓名:学号: 同组人:实验台号: 指导教师:成绩: 实验日期: 华北电力大学

一、实验目的及要求: 1. 学会放大器静态工作点的调试方法,分析静态工作点对放大器性能的影响。 2. 掌握放大器电压放大倍数和最大不失真输出电压的测试方法。 3. 悉常用电子仪器及模拟电路实验设备的使用。 二、仪器用具:略 三、实验原理 图1.2.1为电阻分压式工作点稳定单管放大器实验电路图。

图1.2.1 共射极单管放大器实验电路 在图1.2.1电路中,当流过偏置电阻1 B R 和2 B R 的电流远大于晶体管VT 的基极电流B I 时(一般5~10倍),则它的静态工作点可用下式估算: CC B2 B1B1 B U R R R U +≈ U CE =U CC -I C (R C +R F1 + R E ) 电压放大倍数: 1 )1( // F R β++-=be L C V r R R β A 其中r be = 200+26 (1+β)/I E 输入电阻:R i =R B1 // R B2 // [r be +(1+β)R F1] 输出电阻:R O ≈R C 四、实验方法与步骤: 1. 调试静态工作点 接通+12V 电源、调节R W ,使U E =2.0V ,测量U B 、U E 、U C 、R B2值。记入表1.2.1。 表1.2.1 U E =2.0V 测 量 值 计 算 值 U B (V ) U E (V ) U C (V ) R B2 (KΩ) U BE (V ) U CE (V ) I C (mA ) 2.665 2.0 7.8 53 0.865 5.2 2.0 根据表格测量数据,计算得到: U BE = U B - U E =0.665V ,U CE = U C - U E =5.8V,I C ≈I E = U E /R E =2/(1.1)=1.82mA C E BE B E I R U U I ≈+-≈1 F R

操作系统实验报告

操作系统实验报告 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

实验二进程调度1.目的和要求 通过这次实验,理解进程调度的过程,进一步掌握进程状态的转变、进程调度的策略,进一步体会多道程序并发执行的特点,并分析具体的调度算法的特点,掌握对系统性能的评价方法。 2.实验内容 阅读教材《计算机操作系统》第二章和第三章,掌握进程管理及调度相关概念和原理。 编写程序模拟实现进程的轮转法调度过程,模拟程序只对PCB进行相应的调度模拟操作,不需要实际程序。假设初始状态为:有n个进程处于就绪状态,有m个进程处于阻塞状态。采用轮转法进程调度算法进行调度(调度过程中,假设处于执行状态的进程不会阻塞),且每过t个时间片系统释放资源,唤醒处于阻塞队列队首的进程。 程序要求如下: 1)输出系统中进程的调度次序; 2)计算CPU利用率。 3.实验环境 Windows操作系统、VC++6.0 C语言 4设计思想: (1)程序中进程可用PCB表示,其类型描述如下:

structPCB_type { intpid;//进程名 intstate;//进程状态 2——表示“执行”状态 1——表示“就绪”状态 0——表示“阻塞”状态 intcpu_time;//运行需要的CPU时间(需运行的时间片个数) } 用PCB来模拟进程; (2)设置两个队列,将处于“就绪”状态的进程PCB挂在队列ready中;将处于“阻塞”状态的进程PCB挂在队列blocked中。队列类型描述如下: structQueueNode{ structPCB_typePCB; StructQueueNode*next; } 并设全程量: structQueueNode*ready_head=NULL,//ready队列队首指针 *ready_tail=NULL,//ready队列队尾指 针

数据库实验5实验报告

淮海工学院计算机工程学院实验报告书 课程名:《数据库原理及应用》 题目:数据库的完整性 班级:软件132 学号:2013122907 姓名:莹莹

一.目的与要求 1.掌握索引创建和删除的方法; 2.掌握创建视图和使用视图的方法; 3.掌握完整性约束的定义方法,包括primary key、foreign key等。 二.实验容 1.基于前面建立的factory数据库,使用T-SQL语句在worker表的“部门号”列上创建一个非聚集索引,若该索引已经存在,则删除后重建。 2.在salary表的“职工号”和“日期”列创建聚集索引,并且强制唯一性。 3.建立视图view1,查询所有职工的职工号、、部门名和2004年2月工资,并按部门名顺序排列。 4.建立视图view2,查询所有职工的职工号、和平均工资; 5.建立视图view3,查询各部门名和该部门的所有职工平均工资; 6.显示视图view3的定义; 7.实施worker表的“性别”列默认值为“男”的约束; 8.实施salary表的“工资”列值限定在0~9999的约束; 9.实施depart表的“部门号”列值唯一的非聚集索引的约束; 10.为worker表建立外键“部门号”,参考表depart的“部门号”列。 11.建立一个规则sex:性别=’男’ OR 性别=’女’,将其绑定到“性别”上; 12.删除上面第7、8、9和10建立的约束; 13.解除第11题所建立的绑定并删除规则sex。 三.实验步骤 1 USE factory GO --判断是否存在depno索引;若存在,则删除之 IF EXISTS(SELECT name FROM sysindexes WHERE name='depno') DROP INDEX worker.depno GO --创建depno索引 CREATE INDEX depno ON worker(部门号) GO EXEC sp_helpindex worker GO 2 USE factory GO --判断是否存在no_date索引;若存在,则删除之 IF EXISTS(SELECT name FROM sysindexes WHERE name='no_date') DROP INDEX salary.no_date GO --创建no_date索引

实验报告标准范本_4

报告编号:LX-FS-A55866 实验报告标准范本 The Stage T asks Completed According T o The Plan Reflect The Basic Situation In The Work And The Lessons Learned In The Work, So As T o Obtain Further Guidance From The Superior. 编写:_________________________ 审批:_________________________ 时间:________年_____月_____日 A4打印/ 新修订/ 完整/ 内容可编辑

实验报告标准范本 使用说明:本报告资料适用于按计划完成的阶段任务而进行的,反映工作中的基本情况、工作中取得的经验教训、存在的问题以及今后工作设想的汇报,以取得上级的进一步指导作用。资料内容可按真实状况进行条款调整,套用时请仔细阅读。 一、实验目的及要求: 本实例是要创建边框为1像素的表格。 二、仪器用具 1、生均一台多媒体电脑,组建内部局域网,并且接入国际互联网。 2、安装windows xp操作系统;建立iis服务器环境,支持asp。 3、安装网页三剑客(dreamweaver mx;flash mx;fireworks mx)等网页设计软件; 4、安装acdsee、photoshop等图形处理与制作软件;

5、其他一些动画与图形处理或制作软件。 三、实验原理 创建边框为1像素的表格。 四、实验方法与步骤 1) 在文档中,单击表格“”按钮,在对话框中将“单元格间距”设置为“1”。 2) 选中插入的表格,将“背景颜色”设置为“黑色”(#0000000)。 3) 在表格中选中所有的单元格,在“属性”面版中将“背景颜色”设置为“白色”(#ffffff)。 4) 设置完毕,保存页面,按下“f12”键预览。 五、实验结果 六、讨论与结论 本实验主要通过整个表格和单元格颜色的差异来衬托出实验效果,间距的作用主要在于表现这种颜色

操作系统实验报告

操作系统实验报告 实验名称: 系统的引导 所在班级: 指导老师: 老师 实验日期: 2014年3 月29 日

一、实验目的 ◆熟悉hit-oslab实验环境; ◆建立对操作系统引导过程的深入认识; ◆掌握操作系统的基本开发过程; ◆能对操作系统代码进行简单的控制,揭开操作系统的神秘面纱。 二、实验容 1. 阅读《Linux核完全注释》的第6章引导启动程序,对计算机和Linux 0.11的引导过程进行初步的了解。 2. 按照下面的要求改写0.11的引导程序bootsect.s。 3. 有兴趣同学可以做做进入保护模式前的设置程序setup.s。 4. 修改build.c,以便可以使用make BootImage命令 5. 改写bootsect.s主要完成如下功能: bootsect.s能在屏幕上打印一段提示信息XXX is booting...,其中XXX是你给自己的操作系统起的名字,例如LZJos、Sunix等。 6. 改写setup.s主要完成如下功能: bootsect.s能完成setup.s的载入,并跳转到setup.s开始地址执行。而setup.s 向屏幕输出一行"Now we are in SETUP"。setup.s能获取至少一个基本的硬件参数(如存参数、显卡参数、硬盘参数等),将其存放在存的特定地址,并输出到屏幕上。setup.s不再加载Linux核,保持上述信息显示在屏幕上即可。 三、实验环境

本实验使用的系统是windows系统或者是Linux系统,需要的材料是osexp。 四、实验步骤 1. 修改bootsect.s中的提示信息及相关代码; 到osexp\Linux-0.11\boot目录下会看到图1所示的三个文件夹,使用UtraEdit 打开该文件。将文档中的98行的mov cx,#24修改为mov cx,#80。同时修改文档中的第246行为图2所示的情形。 图1图2 图3 2. 在目录linux-0.11\boot下,分别用命令as86 -0 -a -o bootsect.obootsect.s和 ld86 -0 -s -obootsectbootsect.o编译和bootsect.s,生成bootsect文件; 在\osexp目录下点击MinGW32.bat依此输入下面的命令: cd linux-0.11 cd boot as86 -0 -a -o bootsect.obootsect.s ld86 -0 -s -o bootsectbootsect.o

实验5实验报告

学号:20164477 姓名:陈家凤 实验五SQL语言 一、目的与要求 1.掌握SQL语言的查询功能; 2.掌握SQL语言的数据操作功能; 3.掌握对象资源管理器建立查询、索引和视图的方法; 二、实验准备 1.了解SQL语言的查改增删四大操作的语法; 2.了解查询、索引和视图的概念; 3.了解各类常用函数的含义。 三、实验内容 (一)SQL查询功能 使用提供的studentdb数据库文件,先附加到目录树中,再完成下列题目,SQL命令请保存到脚本文件中。 1.基本查询 (1)查询所有姓王的学生的姓名、学号和性别 Select St_Name,St_Sex,St_ID From st_info Where St_Name like'王%' 图5-1 (2)查询全体学生的情况,查询结构按班级降序排列,同一班级再按学号升序, 并将结果存入新表new中 select*into new from st_info order by Cl_Name desc,st_ID asc

图5-2 (3)对S_C_info表中选修了“体育”课的学生的平均成绩生成汇总行和明细 行。(提示:用compute汇总计算) 因2014版本已不支持compute关键字,所以选择用其他方式。 Select c_no,score From s_c_info Where c_no=29000011 group by c_no,score 图5-3 2.嵌套查询 (1)查询其他班级中比“材料科学0601班”的学生年龄都大的学生姓名和年 龄 select st_name,born_date from st_info where cl_name!='材料科学0601班'and born_date<(select min(born_date) from st_info where cl_name='材料科学0601班')

标准实验报告

标准实验报告 文档编制序号:[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688]

实验报告 实验名称 课程名称___电子技术基础实验 院系部: 专业班级: 学生姓名:学号: 同组人: 实验台号: 指导教师:成绩: 实验日期: 华北电力大学 实验报告要求: 一、实验目的及要求 二、仪器用具 三、实验原理 四、实验步骤(包括原理图、实验结果与数据处理) 五、讨论与结论(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论,对实验的进一步想法或改进意见。) 六、实验原始数据 一、实验目的及要求:

1. 学会放大器静态工作点的调试方法,分析静态工作点对放大器性能的影响。 2. 掌握放大器电压放大倍数和最大不失真输出电压的测试方法。 3. 悉常用电子仪器及模拟电路实验设备的使用。 二、仪器用具:略 三、实验原理 图1.2.1为电阻分压式工作点稳定单管放大器实验电路图。 图1.2.1 共射极单管放大器实验电路 在图1.2.1电路中,当流过偏置电阻1B R 和2B R 的电流远大于晶体管VT 的基极电流B I 时(一般5~10倍),则它的静态工作点可用下式估算: CC B2B1B1B U R R R U +≈ U CE =U CC -I C (R C +R F1 + R E ) 电压放大倍数: 1 )1( // F R β++-=be L C V r R R β A 其中r be =200+26 (1+β)/I E 输入电阻:R i =R B1 调试静态工作点 接通+12V 电源、调节R W ,使U E =,测量U B 、U E 、U C 、R B2值。记入表1.2.1。 表1.2.1 U E = 根据表格测量数据,计算得到: U BE = U B - U E =,U CE = U C - U E =,I C ≈I E = U E /R E =2/= 实验数据显示,Q 点的值满足放大电路的静态工作点要求,BJT 处于放大区。 2. 测量不同负载下的电压放大倍数 输入信号u i 为1KHz ,U i ≈10mV 的正弦信号,同时用示波器观察放大器输出电压u O 波形,在波形不失真的条件下测量下述两种情况下的U O 值,并观察u i 与u O 的相位关系,记入表1.2.2。 C E BE B E I R U U I ≈+-≈1 F R

操作系统实验报告

操作系统实验报告 银行家算法 班级:计算机()班 姓名:李君益 学号:(号) 提交日期: 指导老师: 林穗 一、设计题目 加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。 要求编写和调试一个系统动态分配资源的简单模拟程序,观察死锁产生的条件,并采用银行家算法,有效的防止和避免死锁的发生。 二、设计要求

内容: 编制银行家算法通用程序,并检测思考题中所给状态的安全性。 要求: (1)下列状态是否安全?(三个进程共享个同类资源) 进程已分配资源数最大需求数 (状态) (状态) (2)考虑下列系统状态 分配矩阵最大需求矩阵可用资源矩阵 问系统是否安全?若安全就给出所有的安全序列。若进程请求(),可否立即分配? 三、设计分析 一.关于操作系统的死锁 .死锁的产生 计算机系统中有许多独占资源,他们在任一时刻只能被一个进程使用,如磁带机,绘图仪等独占型外围设备,或进程表,临界区等软件资源。两个进程同时向一台打印机输出将导致一片混乱,两个进程同时进入临界区将导致数据库错误乃至程序崩溃。正因为这些原因,所有操作系统都具有授权一个进程独立访问某一辞源的能力。一个进程需要使用独占型资源必须通过以下的次序: ●申请资源 ●使用资源 ●归还资源 若申请施资源不可用,则申请进程进入等待状态。对于不同的独占资源,进程等待的方式是有差别的,如申请打印机资源、临界区资源时,申请失败将一位这阻塞申请进程;而申请打开文件文件资源时,申请失败将返回一个错误码,由申请进程等待一段时间之后重试。只得指出的是,不同的操作系统对于同一种资源采取的等待方式也是有差异的。 在许多应用中,一个进程需要独占访问多个资源,而操作系统允许多个进程并发执行共享系统资源时,此时可能会出现进程永远被阻塞的现象。这种现象称为“死锁”。 2.死锁的定义 一组进程处于死锁状态是指:如果在一个进程集合中的每个进程都在等待只能由该集合中的其他一个进程才能引发的时间,则称一组进程或系统此时发生了死锁。 .死锁的防止 .死锁产生的条件: ●互斥条件

实验5-RAID实验-实验报告

计算机系统结构实验报告 班 级 实验日期 实验成绩 姓 名 学号 实 验 名 称 计算机系统结构实验5(磁盘、固态盘仿真) 实 验 目 的 、 要 求 编译Disksim,测试单个磁盘的性能(Response time) 配置RAID0、RAID1、RAID5并做性能测试 探究性实验(2选1) 实 验 内 容 、 步 骤 及 结 果 一、编译D ISKSIM,测试单个磁盘的性能(R ESPONSE TIME) 测试某个磁盘,cheetah4LP.parv ../src/disksim cheetah4LP.parv cheetah4LP.outv validate cheetah4LP.trace 0 查看相应的outv文件,获取响应时间结果,使用grep命令得到 grep "IOdriver Response time average" cheetah4LP.outv 二、配置RAID0、RAID1、RAID5并做性能测试 (1)RAID5:为了方便对性能进行比较,进行如下的参数修改: 保存为synthraid5.parv,并进行测试 (2)RAID0:删除多余的generator 0 只留下一个,做如下更改:

保存为synthraid0.parv,并进行测试 (3)RAID1:删除多余的generator 0 只留下一个,做如下更改: 保存为synthraid1.parv,并进行测试 结论:通过测试我们可以发现在有效存储容量相同的情况下,RAID0使用的时间最少,速度最快。 三、探究性实验(2选1) 设计实验,任意选择其中一种RAID模式,分析验证其参数敏感性 参数包括盘数,条带大小。 ◎敏感性指:给定负载,其性能是否会随着参数变化而剧烈变化? ◎看上去完全没变化?注意负载强度是否足够。 这里我们选择RAID5模式进行测试。 (1)条带大小一定,磁盘数改变 此时(Stripe unit = 64,Parity stripe unit = 64) 磁盘个数7个8个9个10个11个 设备有效容量12336048 14392056 16448064 18504072 20560080 Synthetic结果21.657719 20.865686 20.332438 19.923599 19.728367 Financial结果2014.436976 1355.984474 1019.857911 882.827067 676.563854

自动控制原理标准实验报告

电子科技大学自动化工程学院标准实验报告 (实验)课程名称自动控制原理 电子科技大学教务处制表

电子科技大学 实验报告 学生姓名:音学学号:2014070902029 指导教师:实验地点:C2 507 实验时间: 实验室名称: 实验项目名称:系统认识与系统测试 实验学时:4 实验原理:实验原理图如下: 被测试系统是指:由控制部分,电动机,反馈电位器组成的部分。 在该实验中要求:1 测试输入(外部、计算机)信号与输出角度信号之间的关系(曲线)。 2 测试反馈电位器的输出电压与角度信号之间的关系(曲线)。

实验电路图 实验目的:1了解开环系统的工作状态,掌握闭环系统反馈极性的判别方法及其影响。 2 掌握系统相关数据的测试方法。 实验容:1 测试输入(外部、计算机)信号与输出角度信号之间的关系(曲线)。 2 测试反馈电位器的输出电压与角度信号之间的关系(曲线)。 实验器材:XZ-IIC型实验仪计算机自动控制原理实验仪万用表 实验步骤: 1 将系统接为单位负反馈系统,适当选取K值(约等于3)。 2 在-5V-+5V围间隔0.5V调整R的输出电压(用万用表监测),读出对应的输出角度值(可用计算机读出)。 3 断开系统输入,用手转动电机,在-150°-+150°间每隔10°选取一测试值用万用表监测反馈电位器的输出电压并作好记录。(用计算机监测给定角度) 实验数据及结果分析:实验机号20054409 计算机的给定电压与系统输出角度的关系: 给定电压-3-2.5-2-1.5-1-0.500.51 1.5 2.03 2.53输出角度-110-90.4-77.2-53.9-39.4-2201735.555.567.890.4107.6 横轴-计算机的给定电压纵轴-系统输出角度 系统输出角度与反馈电压间的关系:

TinyOS 实验报告

实验一.Downloading and installing TinyOS 一、安装JDK (在平台ubuntu12.10搭建) 1.编译一个源文件 终端收入命令:sudo gedit/etc/apt/sources.list.d/partner.list 2.在partner.list文件中添加: 终端输入命令:deb https://www.sodocs.net/doc/4316825303.html,/ubuntu/ hardy multiverse 3.保存该文件并退出,执行下列程序: 终端输入命令:sudo apt-get update 4.下载JDK 终端输入命令: sudo apt-get install sun-java6-bin sun-java6-jre sun-java6-jdk 5.配置JDK环境变量 在主文件下的.bashrc 或者.profile中添加下面语句,或者在终端输入。(关于路径参照自己解压路径) export JAVA_HOME=/usr/lib/jvm/java-6-sun export PATH=$JAVA_HOME/bin:$PATH export classPath=/usr/lib/jvm/java-6-sun 6.在终端中输入java,javac看是否配置正确 终端输入命令:java 或者javac

二、安装tinyOS-2.1.1 1.安装python-dev g++ 终端输入命令:sudo apt-get install python-dev g++ 2.查看python的版本 终端输入命令:python –version (本机是Python 2.7.3) 3.安装tinyos ①.在主文件夹/etc/apt/sources.list中添加一下两行: deb https://www.sodocs.net/doc/4316825303.html,/tinyos/dists/ubuntu natty main deb https://www.sodocs.net/doc/4316825303.html,/tinyos oneiric main 终端输入命令:sudo gedit /etc/apt/sources.list (sources.list 是只读文件,所以必须有root 权限) ②.下载安装tinyos-2.1.1 终端输入命令:sudo apt-get install tinyos-2.1.1 安装完成后,打开/opt/tinyos-2.1.1/support/make/sim.extra, 找到 PYTHON_VERSION=2.5(本机),将2.5换成2.7 ③.终端输入命令:sudo gedit /opt/tinyos-2.1.1/tinyos.env ,在tinyos.env中添加

数据库实验5报告

北京联合大学信息学院实验报告 题目:实验五用户自定义函数 系别:软件系 专业:软件工程 班级:软件1203B 学号:20120803600 姓名: 同组人:无 指导教师:果晓来 2014年5月21日

5.用户自定义函数(2学时) 实验目的: 学习、掌握用户自定义函数的建立和使用 实验内容: 1、创建自定义函数 创建一个用户自定义函数,并测试、查看函数返回值。1)输入并执行下面语句 USE Northwind GO CREATE FUNCTION fn_TaxRate (@ProdID INT) RETURNS numeric(5,4) AS BEGIN RETURN (SELECT CASE CategoryID WHEN 1 THEN 1.10 WHEN 2 THEN 1 WHEN 3 THEN 1.10 WHEN 4 THEN 1.05 WHEN 5 THEN 1 WHEN 6 THEN 1.05 WHEN 7 THEN 1 WHEN 8 THEN 1.05 END FROM Products WHERE ProductID = @ProdID) END GO

2)此函数中输入变量是什么?返回值类型?如何定义的返回值? 输入变量:@ProdID 返回类型:numeric 定义的返回值:RETURNS numeric(5,4) 3)输入并执行语句测试函数 SELECT ProductName, UnitPrice,Northwind.dbo.fn_TaxRate(ProductID) AS TaxRate, UnitPrice * Northwind.dbo.fn_TaxRate(ProductID) AS PriceWithTax FROM Products

C++程序设计实验报告5

《程序设计基础》 实验报告 学号:2016211990 姓名:王贯东 班级:16-计算机科学与技术-1班

学院:计算机与信息学院 实验五指针 1.实验目的要求 (1)掌握指针的概念,学会定义和使用指针变量。 (2)学会使用数组指针和指向数组的指针变量。 (3)学会使用字符串指针和指向字符串的指针变量。 (4)了解指向指针的指针的概念以及其使用方法。 (5)掌握指针、引用、数组做函数参数的传递机制。 (6)*学会使用指向函数的指针变量。 2.实验设备 Visual C++ 6.0 3.实验内容 (1)阅读下面程序,写出其运行结果。

<1> #include sub ( int x , int y , int *z ) { *z = y – x ; } void main( ) { int a,b,c; sub( 10 , 5 , &a ) ; sub( 7, a, &b ) ; sub( a, b, &c ) ; cout << a <<‘,’<< b <<‘,’<< c << endl ; } 解:输出-5,-12,-7 <2> #include #include void main()

{ int stre ( char[ ] ) ; char str [ 10 ] , *p = str ; gets ( p ) ; cout << stre ( p ) << endl ; } int stre ( char str[ ] ) { int num = 0 ; while( * ( str + num ) != ’\0’ ) num ++ ; return ( num ) ; } 解:题目库函数少了 。该正后,输入1234,输出4 (2)编写程序实现下列问题的求解。 (1)输入三个整数,按由小到大的顺序输出,然后将程序改为:输入三个字符串,按由小到大的顺序输出。 #include using namespace std; int turn (int *p1,int *p2)

操作系统实验报告1

操作系统 实验报告 班号:1303107 学号:1130310726 姓名:蔡鹏

1.请简述head.s 的工作原理。 head.s实在32位保护模式下运行的。我认为这段程序主要包括两个部分:1.初始化设置。2.任务执行与切换。 初始设置主要包括了:1.设置GDT表2.设置系统定时芯片3. 设置IDT表(0x08时钟中断和0x80系统调用中断)4.切换到任务0执行 任务切换和执行包括了:1.任务0和任务1 , 2.时钟中断, 3.系统中断 两个任务的在LDT中代码段和数据段描述符的内容都设置为:基地址0x0000;段限长值为0x03ff,实际段长度为4MB。因此在线性地址空间中这个?内核?的代码和数据段与任务的代码和数据段都从线性地址0开始并且由于没有采用分页机制,所以他们都直接对应物理地址0开始处。 为了每隔10毫秒切换运行的任务,head.s程序中把定时器芯片8253的通道0设置成每隔10毫秒就向中断控制芯片8259A发送一个时钟中断请求信号。PC机的ROM BIOS开机时已经在8259A中把时钟中断请求信号设置成中断向量8,因此我们需要在中断8的处理过程中执行任务切换操作。任务切换的实现是查看current变量中的当前运行的任务号,如果为0,就利用任务1的TSS选择符作为操作数执行远跳转指令,从而切换到任务1中,否则反之。

每个任务在执行时,会首先把一个字符的ASCII码放入寄存器AL中,然后调用系统中断调用int 0x80,而该系统调用处理过程则会调用一个简单的字符写屏子程序,把寄存器AL中的字符显示在屏幕上,同时把字符显示的屏幕的下一个位置记录下来,作为下一次显示字符用。在显示过一个字符后,任务代码会使用循环语句延迟一段时间,然后又跳转到任务代码开始处继续循环执行,直到运行了10毫秒而发生了定时中断,从而代码会切换到另一个任务执行。对于任务A,寄存器AL中始终存放字符‘A’,而任务B运行时AL中始终存放字符‘B’。因此程序运行时我们将看到一连串的‘A’和一连串的‘B’间隔的连续不断的显示在屏幕上。若出现了一个‘C’,是由于PC机偶然产生了一个不是时钟中断和系统调用中断的其他中断。因为我们已经在程序中给所有其他中断安装了一个默认中断处理程序。当出现一个其他中断时,系统就会运行这个中断处理程序,于是就会在屏幕上显示一个‘C’,然后退出中断。 4.请记录head.s 的内存分布状况,写明每个数据段,代码段,栈段 的起始与终止的内存地址。

实验报告5答案

实验报告 课程名称:高级语言程序设计 实验五:循环结构程序设计 班级: 学生姓名: 学号: 专业: 指导教师: 学期:2010-2011学年上学期 云南大学信息学院

一、实验目的 1、理解循环的概念 2、理解并掌握循环结构相关语句的含义、格式及使用 3、学会循环的应用及控制,包括: ① 掌握使用循环输入多个数据的方法 ② 掌握在多个数据中有选择地输出数据的方法 ③ 掌握在多个数据中对某种数据进行计数的方法 ④ 掌握求多个数据中最大值、最小值的方法 ⑤ 掌握使用break 、continue 语句终止循环 4、掌握循环的嵌套 二、知识要点 1、循环变量、循环条件、循环体的概念 2、三种循环语句的一般格式、执行过程 3、理解选择结构与循环结构中“条件表达式”之不同含义 4、二重循环的执行过程 三、实验预习 (要求做实验前完成) 1、循环变量的主要用途是: 2、用循环求多个数的和之前,先要把和的初始值赋为: 3、用循环求多个数的乘积之前,先要把乘积的初始值赋为: 4、字符变量能否作为循环变量? 5、循环过程中,如果循环条件成立,但需要结束循环,可采用什么办法? 6、什么叫循环的嵌套? 四、实验内容 (要求提供:① 算法描述或流程图 ② 源程序 ) 1、编程,利用循环计算以下表达式的值: (5+52)*(4+42)*(3+32)*(2+22)*(1+12)*(1/2+1/3+1/4+1/5)(for 循环) 2、编程,从键盘输入若干个整数,当输入0时,输入停止。统计并输出总共输入了几个 数,以及所有输入数的和。(while 循环) 3、输入一行字符,分别统计其中的英文字母、数字、空格和其他字符的个数。 4、使用二重循环编程,绘制如下图形: *****A ****B ***C **D *E 5. 输入10个整数,输出最大值、最小值和平均分。 6. 编写程序,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。程序运行后,若输入精度0.0005,则程序应输出为3.14…。 () 1121231234121233535735793521n n π?????????=++++++?????????+………… 五、实验结果(要求写出运行界面及输出的运行结果)

相关主题