第二次实验作业

第二次实验作业
第二次实验作业

`第二次实验作业

【实验名称】基尔霍夫定律的验证【实验目的】

验证基尔霍夫定律的正确性。

学会测定电路的开路电压与短路电流;加深对参考方向的理解。【实验仪器】

直流稳压电源(两台),分别为12V和6V;万用表(一台);标准电阻(三个),分别为100Ω、100Ω和430Ω。【实验原理】

基尔霍夫电流定律:电路中任意时刻,流进和流出节点电流的代数和为零。基尔霍夫电压定律:电路中任意时刻,沿闭合回路的电压的代数和为零。【实验内容】

按照图1所给的电路图搭建电路。【实验步骤】 1.验证电流定律

用万用表测量R1支路电流I1。用万用表测量R2支路电流I2。用万用表测量RL支路电流IL。

将上述所得数据填写到表1中(单位:mA)。 2.验证电压定律

用万用表分别测出各支路的电压Uab、Ubc、Ucd、Uda。注意电压表正负接线。记录数值,填入表2中(单位:v)。

图1 实验电路

名人堂:众名人带你感受他们的驱动人生马云任志强李嘉诚柳传志史玉柱

2

实验报告

姓名:朱云勇

报名编号: C0766101101410709000043

学习中心:云南河口瑶族自治县教师进修学校奥鹏学习中心[17] 层次:高起专(高起专或专升本)专业:电气工程及其自动化

(一)填写数据表格

表1 :验证电流定律—数据记录

I1 I2 IL ∑I 18.75

20.63

-39.38

表2 :验证电压定律—数据记录

Uab Ubc Ucd Uda ∑U 8.062

-2.062

6.00

-12.00

(二)实验结论

1、电路中任意时刻,流进和流出节点电流的代数和为零。即:I1+I2+IL=0

2、电路中任意时刻,沿闭合回路的电压的代数和为零。

即:Uab+Ubc+Ucd+Uda=0

答案2

(1)实验结果表格

表1 :验证电流定律—数据记录

I1 I2 IL ∑I

0.02 0.021 0.041 0

表2 :验证电压定律—数据记录

Uab Ubc Ucd Uda ∑U

8.1 -2 6 -12 -0.2

(2)计算测量电流值的相对误差,分析误差产生原因

相对误差计算:E(I1)=(I1测-I1计)/I1计*100%=(0.02-0.01875)/0.01875*100%=6.666 同理:I2误差为1.94;IL误差为4.1;I误差为0

Uab误差为4.65;Ubc误差为-2.9;Ucd、Uda误差为0;U误差为-1.6

误差分析:

1、电路中电阻阻值与标示值有差异(430欧电阻值实测为435欧)阻值误差产生的差异;

2、导线连接点因存在接触电阻产生误差;

3、仪表存在的基本误差

4、串接电流表电表本身阻值及导线存在的阻值产生误差

(3)用表1和表2中实验测得数据验证基尔霍夫定律

实验结论:数据中大部分相对误差较小,基尔霍夫定律是正确的。

操作系统实验 磁盘调度算法

操作系统 实验报告 哈尔滨工程大学 计算机科学与技术学院

第六讲磁盘调度算法 一、实验概述 1. 实验名称 磁盘调度算法 2. 实验目的 (1)通过学习EOS 实现磁盘调度算法的机制,掌握磁盘调度算法执行的条件和时机; (2)观察 EOS 实现的FCFS、SSTF和 SCAN磁盘调度算法,了解常用的磁盘调度算法; (3)编写 CSCAN和 N-Step-SCAN磁盘调度算法,加深对各种扫描算法的理解。 3. 实验类型 验证性+设计性实验 4. 实验内容 (1)验证先来先服务(FCFS)磁盘调度算法; (2)验证最短寻道时间优先(SSTF)磁盘调度算法; (3)验证SSTF算法造成的线程“饥饿”现象; (4)验证扫描(SCAN)磁盘调度算法; (5)改写SCAN算法。 二、实验环境 在OS Lab实验环境的基础上,利用EOS操作系统,由汇编语言及C语言编写代码,对需要的项目进行生成、调试、查看和修改,并通过EOS应用程序使内核从源代码变为可以在虚拟机上使用。 三、实验过程 1. 设计思路和流程图 (1)改写SCAN算法 在已有 SCAN 算法源代码的基础上进行改写,要求不再使用双重循环,而是只遍历一次请求队列中的请求,就可以选中下一个要处理的请求。算法流程图如下图所示。 图 3.1.1 SCAN算法IopDiskSchedule函数流程图(2)编写循环扫描(CSCAN)磁盘调度算法 在已经完成的SCAN算法源代码的基础上进行改写,不再使用全局变量ScanInside 确定磁头移动的方向,而是规定磁头只能从外向内移动。当磁头移动到最内的被访问磁道时,磁头立即移动到最外的被访问磁道,即将最大磁道号紧接着最小磁道号构成循环,进行扫描。算法流程图如下图所示。

《操作系统原理》信管专业实验指导书资料

《操作系统原理》实验指导书 班级:_______________ 学号:_______________ 姓名:_______________ 山东建筑大学管理工程学院 信息管理与信息系统教研室

目录 引言 (1) 实验题目一 (2) 实验题目二 (4) 实验题目三 (6) 实验题目四 (8) 实验题目五 (10) 实验题目六 (12)

引言 操作系统是信息管理与信息系统专业一门重要的专业理论课程,了解和掌握操作系统的基本概念、功能和实现原理,对认识整个计算机系统的工作原理十分重要。 操作系统实验是操作系统课程的一个重要组成部分,通过试验环节的锻炼使同学们不仅能够对以前的所学过的基础知识加以巩固,同时能够通过上机实验,对操作系统的抽象理论知识加以理解,最终达到融会贯通的目的,因此,实验环节是同学们理解、掌握操作系统基本理论的一个重要环节。 本实验指导书,根据教材中的重点内容设定了相应的实验题目,由于实验课程的学时有限,我们规定了必做题目和选做题目,其中必做题目必须在规定的上机学时中完成,必须有相应的预习报告和实验报告。选做题目是针对有能力或感兴趣的同学利用课余时间或上机学时的剩余时间完成。

实验题目一:模拟进程创建、终止、阻塞、唤醒原语 一、题目类型:必做题目。 二、实验目的:通过设计并调试创建、终止、阻塞、唤醒原语功能,有助于对操作系统中进 程控制功能的理解,掌握操作系统模块的设计方法和工作原理。 三、实验环境: 1、硬件:PC 机及其兼容机。 2、软件:Windows OS ,Turbo C 或C++、VC++、https://www.360docs.net/doc/9213055884.html, 、Java 等。 四、实验内容: 1、设计创建、终止、阻塞、唤醒原语功能函数。 2、设计主函数,采用菜单结构(参见后面给出的流程图)。 3、设计“显示队列”函数,目的能将就绪、阻塞队列中的进程信息显示在屏幕上,以供 随时查看各队列中进程的变化情况。 五、实验要求: 1、进程PCB 中应包含以下内容: 2、系统总体结构: 其中: 进程名用P1,P2标识。 优先级及运行时间:为实验题目二做准备。 状态为:就绪、运行、阻塞,三种基本状态。 指针:指向下一个PCB 。

操作系统实验实验1

广州大学学生实验报告 1、实验目的 1.1、掌握进程的概念,明确进程的含义 1.2、认识并了解并发执行的实质 2.1、掌握进程另外的创建方法 2.2、熟悉进程的睡眠、同步、撤消等进程控制方法 3.1、进一步认识并发执行的实质 3.2、分析进程竞争资源的现象,学习解决进程互斥的方法 4.1、了解守护进程 5.1、了解什么是信号 5.2、INUX系统中进程之间软中断通信的基本原理 6.1、了解什么是管道 6.2、熟悉UNIX/LINUX支持的管道通信方式 7.1、了解什么是消息 7.2、熟悉消息传送的机理 8.1、了解和熟悉共享存储机制 二、实验内容 1.1、编写一段程序,使用系统调用fork( )创建两个子进程。当此程序运行时,在系统 中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示'a',子进程分别显示字符'b'和字符'c'。试观察记录屏幕上的显示结果,并分析原因。 1.2、修改上述程序,每一个进程循环显示一句话。子进程显示'daughter …'及 'son ……',父进程显示'parent ……',观察结果,分析原因。 2.1、用fork( )创建一个进程,再调用exec( )用新的程序替换该子进程的内容 2.2、利用wait( )来控制进程执行顺序 3.1、修改实验(一)中的程序2,用lockf( )来给每一个进程加锁,以实现进程之间的互斥 3.2、观察并分析出现的现象 4.1、写一个使用守护进程(daemon)的程序,来实现: 创建一个日志文件/var/log/Mydaemon.log ; 每分钟都向其中写入一个时间戳(使用time_t的格式) ; 5.1、用fork( )创建两个子进程,再用系统调用signal( )让父进程捕捉键盘上来的中断信号(即按^c键);捕捉到中断信号后,父进程用系统调用kill( )向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止: Child process1 is killed by parent! Child process2 is killed by parent! 父进程等待两个子进程终止后,输出如下的信息后终止: Parent process is killed! 5.2、用软中断通信实现进程同步的机理

操作系统第一次与第二次实验报告

实验报告 实验1 Linux基本环境 1、实验目的 (1)熟悉Linux下的基本操作,学会使用各种Shell命令去操作Linux,对Linux 有一个感性认识。 (2)学会使用vi编辑器编简单的C语言程序,并能对其编译和调试。 2、实验内容 (1)以root用户身份登陆,并使用“ls”,“cat”“cd”等命令来实现基本的文件操作并观察Linux文件系统的特点; (2)使用vi编辑器编写一C程序,并用gcc命令进行编译和链接,并用a.out 来进行输出结果。 3、实验结果 (1) a.输入“ls”后,vi编辑器显示主文件夹下的所有文件及目录名。使用dir 查看当前目录内容。 b.输入“cat”后,会显示文件:cat 文件名建立文件:cat >文件名, ctrl+d结束输入。 c.输入“cd”,改变当前目录,cd ..回到上层目录,cd /回到根目录。(2) a.在命令行键入vi filename.c 然后回车。 b.按一下键盘上的I键(insert),进入编辑模式。(a与i是相同的用法) c.当文件编辑完后,按Esc 键;输入:wq) ,保存退出。 d.对刚才编写的程序进行编译。编译的命令是:gcc filenam e.c e.最后运行程序,命令式:./a.out 4、实验总结 通过做本次实验,我熟悉了Linux环境下的基本操作,学会使用各种命令去操作Linux,也学会使用vi编辑器编辑简单的程序,并能对其编译

和调试。了解并掌握了对vi编辑器的一些基本使用方法等。可能由于初次接触Linux环境,所以刚开始编程时出现了许多错误,但我及时找同学或老师来帮忙,解决我的问题,这些错误能够让我更清楚地了解自己对哪些知识掌握的不够透彻,让自己对知识掌握的更牢固。 实验2 进程管理 1、实验目的 (1)加深对进程概念的理解,明确进程和程序的区别。 (2)进一步认识并发执行的实质。 (3)分析进程竞争资源现象,学习解决进程互斥的方法。 (4)了解Linux系统中进程通信的基本原理。 2、实验内容 (1)进程的创建 编写一段源程序,使系统调用fork()创建两个子进程,当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕 上显示一个字符:父进程显示字符“a”;子进程分别显示字符“b”和 字符“c”。试观察纪录屏幕上的显示结果,并分析原因。 (2)进程的控制 修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,在观察程序执行时屏幕出现的现象,并分析原因。 如果在程序中使用调用lockf()来给每一个子进程加锁,可以实现进程 之间的互斥,观察并分析出现的现象。 (3)①编写一段程序,使其现实进程的软中断通信。 要求:使用系统调用fork()创建两个子进程,再用系统调用signal() 让父进程捕捉键盘上来的中断信号(即按DEL键);当捕捉到中断信号 后,父进程用系统调用Kill()向两个子进程发出信号,子进程捕捉到信 号后分别输出下列信息后终止: Child Processll is Killed by Parent!

计算机视觉第二次作业实验报告

大学计算机视觉实验报告 摄像机标定 :振强 学号:451 时间:2016.11.23

一、实验目的 学习使用OpenCV并利用OpenCV进行摄像机标定,编程实现,给出实验结果和分析。 二、实验原理 2.1摄像机标定的作用 在计算机视觉应用问题中,有时需要利用二位图像还原三维空间中的物体,从二维图像信息出发计算三维空间物体的几何信息的过程中,三维空间中某点的位置与二维图像中对应点之间的相互关系是由摄像机的几何模型决定的,这些几何模型的参数就是摄像机参数,而这些参数通常是未知的,摄像机标定实验的作用就是通过计算确定摄像机的几何、光学参数,摄像机相对于世界坐标系的方位。 2.2摄像机标定的基本原理 2.2.1摄像机成像模型 摄像机成像模型是摄像机标定的基础,确定了成像模型才能确定摄像机外参数的个数和求解的方法。计算机视觉研究中,三维空间中的物体到像平面的投影关系即为成像模型,理想的投影成像模型是光学中的中心投影,也称为针孔模型。实际摄像系统由透镜和透镜组组成,可以由针孔模型近似模拟摄像机成像模型。 图2.1 针孔成像 2.2.2坐标变换 在实际摄像机的使用过程中,为方便计算人们常常设置多个坐标系,因此空间点的成像过程必然涉及到许多坐标系之间的相互转化,下面主要阐述几个重要坐标系之间的转换关系。

2.2.2.1世界坐标系--摄像机坐标系 图2.2 世界坐标系与摄像机坐标系空间关系 世界坐标系与摄像机坐标系之间的转换关系为: ????? ? ????????????=???? ????????111w w w T c c c Z Y X O T R Z Y X R 和T 分别是从世界坐标系到摄像机坐标系的旋转变换和平移变换系数,反映的是世界坐标系和摄像机坐标系之间的关系,因此称为外参数。 2.2.2.2物理坐标系--像素坐标系 图2.3 像素坐标系

计算机操作系统实训资料

计算机操作系统实验(训)指导书 学院:电子信息工程学院 班级:13计算机科学与技术本01班 学号: 姓名: 指导教师: 西安思源学院 电子信息工程学院

前言 操作系统是计算机科学与技术专业的一门重要的专业课,是一门实践性很强的技术课程。掌握操作系统原理、熟悉操作系统的使用是各层次计算机软硬件开发人员必不可少的基本技能。操作系统课程讲授理论原理比较容易,而如何指导学生进行实践则相对较难,导致学生不能深刻地理解操作系统的本质,也不能在实际中应用所学的操作系统理论知识及操作系统所提供的功能来解决实际问题。 本实验课程在操作系统原理课程教学中占有重要地位,目的是让学生及时掌握和巩固所学的基本原理和基础理论,加深理解。提高学生自适应能力,为将来使用和设计各类新的操作系统打下基础。 一般来说,学习操作系统分为以下几个层次: 1.学习并掌握操作系统的基本概念及原理,了解操作系统的实现机制。 2.掌握常用操作系统的使用、操作和维护,成为合格的系统管理员。 目前最常用的操作系统主要有UNIX、Linux、Windows等等。 3.通过分析操作系统源代码,掌握修改、编写操作系统的能力。开放源代码的操作系统Linux的出现为我们提供了机遇。 操作系统本身的构造十分复杂,如何在有效的时间内,使学生既能了解其实现原理又能对原理部分进行有效的实践,是操作系统教学一直在探索的内容。本实验课程以Windows和Linux操作系统为主要平台,从基本原理出发,通过几个实验,使学生能对操作系统的基本原理有更深入的了解,为将来从事操作系统方面的研究工作打下一定的基础。

目录 实验一Windows的用户界面 (4) 实验二Windows2003的任务与进程管理器 (6) 实验三Linux使用环境 (10) 实验四Linux进程管理、内存管理、设备管理 (13) 实验五Windows2003内存管理 (16) 实验六目录和文件管理 (19) 实验七用户与组群管理 (21)

操作系统第二次实验first-fit, next-fit

操作系统第二次实验报告 物联网1301 齐亨13516110 一、实验简介 本实验要求建造一个没有虚拟功能的内存管理系统。任务如下: ? 设计一个内存管理器,支持至少两种分配策略, 如first-fit, next-fit, best-fit, worst-fit 等。 ? 对不同分配策略的性能进行评估。 二、实验过程 1、first fit(首次适应) 首次适应策略的思路是,分配时在空闲块列表中搜索,找到第一个能够满足请求的块即停止搜索,然后把搜索到的块分割,一部分返回给请求者,另一部分仍然作为空闲块留在空闲列表的原来位置。首次适应策略的问题在于,链表头部区域的块倾向于被首先分割,经过一段时间后,空闲链表头部可能堆积大量小的空闲块,这会导致搜索时间的增加,因为当请求一个头部区域的小块无法满足的块时,需要顺次检查这些小块。 代码如下: #include #include #include int array[99]; int *array_request(int n) { int count=0; int *p=&array[0]; int *l=&array[99]; while(count

} if(count

第二次作业及参考答案

第二次作业及参考答案 1如何设计实验条件使欲了解的电极基本过程(如电化学反应过程)成为电极系统的受控过程? 答:设计实验条件使欲了解的电极基本过程成为电极系统的受控过程,需要了解该电极过程在电极总过程中的具体位置。例如对于简单电极过程,电极过程等效电路为: 要使电化学反应过程(等效电路元件为Rct)成为电化学测量过程中电极过程的受控步骤,即要使得电极过程的等效电路简化为 则应该设计如下实验条件: (1)采用鲁金毛细管、高导电率的支持电解质或断电流法、恒电位仪正反馈法等措施,以减小或补偿掉电解液欧姆电阻,电极的电子导体选用高导电率材料作电子导电物质,以减小或忽略掉电子导体的欧姆电阻; (2)电化学测量时采用小幅值外加激励信号,当外加激励作用于电极一段时间、双电层充(放)电结束但浓差极化还没出现时进行测量,以忽略双电层充放电过程和浓差极化的影响。 (3)当电化学反应物可溶时,可采用旋转圆盘电极、在适宜的高转速下对电极进行测量,以忽略浓差极化对电极过程研究的干扰。 2什么是支持电解质?作用是什么? 答:支持电解质:电导率强、浓度大、在电化学测量过程中承担溶液电迁移任务而不参与电化学反应的物质。可以使溶液的离子强度和电导率在测量过程中保持稳定,获得重现性良好的可靠数据。作用:(1)增强溶液导电性,减小溶液欧姆压降;(2)承担溶液电迁移任务,消除反应物或产物的电迁移传质;(3)支持电解质浓度大,离子迁移数大,溶液离子强度主要取决于支持电解质,可以忽略测量过程中因反应物或产物离子消耗引起的离子强度的变化,电极反应各物种扩散系数可近似视为常数;(4)有利于紧密双电层电容的构建,减小分散层电势(1电势)的影响;(5)加入支持电解质后溶液密度大,可以忽略因电活性物质浓度梯度引起的溶液密度差,从而减小或忽略界面附近的对流传质。 3 工作电极分类? 答:按电极是否作为反应物参与电极反应,工作电极分为两类:第一类工作电极和第二类工作电极。第一类工作电极可称为活性工作电极,电极既承担电子导电的任务,又作为反应物参与电极反应。第二类工作电极又称为惰性工作电极,

操作系统原理实验指导

操作系统实验指导 操作系统是计算机的最重要的系统软件,它在计算机中具有核心地位,其作用是对计算机系统资源进行统一的调度和管理,提供各种强有力的系统服务,为用户创造灵活而又方便的使用环境。一个精心设计的操作系统能极大地扩充计算机系统的功能,充分地发挥系统中各种资源的使用效率,提高系统工作的可靠性。 操作系统原理是计算机科学与技术专业的一门主要专业课程,它涉及计算机系统中各种软、硬资源管理的实现原理与方法,内容非常丰富,综合性非常强,并且还具有很强的实践性。只有把理论与实践紧密地结合起来,才能取得较好地学习效果。 培养计算机专业学生的系统程序设计能力,也是本课程的重要环节。系统程序要求结构清晰、合理、可读性好,有准确而简明的注释。通过实验可以培养学生正规系统程序设计能力。 本实验包括下列六个方面: 实验一几种操作系统的界面 实验二进程调度 实验三存储器管理 实验四存储器管理 实验五磁盘驱动调度 实验六文件管理系统 上述每个实验约需要10个学时。可根据实际情况选用。最好学生自己独立完成,如有困难,可参考一些示例,弄清每个实验的思想和实现方法,上机调试通过,不能完全照搬示例。 实验一几种操作系统的界面 1、目的与要求 目的:通过本实验,学生应熟悉1~2种操作系统的界面。在熟练使用的基础上,能了解各种命令和调用在系统中的大致工作过程,也就是通过操作系统的外部特性,逐步深入到操作系统的内在实质内容中去。 要求:能熟练地在1~2种操作系统环境下工作。学会使用各种命令,熟悉系统提供的各种功能。主动而有效地使用计算机。 熟悉系统实用程序的调用方法和各种系统调用模块的功能和用法。 2、示例 用1~2种操作系统提供的各种手段,建立、修改、编辑、编译和运行程序,最后撤消一个简单程序。要尽可能多地使用系统提供的各种命令和功能。 操作系统可为如下两种序列: (1)Windows 98或Windows 2000或Windows XP。 (2)Linux或Unix。 下面简要介绍一下Unix操作系统。 Unix是一个分时操作系统,面向用户的界面shell是一种命令程序设计语言,这种语言向用户提供了从低到高,从简单到复杂的三个层次的使用方式。它们是简单命令、组合命令和shell过程。 简单命令:Unix命令一律使用小写字母。 例如:ls -l 显示文件目录(长格式) rm 删除一个文件 cat 合并和传送文件、 cp 复制文件 mv 文件改名 cc 编译C语言源程序 组合命令:shell简单命令可以用管道算符|组合构成功能更强的命令。

西北工业大学操作系统实验_OS3(10)

评语: 课中检查完成的题号及题数: 课后完成的题号与题数: 成绩: 指导教师: 实验报告三 实验名称:七、八日期:2013.05.23 班级:10011007 学号:2010302555 姓名:杨宏志实验七理解线程的相关概念 1. 实验目的 理解当操作系统引入线程的概念后,进程是操作系统独立分配资源的单位,线程成为系统调度的单位,与同一个进程中的其他线程共享程序空间。 2. 实验预习内容 预习线程创建和构造的相关知识,了解C语言程序编写的相关知识。 3. 实验内容及步骤 (1)编写一个程序,在其main()函数中创建一个(或多个)线程,观察该线程是如何与主线程并发运行的。输出每次操作后的结果; (2)在main()函数外定义一个变量shared(全局变量),在main()中创建一个线程,在main()中和新线程shared 进行循环加/减操作,观察该变量的变化; (3)修改程序把shared 变量定义到main()函数之内,重复第(2)步操作,观察该变量的变化。

4. 实验总结 (1) 观察上述程序执行结果,并分析原因; (2) 提交源程序清单,并附加流程图与注释。思考:分析进程和线程的不同之处。 5. 具体实现 1)观察线程并发性: #include #include #include void * func(void *params) { while(1) { printf("i am the thread 2\n"); sleep(1); } return NULL; } int main() { pthread_t tid; int res=pthread_create(&tid, NULL,func,NULL); while(1) { printf("i am main thread\n"); sleep(1); } return 0; }

操作系统实验3报告

实验三、进程通讯 ——管道及共享内存姓名:徐洪班级:10电信实验班学号:Q10600109 实验用学号:e06620111 一、实验目的 (1)加深对管道概念的理解。 (2)掌握利用管道进行进程通信的程序设计。 (3)Linux系统的共享内存机制允许在任意进程间大批量地交换数据。本实验的目的是了解和熟悉Linux支持的共享存储区机制。 二、实验预备内容 认真阅读实验材料中管道通信及共享内存部分,加深对管道通信及共享内存机制的理解。 三、实验内容 任务一、 (1)阅读以上父子进程利用管道进行通信的例子(例1),写出程序的运行结果并分析。 (2)编写程序:父进程利用管道将一字符串交给子进程处理。子进程读字符串,将里面的字符反向后再交给父进程,父进程最后读取并打印反向的字符串。 任务二、 (1)阅读例2的程序,运行一次该程序,然后用ipcs命令查看系统中共享存储区的情况,再次执行该程序,再用ipcs命令查看系统中共享内存的情况,对两次的结果进行比较,并分析原因。最后用ipcrm命令删除自己建立的共享存储区。(有关ipcs和ipcrm介绍见后面一页)(2)每个同学登陆两个窗口,先在一个窗口中运行例3程序1(或者只登陆一个窗口,先在该窗口中以后台方式运行程序1),然后在另一个窗口中运行例3程序2,观察程序的运行结果并分析。运行结束后可以用ctrl+c结束程序1的运行。 四、实验结果 运行例1 反向输出

main() { int x,fd[2],n,i,fs[2]; char buf[30],s[30],m[30],b[30]; pipe(fd); pipe(fs); while ((x=fork())==-1); if (x==0) { close(fd[0]); close(fs[1]); printf("Parent Process!\n"); strcpy(buf,"This is an example\n"); write(fd[1],buf,30); read(fs[0],m,30); printf("Parent Process1!\n"); printf("%s\n",m); } else{ close(fd[1]); close(fs[0]); printf("Child Process!\n"); read(fd[0],s,30); n=strlen(s)-1; for( i=0;i

第二次作业

实验编号:实验二实验主题:类与对象 实验目的:(1)理解面向对象程序设计与过程化程序设计的区别,理解类和对象的概念,掌握如何编写和使用类; (2)理解数据成员、方法和构造方法的概念,掌握在类中的声明和使用; (3)理解重载的概念,掌握重载的使用; (4)理解继承和多态的概念,掌握它们的使用; (5)理解封装的概念,掌握封装的使用。 实验要求:(1)认真理解类、对象、数据成员、方法、构造方法、重载、多态、继承、封装等基本概念; (2)掌握类的定义和使用方法; (3)在Textpad环境下完成选做实验内容; (4)认真撰写完整的实验报告。 实验步骤:(1)首先,声明和定义类,在类中定义数据成员、方法和构造方法; (2)定义一个包含main 方法的类,测试已经定义好的类。 实验提示:(1)注意数据成员的初始化; (2)注意在继承的层次中构造方法的调用次序; (3)注意遵循Java的命名风格; (4)注意public,private,protected的区别和使用。 实验分数: 5.0 完成时间:10-10-23 0:00:00.000 实验内容:(选择一个题目完成) 题目:复数类 (难度:0.8) 编写一个复数类,可以进行复数加法和减法运算。编写一个包含main方法的类(应用程序)测试该复数类。要求该复数类至少包含一个无参的构造方法和一个带参的构造方法;数据成员包括复数的实部和虚部,为double类型;包括两个方法,分别实现复数的加法和减法运算。 题目:图书借阅第一版 (难度:1.0) 编写三个类,图书类、学生类和测试类,可以处理简单的书籍借阅情况,包括借书和还书等。图书类的数据成员包括书名、书号和借书学生等;方法包括借书、还书和显示书籍信息等。学生类的数据成员包括姓名、学号和所借书籍等;方法包括显示学生信息等。测试类是一个应用程序,在该程序中创建图书类和学生类对象,完成图书的借阅和归还。 题目:Employee类层次结构 (难度:1.0) 创建四个类,分别为Employee类、SalariedEmplyee类、HourlyEmployee类和CommissionEmployee类。其中Employee类是其他三个类的父类。Employee类包含姓名和身份证号。除此之外,SalariedEmployee类还应包含每月工资;HourlyEmployee类还应包含每小时工资数和工作时间数;CommissionEmployee还应包含提成比例和销售总额。每个类都应有合适的构造方法、数据成员的设置和读取方法。编写一个应用程序,创建这些类的对象,并输出与对象相关的信息。注意子类有时需调用父类的构造方法和被覆盖的方法,成员变量定义为private,对有些方法实现重载。

实验指导(2015完全版)

操作系统上机实验指导书 (第一版) 闫大顺李晟编著 吴家培主审 计算机科学与工程学院 2014.8

操作系统实验指导 本课程是为《计算机操作系统》课所开的实验。计算机操作系统课程是一门实践性很强的技术课程,本课程实验的目的在于培养学生的实践能力,促进理论与实践的结合。要求学生通过上机编程,熟悉对操作系统原理,并熟练使用程序接口,并了解如何模拟操作系统原理的实现,从而加深对操作系统原理的领会,加深对操作系统实现方法的理解,与此同时使学生在程序设计方面也能够得到很大程度的提高。 实验的目的是使学生理论联系实际,提高学生系统理解与开发能力。这里所列的实验分为必做和选做。具体实验题的选择,不仅要考虑课程内容,而且要考虑学生目前的编程能力,要由浅入深。教师可通过运行示例或动画,帮助学生理解实验要求。学生应选择自己熟悉的语言与开发环境去完成实验。根据以往的教学经验,Delphi、C++ Builder,JBuilder由于提供了许多可重用的构件,易于学习、使用,VC++学习、使用困难较多。实验要求尽量在windows操作系统下,也可以在Linux下完成,由于多数没有专门学习Linux,在其平台下做试验比较困难。实验的硬件要求是能够支持VC++、Delphi、C++ Builder,JBuilder的微机即可。每个学生都独立在一台计算机上完成自己的实验内容,杜绝学生的抄袭。 实验报告的要求 1. 每位同学准备实验报告本,上机前作好充分的准备工作,预习本次实验的内容,事先熟悉与实验有关的软硬件环境。 2. 实验时遵守实验室的规章制度,爱护实验设备,对于实验设备出现的问题,要及时向指导老师汇报。 3. 提交实验文件格式:[班级][学号]_[实验题号].[扩展名] 例:计051班学号为03的学生第四个实验的文件名为:j05103_4.c 4. 最终的实验报告按照实验名称、实验目的、实验内容,实验过程(程序设计、实现与调试)、实验总结五部分书写,按时上交。实验总结是对于实验过程中出现的问题或疑惑的分析与思考。认真按照要求填写到实验报告纸上。

Windows操作系统实验三实验报告

Windows操作系统C/C++ 程序实验 姓名:___________________ 学号:___________________ 班级:___________________ 院系:___________________ ______________年_____月_____日

实验三Windows 2000/xp线程同步 一、背景知识 二、实验目的 在本实验中,通过对事件和互斥体对象的了解,来加深对Windows 2000/xp线程同步的理解。 1) 回顾系统进程、线程的有关概念,加深对Windows 2000/xp线程的理解。 2) 了解事件和互斥体对象。 3) 通过分析实验程序,了解管理事件对象的API。 4) 了解在进程中如何使用事件对象。 5) 了解在进程中如何使用互斥体对象。 6) 了解父进程创建子进程的程序设计方法。 三、工具/准备工作 在开始本实验之前,请回顾教科书的相关内容。 您需要做以下准备: 1) 一台运行Windows 2000/xp Professional操作系统的计算机。 2) 计算机中需安装V isual C++ 6.0专业版或企业版。 四、实验内容与步骤 1. 事件对象 清单4-1程序展示了如何在进程间使用事件。父进程启动时,利用CreateEvent() API创建一个命名的、可共享的事件和子进程,然后等待子进程向事件发出信号并终止父进程。在创建时,子进程通过OpenEvent() API打开事件对象,调用SetEvent() API使其转化为已接受信号状态。两个进程在发出信号之后几乎立即终止。 步骤1:登录进入Windows 2000/xp Professional。 步骤2:在“开始”菜单中单击“程序”-“Microsoft V isual Studio 6.0”–“Microsoft V isual C++ 6.0”命令,进入V isual C++窗口。 步骤3:在工具栏单击“打开”按钮,在“打开”对话框中找到并打开实验源程序3-1.cpp。 步骤4:单击“Build”菜单中的“Compile 3-1.cpp”命令,并单击“是”按钮确认。系统

东北大学操作系统第二次实验报告

实验4:进程的管道通信 一、题目:进程的管道通信 二、目的: ●加深对进程概念的理解,明确进程和程序的区别; ●学习进程创建的过程,进一步认识并发执行的实质; ●分析进程争用资源的现象,学习解决进程互斥的方法; ●学习解决进程同步的方法; ●掌握Linux系统进程间通过管道通信的具体实现方法。 三、实验内容 ?使用系统调用pipe()建立一条管道线,两个子进程分别向管道写一句话(写 的内容自己定,但要有该进程的一些信息); ?父进程从管道中读出来自两个子进程的消息,显示在屏幕上; ?要求:父进程首先接收子进程p1发来的消息,然后再接收子进程p2发来的 消息。 四、实验要求 1、这是一个设计型实验,要求自行、独立编制程序; 2、两个子进程要并发执行; 3、实现管道的互斥使用。当一个子进程正在对管道进行写操作时,另一个欲写入管道的子进程必须等待。使用系统调用lockf(fd[1],1,0)实现对管道的加锁操作,用lockf(fd[1],0,0)解除对管道的锁定; 4、实现父子进程的同步,当父进程试图从一空管道中读取数据时,便进入等待状态,直到子进程将数据写入管道返回后,才将其唤醒。 五、程序流程图

图5.1 父进程流程图

图5.2子进程P1流程图图5.3子进程P2流程图 六、源程序 #include #include #include #include #include #include #include #include

第二次作业《解释结构模型应用》

海事大学 实验报告 《系统工程》 2014~2015学年第一学期 实验名称:基于解释模型在大学生睡眠质量问题的研究学号:马洁茹有琳 指导教师:贾红雨 报告时间: 2014年9月24日

《系统工程》课程上机实验要求 实验一解释结构模型在大学生睡眠质量问题中的研究 实验名称:基于MATLAB软件或C/Java/其他语言ISM算法程序设计(一) 实验目的 系统工程课程介绍了系统结构建模与分析方法——解释结构模型法(Inter pretative Structural Modeling ·ISM)是现代系统工程中广泛应用的一种分析方法,能够利用系统要素之间已知的零乱关系,用于分析复杂系统要素间关联结构,揭示出系统部结构。ISM方法具有在矩阵的基础上再进一步运算、推导来解释系统结构的特点,对于高维多阶矩阵的运算依靠手工运算速度慢、易错,甚至几乎不可能。 本次实验的目的是应用计算机应用软件或者是基于某种语言的程序设计快速实现解释结构模型(ISM)方法的算法,使学生对系统工程解决社会经济等复杂性、系统性问题需要计算机的支持获得深刻的理解。学会运用ISM分析实际问题。 (二) 实验要求与容: 1.问题的选择 根据对解释结构模型ISM知识的掌握,以及参考所给的教学案例论文,决定选择与我们生活有关的——大学生睡眠质量问题。 2.问题背景

睡眠与我们的生活息息相关,当每天的身体机制在不断运行的过程中身体负荷不断变大,到了夜间就需要休息。但是同一寝室的同学大多休息时段不同,有些习惯早睡,有些会由于许多原因晚睡。有些睡眠较沉不会轻易被打扰,有些睡眠较轻容易被鼾声或者其他声响惊醒。学习得知,解释系统模型是通过对表面分离、凌乱关系的研究,揭示系统部结构的方法。 因此,我想尝试通过解释模型来对该问题进行研究分析。 3.用画框图的形式画出ISM的建模步骤。

兰州大学操作系统实验十文件全资料系统观察题目和问题详解

实验十 实验名称:10 文件系统观察 实验目的: 1.学习和掌握文件系统的基本概念 2.学习对文件和文件系统的观察和操作 3.学习和使用文件系统的权限控制 实验时间 3学时 预备知识: 1.基本命令 命令名主要选项功能说明ls -a, -l, -i 列出指定文件 stat 显示文件系统信息 cd 切换目录 pwd 报告当前路径 touch -a, -m 创建新文件 mv -i, -u 移动 cp -a, -i, -l, -s, -R 复制 rm -i,-r 删除文件 mkdir -p 创建目录

rmdir 删除目录(空目录) ln -s 建立 find -type, -name, -ctime 查找文件 locate 快速查找文件 grep -i,-l, -r, -v, -n 查找文件容 chmod -R 添加、删除、指派文件或目录的权限 chown 改变文件属主 chgrp 改变文件组 umask 查看、设置权限掩码 mkfs -t 创建文件系统 mke2fs -j, -b, -i 创建ext2/ext3文件系统 mount -t, -o, -a 挂载文件系统 umount 卸载文件系统 df -i, -h, -k, -a 提供硬盘及其分区、其它驱动器在文件系统中的装入位 置以及它们所占用的空间大小等信息。 du -c, -h 提供关于文件和目录所占空间的信息 fsck 检查文件系统 2.文件类型 类型说明 普通文件一组连续的数据用一个名称表示 目录实施了分级文件系统的结构 设备文件要访问硬件的每个程序都必须通过对应的设备文件来访问硬件 对存储在文件系统中其他点的文件的引用

操作系统实验报告.实验一_WINDOWS进程初识

操作系统教程 实验指导书

实验一WINDOWS进程初识 1、实验目的 (1)学会使用VC编写基本的Win32 Consol Application(控制台应用程序)。 (2)掌握WINDOWS API的使用方法。 (3)编写测试程序,理解用户态运行和核心态运行。 2、实验内容和步骤 (1)编写基本的Win32 Consol Application 步骤1:登录进入Windows,启动VC++ 6.0。 步骤2:在“FILE”菜单中单击“NEW”子菜单,在“projects”选项卡中选择“Win32 Consol Application”,然后在“Project name”处输入工程名,在“Location”处输入工程目录。创建一个新的控制台应用程序工程。 步骤3:在“FILE”菜单中单击“NEW”子菜单,在“Files”选项卡中选择“C++ Source File”, 然后在“File”处输入C/C++源程序的文件名。 步骤4:将清单1-1所示的程序清单复制到新创建的C/C++源程序中。编译成可执行文件。 步骤5:在“开始”菜单中单击“程序”-“附件”-“命令提示符”命令,进入Windows “命令提示符”窗口,然后进入工程目录中的debug子目录,执行编译好的可执行程序:E:\课程\os课\os实验\程序\os11\debug>hello.exe 运行结果 (如果运行不成功,则可能的原因是什么?) : 答:运行成功,结果: (2)计算进程在核心态运行和用户态运行的时间 步骤1:按照(1)中的步骤创建一个新的“Win32 Consol Application”工程,然后将清单1-2中的程序拷贝过来,编译成可执行文件。 步骤2:在创建一个新的“Win32 Consol Application”工程,程序的参考程序如清单1-3所示,编译成可执行文件并执行。 步骤3:在“命令提示符”窗口中运行步骤1中生成的可执行文件,测试步骤2中可执行文件在核心态运行和用户态运行的时间。 E:\课程\os课\os实验\程序\os12\debug>time TEST.exe 步骤4:运行结果 (如果运行不成功,则可能的原因是什么?) 因为此程序是个死循环,所以运行时间为无穷大。_______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ __________________________________________________________________________

工程力学(含实验演示)第二次在线作业

工程力学(含实验演示)第二次在线作业

第二次在线作业 单选题(共40道题) 收起 1.( 2.5分) ?A、. ?B、. ?C、. ?D、. 我的答案:D 此题得分:2.5分2.(2.5分) ?A、. ?B、. ?C、. ?D、. 我的答案:C 此题得分:2.5分3.(2.5分) ?A、. ?B、. ?C、. ?D、. 我的答案:A 此题得分:2.5分4.(2.5分) ?A、.

?B、. ?C、. ?D、. 我的答案:A 此题得分:2.5分5.(2.5分) ?A、. ?B、. ?C、. ?D、. 我的答案:A 此题得分:2.5分6.(2.5分) ?A、. ?B、. ?C、. ?D、. 我的答案:A 此题得分:2.5分7.(2.5分) ?A、. ?B、. ?C、. ?D、. 我的答案:A 此题得分:2.5分

8.(2.5分) ?A、. ?B、. ?C、. ?D、. 我的答案:C 此题得分:2.5分9.(2.5分) ?A、. ?B、. ?C、. ?D、. 我的答案:B 此题得分:2.5分10.(2.5分) ?A、. ?B、. ?C、. ?D、. 我的答案:C 此题得分:2.5分11.(2.5分) ?A、. ?B、. ?C、.

?D、. 我的答案:C 此题得分:2.5分12.(2.5分) ?A、. ?B、. ?C、. ?D、. 我的答案:D 此题得分:2.5分13.(2.5分) ?A、. ?B、. ?C、. ?D、. 我的答案:D 此题得分:2.5分14.(2.5分) ?A、. ?B、. ?C、. ?D、. 我的答案:B 此题得分:2.5分15.(2.5分) ?A、.

操作系统原理实验报告(终版)

操作系统原理实验报告(终版)

————————————————————————————————作者:————————————————————————————————日期:

[键入文字] XX学校 实验报告 课程名称: 学院: 专业班: 姓名: 学号: 指导教师: 2011 年3 月

目录 实验1 进程管理 (3) 一、实验目的 (3) 二、实验内容 (3) 三、实验要求 (3) 四、程序说明和程序流程图 (4) 五、程序代码 (5) 六、程序运行结果及分析 (7) 七.指导教师评议 (8) 实验2 进程通信 (9) 一、实验目的 (9) 二、实验内容 (9) 三、实验要求 (9) 四、程序说明和程序流程图 (9) 五、程序代码 (11) 七.指导教师评议 (14) 实验3 存储管理 (15) 一、实验目的 (15) 二、实验内容 (15) 三、实验要求 (15) 四、程序说明和程序流程图 (16) 六、程序运行结果及分析 (23)

七.指导教师评议 (23) 实验4 文件系统 (24) 一、实验目的 (24) 二、实验内容 (24) 三、实验要求 (24) 四、程序说明和程序流程图 (24) 五、程序代码 (26) 六、程序运行结果及分析 (26) 七.指导教师评议 (27)

实验1 进程管理 一、实验目的 1. 弄清进程和程序的区别,加深对进程概念的理解。 2. 了解并发进程的执行过程,进一步认识并发执行的实质。 3. 掌握解决进程互斥使用资源的方法。 二、实验内容 1. 管道通信 使用系统调用pipe( )建立一个管道,然后使用系统调用fork( )创建2个子进程p1和p2。这2个子进程分别向管道中写入字符串:“Child process p1 is sending message!”和“Child process p2 is sending message!”,而父进程则从管道中读出来自两个子进程的信息,并显示在屏幕上。 2. 软中断通信 使用系统调用fork( )创建2个子进程p1和p2,在父进程中使用系统调用signal( )捕捉来自键盘上的软中断信号SIGINT(即按Ctrl-C),当捕捉到软中断信号SIGINT后,父进程使用系统调用kill( )分别向2个子进程发出软中断信号SIGUSR1和SIGUSR2,子进程捕捉到信号后分别输出信息“Child process p1 is killed by parent!”和“Child process p2 is killed by parent!”后终止。而父进程等待2个子进程终止后,输出信息“Parent process is killed!”后终止。 三、实验要求 1. 根据实验内容编写C程序。 2. 上机调试程序。 3. 记录并分析程序运行结果。

相关文档
最新文档