文档库 最新最全的文档下载
当前位置:文档库 › 操作系统实验指导书

操作系统实验指导书

操作系统实验指导书
操作系统实验指导书

操作系统实验指导书

东北大学软件学院

2008年10月

实验要求

(1)预习实验指导书有关部分,认真做好实验的准备工作。

(2)实验中及时分析记录。

(3)按指导书要求书写实验报告,提交打印版(A4)。

实验的验收将分为两个部分。第一部分是上机操作,包括检查程序运行和即时提问。第二部分是提交的实验报告。

实验一进程调度(4学时)

一、实验目的

在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就绪进程个数大于处理机数时,就必须依照某种策略来决定哪些进程优先占用处理机。本实验模拟在单处理机情况下的处理机调度,帮助学生加深了解处理机调度的工作。

二、实验类型

设计型。

三、预习内容

预习课本处理机调度有关内容,包括进程占用处理机的策略方法。

四、实验内容与提示

本实验中共有两个实验题。

第一题:编写并调试一个模拟的进程调度程序,采用“最高优先数优先”调度算法对五个进程进行调度。

<一>最高优先级优先调度算法

1)优先级简介

动态优先数是指在进程创建时先确定一个初始优先数,以后在进程运行中随着进程特性的改变不断修改优先数,这样,由于开始优先数很低而得不到CPU 的进程,就能因为等待时间的增长而优先数变为最高而得到CPU运行。

例如:在进程获得一次CPU后就将其优先数减少1。或者,进程等待的时间超过某一时限时增加其优先数的值,等等。

2)详细设计

优先权调度算法:

1、设定系统中有五个进程,每一个进程用一个进程控制块( PCB)表示,

进程队列采用链表数据结构。

2、进程控制块包含如下信息:进程名、优先数、需要运行时间、已用

CPU时间、进程状态等等。

3、在每次运行设计的处理调度程序之前,由终端输入五个进程的“优

先数”和“要求运行时间”。

4、进程的优先数及需要的运行时间人为地指定。进程的运行时间以时

间片为单位进行计算。

5、采用优先权调度算法,将五个进程按给定的优先数从大到小连成就

绪队列。用头指针指出队列首进程,队列采用链表结构。

6、处理机调度总是选队列首进程运行。采用动态优先数办法,进程每

运行一次优先数减“1”,同时将已运行时间加“1”。

7、进程运行一次后,若要求运行时间不等于已运行时间,则再将它加

入就绪队列;否则将其状态置为“结束”,且退出就绪队列。

8、“就绪”状态的进程队列不为空,则重复上面6,7步骤,直到所

有进程都成为“结束”状态。

9、在设计的程序中有输入语句,输入5个进程的“优先数”和“要求

运行时间”,也有显示或打印语句,能显示或打印每次被选中进程

的进程名、运行一次后队列的变化,以及结束进程的进程名。10、最后,为五个进程任意确定一组“优先数”和“要求运行时间”,运行并调试所设计的程序,显示或打印出逐次被选中进程的进程名及其进程控制块的动态变化过程。

3)流程图:

图一.最高优先级优先调度算法流程图

<二>简单轮转法调度算法

1)简单轮转法的基本思想:

所有就绪进程按 FCFS排成一个队列,总是把处理机分配给队首的进程,各进程占用CPU的时间片相同。即将CPU的处理时间划分成一个个相同的时

间片,就绪队列的诸进程轮流运行一个时间片。当一个时间片结束时,如果

运行进程用完它的时间片后还未完成,就强迫运行机制进程让出CPU,就把它

送回到就绪队列的末尾,等待下一次调度。同时,进程调度又去选择就绪队

列中的队首进程,分配给它一时间片,以投入运行。直至所有的进程运行完

毕。

2)详细设计:

1、设系统有5个进程,每个进程用一个进程控制块PCB来代表。

2、为每个进程任意确定一个要求运行时间。

3、按照进程输入的先后顺序排成一个队列。再设一个队首指针指向第一个到达

进程的首址。

4、执行处理机调度时,开始选择队首的第一个进程运行。另外,再设一个当前

运行进程的指针,指向当前正在运行的进程。

5.考虑到代码的可重用性, 轮转法调度程序和最高优先级优先调度是调用同一

个模快进行输出。

6.进程运行一次后,以后的调度则将当前指针依此下移一个位置,指向下一个进程,即调整当前运行指针指向该进程的链接指针所指进程,以指示应运行进程。同时还应判断该进程的要求运行时间是否等于已运行时间。若不等,则等待下一轮的运行,否则将该进程的状态置为完成态C,并退出循环队列。

7.若就绪队列不空,则重复上述的(5)和(6)步骤直到所有的进程都运行完为止。

8.在所设计的调度程序中,包含显示或打印语句。显示或打印每次选中的进程的名称及运行一次后队列的变化情况。

3)流程图

图二. 简单轮转法调度算法流程图

五、思考题

(1)处理机调度的目的?

(2)你实现优先数调度算法的思想?

(3)你采用时间片轮转法实现处理机调度的思想?

(4)比较效率如何?

六、实验报告

(1) 实验题目。

(2) 程序中使用的数据结构及符号说明。

(3) 流程图。

(4) 打印一份源程序并附上注释。

(5) 打印程序运行时的初值和运行结果。

参考资料

(1)《计算机操作系统》(修订版),汤子瀛等编,西安电子科技大学出版社,2001-8。

(2)《<计算机操作系统>学习指导与题解》,汤子瀛等编, 西安电子科技大学出版社,2003-3。

实验二资源分配(4学时)

一、实验目的

多个进程动态地共享系统的资源可能会产生死锁现象。死锁的产生,必须同时满足四个条件,第一个是互斥条件,即一个资源每次只能由一个进程占用;第二个为等待条件,即一个进程请求资源不能满足时,它必须等待,但它仍继续保持已得到的所有其它资源;第三个是非出让条件,任何一个进程不能抢占另一个进程已经获得且未释放的资源;第四个为循环等待条件,系统中存在若干个循环等待的进程,即其中每一个进程分别等待它前一个进程所持有的资源。防止死锁的机构只须确保上述四个条件之一不出现,则系统就不会发生死锁。

在实验中假定系统中任一资源在每一时刻只能则由一个进程使用,任何进程不能抢占它进程正在使用的资源,当进程得不到资源时必须等待。因此只要资源分配策略能保证进程不出现循环等待,则系统就不会发生死锁。

本实验要求学生编写和调试一个系统动态分配资源的简单模拟程序,观察死锁产生的条件,并采用适当的算法,有效地防止和避免死锁的发生。

二、实验类型

设计型。

三、预习内容

预习课本资源分配有关内容,包括死锁发生条件及防止避免死锁的方法。

四、实验要求与提示

本实验中共有两个实验题。

第一题:用银行家算法实现资源分配。要求:

(1) 假定系统中有五个进程{P0, P1, P2, P3, P4}和三类资源{A, B, C},各种资源的数量分别为10、5、7,在T0时刻的资源分配情况如图所示。

利用银行家算法设计系统,进程可动态地申请资源和释放资源,系统按各进程的申请动态地分配资源。

(2) 设计用银行家算法和随机分配算法,实现资源分配的两个资源分配程序,应具有显示或打印各进程依次要求申请的资源数以及依次分配资源的情况。

(3) 确定一组各进程依次申请资源数的序列,在相同的情况下分别运行上述两种资源分配程序,观察运行结果。

[提示]:

(1) 银行家算法,顾名思义是来源于银行的借贷业务,一定数量的本金要应付多个客户的借贷周转,为了防止银行因资金无法周转而倒闭,对每一笔贷款,必须考察其是否能限期归还。在操作系统中研究资源分配策略时也有类似的问题,系统中有限的资源要供多个进程使用,必须保证得到资源的进程能在有限的时间内归还资源,以供其它进程使用资源。如果资源分配不得当,就会发生进程循环等待资源,各进程都无法继续执行下去的死锁现象。

银行家算法分配资源的原则是:系统掌握每个进程对资源的最大需求量,当进程要求申请资源时,系统就测试该进程尚需资源的最大量,如果系统中现存的资源数大于或等于该进程尚需的最大量时,则就满足进程的当前申请。这样可以保证至少有一个进程可能得到全部资源而执行到结束,然后归还它所占用的全部资源供其它进程使用。银行家算法破坏了产生死锁的第四个条件,即不可能产生循环等待,从而可以避免死锁的发生。

(2) 把各进程需要和已占用资源的情况记录在进程控制块中,假定进程控制块PCB的格式如表1。其中“状态”有就绪态、等待态和完成态。当进程处于

等待态时,表示系统不能满足该进程当前的资源申请。“资源需求总量”表示进程在整个执行过程中总共要申请的资源量。“已占资源量”表示进程目前已经得到但还未归还的资源量。因此,进程在以后还需要的最大资源量等于资源需求总量减去已占有资源量。显然,每个进程的资源需求总量不能超过系统拥有的资源总数。

表1 PCB格式

(3) 为了观察死锁现象的发生,了解用银行算法进行资源分配可以避免死锁,故在模拟程序中采用两种资源分配算法:银行算法和随机算法。随机算法的分配原则是:当进程申请资源时,如果系统中现存资源数能满足进程的当前资源申请

图1 资源分配模拟程序总流程

量,就把资源分配给该进程,否则就置进程为等待态。用随机算法分配资源可能会产生死锁。资源分配模拟程序总流程见图1。

随机分配算法流程见图2。

图2 随机分配算法模拟流程

第二题:用按序分配策略实现资源分配。要求:

(1) 设计一个3个进程共享10个资源的系统,进程可动态地申请资源和释放资源,系统按各进程的申请动态地分配资源。

(2) 设计用按序分配算法实现资源分配的资源分配程序,应具有显示或打印各进程依次要求申请的资源号以及依次分配资源地情况。

(3) 确定两组各进程依次要求申请的资源号,要求其中的一组中各进程按序地申请资源,另一组中各进程申请资源不受序号限制,分别运行上述设计的资源分配程序,观察运行结果。

[提示]:

(1) 防止进程发生循环等待的另一种资源分配策略是按序分配算法,其基本思想如下:把系统中所有的资源排一个顺序,例如系统共有m个资源,用r i表示第i个资源,那么这m 个资源是:

r1, r2, r3……, r m

规定任何进程不得在占用资源r i(1

(2) 把各进程申请资源的情况记录在进程控制块PCB中,现假定进程控制块PCB的格式如下:

其中“状态”可以为就绪态、等待态和完成态。当进程处于等待态时,表示系统不能满足该进程的当前资源申请,此时,PCB中的“当前等待资源号”反映了该进程等待的资源。当系统为进程分配了一个资源后,则把分配的资源号填入“上次申请资源号”一栏中。

(3) 假定系统中拥有的资源数m=10,而系统中申请资源的进程数N=3。按序分配算法程序流程见图3。

图3 按序分配算法模拟流程

五、思考题

(1)死锁发生的条件?

(2)避免死锁的方法有哪些?

(3)你的算法采用什么思想预防或避免死锁的发生?

(4)效率如何?

六、实验报告

(1) 实验题目。

(2) 程序中使用的数据结构及符号说明。

(3) 打印一份源程序并附上注释。

(4) 打印资源申请和分配情况

资源申请:

实验三存储管理

一、实验目的

一个好的计算机系统不仅要有一个足够容量的、存取速度高的、稳定可靠的主存储器,而且要能合理地分配和使用这些存储空间。当用户提出申请存储器空间时,存储管理必须根据申请者的要求,按一定的策略分析主存空间的使用情况,找出足够的空闲区域分配给申请者。当作业撤离或主动归还主存资源时,则存储管理要收回作业占用的主存空间或归还部分主存空间。

熟悉主存的分配与回收。理解在不同的存储管理方式下,如何实现主存空间的分配与回收。掌握动态分区分配方式中的数据结构和分配算法及动态分区存储管理方式及其实现过程。

二、实验类型

设计型。

三、预习内容

预习课本存储管理有关内容,包括首次适应算法、最佳适应算法、最差适应算法。

四、实验要求与提示

主存的分配和回收的实现是与主存储器的管理方式有关的。所谓分配,就是解决多道作业或多进程如何共享主存空间的问题。所谓回收,就是当作业运行完成时将作业或进程所占的主存空间归还给系统。实验要求使用可变分区存储管理方式,分区分配中所用的数据结构采用空闲分区说明表和空闲分区链来进行,分区分配中所用的算法采用首次适应算法、循环首次适应算法、最佳适应算法三种算法来实现主存的分配与回收。同时,要求设计一个实用友好的用户界面,并显示分配与回收的过程。

1.采用可变分区管理,使用首次适应算法实现主存的分配和回收。

1)可变分区管理是指在处理作业过程中建立分区,使分区大小正好适合作业的需求,并且分区个数是可以调整的。当要装入一个作业时,根据作业需要的主存量查看是否有足够的空闲空间,若有,则按需要量分割一个分区分配给该作业;若无,则作业不能装入,作业等待。随着作业的装入、完成,主存空间被分成许多大大小小的分区,有的分区被作业占用,而有的分区是空闲的。

为了说明那些分区是空闲的,可以用来装入新作业,必须有一张空闲说明表空闲区说明表格式如下:

其中,起址——指出一个空闲区的主存起始地址,长度指出空闲区的大小。

长度——指出从起始地址开始的一个连续空闲的长度。

状态——有两种状态,一种是“未分配”状态,指出对应的由起址指出的某个长度的区域是空闲区;另一种是“空表目”状态,表示表中对应的登记项目是空白(无效),可用来登记新的空闲区(例如,作业完成后,它所占的区域就成了空闲区,应找一个“空表目”栏登记归还区的起址和长度且修改状态)。由于分区的个数不定,所以空闲区说明表中应有适量的状态为“空表目”的登记栏目,否则造成表格“溢出”无法登记。

2)当有一个新作业要求装入主存时,必须查空闲区说明表,从中找出一个足够大的空闲区。有时找到的空闲区可能大于作业需要量,这时应把原来的空闲区变成两部分:一部分分给作业占用;另一部分又成为一个较小的空闲区,留在空闲区表中。为了尽量减少由于分割造成的空闲区,尽可能分配低地址部分的空闲区,而尽量保存高地址部分有较大的连续空闲区域,以利于大型作业的装入。为此,在空闲区说明表中,把每个空闲区按其地址顺序从低到高登记,即每个后继的空闲区其起始地址总是比前者大。为了方便查找还可使表格“紧缩”,总是让“空表目”项留在表格的后部。

3)采用首次适应算法分配主存空间。

按照作业的需要量,查空闲区说明表,顺序查看登记栏,找到第一个能满足要求的空闲区。当空闲区大于需要量时,一部分用来装入作业,另一部分仍为空闲区登记在空闲区说明表中。

由于本实验是模拟主存的分配,所以把主存区分配给作业后并不实际启动装入程序装入作业,而用输出“分配情况”来代替。

4)当一个作业执行完成撤离时,作业所占的分区应该归还给系统,归还的分区如果与其它空闲区相邻,则应合成一个较大的空闲区,登记在空闲区说明表中。例如,在上述中列举的情况下,如果作业2撤离,归还所占主存区域时,应与上、下相邻的空闲区一起合成一个大的空闲区登记在空闲区说明表中。

2.流程图

图1 主存回收算法

图2 首次适应分配模拟算法

3、例如,假设初始状态下,可用的内存空间为640KB,并有下列的请求序列:?作业1申请130KB

?作业2申请60KB

?作业3申请100KB

?作业2释放60KB

?作业4申请200KB

?作业3释放100KB

?作业1释放130KB

?作业5申请140KB

?作业6申请60KB

?作业7申请50KB

?作业6申请60KB

4.实验截图

1)进入界面,显示操作

2)选择操作1,显示目前的空闲分区

3)返回界面,选择操作2,输入如下信息

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

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

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

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

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

机器人技术实验指导书

工业机器人实验指导书实验一、工业机器人的安装与调试 一、实验学时:2学时 二、实验目的: 1、学习并掌握六自由度工业机器人的结构特点。 2、能根据安装说明书对机器人套件进行安装调试 三、实验设备: 1、六自由度工业机器人套件 2、LOBOT机器人舵机控制板 3、计算机一台 四、实验原理: 六自由度机械手臂是一套具有6个自由度的典型串联式小型关节型机械手臂, 带有小型手抓式;主要由机械系统和控制系统两大部分组成,其机械系统的各部分采用模块化结构,每个部分分别由一个伺服电动机来带动,每个电动机在根据控制要求以及程序的要求来运动从而实现运动要求。 此六自由度机械手臂的特点:1.手部和手腕连接处可拆卸,手部和手腕连接处为机械结构。b.手部是机械手臂的末端操作器,只能抓握一种工件或几种在形状、尺寸、质量等方面相近似的工件,只能执行一种作业任务。c.手部是决定整个机械手臂作业完成好坏,作业柔性好坏的关键部件之一。此机械手臂的手爪是机械钳爪式类别中的平行连杆式钳爪。

五、实验步骤: 1.首先,先熟悉一下需要用到的螺丝及铜柱 2.取1 个圆盘和1 个金属舵盘 3.用4 个M3*6 螺丝的将金属舵盘装在圆盘上面。 4.再取出1 个圆盘和1 个多功能支架,用M4*15 螺丝和螺母,将其固定 5.取2 个圆环+大轴承+双通铜柱(长15mm)+4 个M4*80 螺丝。 6.将螺丝穿入圆环。2 个圆环中间是轴承,下面用铜柱锁紧。(越紧越好)。 7.取出方孔圆盘+1 个MG996R 舵机,用4 个M4*8 螺丝和M4 螺母将舵机固 定在圆盘上。注意方向不要搞错,舵机输出轴在圆盘中心位置。这个舵机要调到90 度(中间)的位置,即往左往右都可以控制旋转90 度。 8.取出之前装好的带有金属舵盘的圆盘。将其固定在舵机输出轴上,注意 图中的位置,将小圆盘上2 个孔之间连线和方孔大圆上2 个孔之间的连线处于平行状态。 9.将之前装好的这两个部分,连到一起 10.方孔大圆盘下面用M4 螺母锁紧。 11.将另一个小圆盘,放上去,孔位和下面对准,取出4 个M4*20螺丝及螺丝, 将上下两个圆盘锁紧,越紧越好!(上螺丝的时候,手指可以抵着M4 螺

实验指导书(六自由度)

实验一:6SPT-1六自由度液压伺服平台综合实验、实验目的: 1、掌握电液位置伺服控制系统的基本原理; 2、掌握六自由度平台的结构解算的概念及其软件实现; 3、掌握VB6.0软件与下位机PAC通过以太网通信的方法; 4、掌握6SPT-1六自由度液压伺服平台复现指令信号的实施方法。 、预备知识: 1、熟练掌握PLC的梯形图语言(LD)编程和结构化文本语言(ST)编 程; 2、熟练掌握VB6.0编程,能使用VB6.0实现以太网通信; 3、有一定的矩阵计算能力。 二、试验原理: 1、电液位置伺服控制系统的基本原理 电液位置伺服控制系统以液体作为动力传输和控制介质,利用电信号进行控制输入和反馈。只要输入某一规律的输入信号,执行元件就能启动、快速并 准确地复现输入量的变化规律。控制系统结构图如图3.1所示: 图3.1电液位置伺服控制系统结构图 2、六自由度平台逆解算法

图3.2 空间机构位置关系示意图 六自由度平台又称为Stewart平台,其结构如图3.2所示,Stewart平台由 上、下两个平台、六个驱动关节和连接球铰组成,上平台为运动平台,下平台为基座,上、下平台的六个铰点分别组成一个六边形,连接6个液压缸作为驱动关节,每个液压缸两端各连接一个球铰。六个驱动关节的伸缩运动是独立的由液压比例压力阀控制各液压缸作伸缩运动,从而改变各个驱动缸的长度,使 动平台在空间的位置和姿态发生变化。因此该平台是通过六个驱动杆的协调动 作来实现三个线性移动及三个转动共六个自由度的运动。 S tewart平台机构的空间位置关系是指运动平台的六个自由度与六个驱动杆长度的关系,是研究该并联机构最基本的任务,也是机构速度、加速度、误差分析、工作空间分析、动力分析等的基础。 对于6-SPS平台机构,其特点是动静平台铰点共面,考虑到工作空间的对称性要求,将平台的6个铰点分成3组,三组铰点沿圆周120。均布,动、静平台的相邻两边到中心的夹角分别为30。和90° o 为求解六自由度平台的空间位置关系,首先在静、动平台上分别建立静、动坐标系。如图3.3所示,静坐标系XYZ原点0位于静平台的中心,X-Y平面

操作系统实验指导书

实验前准备工作:Linux的安装 一. 实验目的 1.掌握Red Hat Linux操作系统的安装步骤。 2.掌握启动、关闭操作系统的方法。 二.实验准备 Red Hat Linux操作系统既可以单独安装在一个计算机系统中;也可以与其它操作系统如windows操作系统一起安装在一个计算机系统中,但注意在安装时要先装windows操作系统,再装Linux;或者利用主机的资源(如CPU、内存、硬盘),模拟出的一台新计算机。然后在虚拟机中安装windows、Linux等系统,使用虚拟机对主机的要求比较高,建议内存512MB以上。 1.硬盘分区 理解硬盘、分区的名称: ?IDE硬盘名称: /dev/hda, /dev/hdb …… ?SCSI硬盘名称:/dev/sda, /dev/sdb …… 分区名称:/dev/hda1, /dev/hda2 …… 一个硬盘最多分4个主分区和扩展分区,扩展分区最多只能建1个,扩展分区不能直接放数据,还必须建立逻辑分区才能使用。 安装Red Hat Linux至少需要两个硬盘分区:一个或多个―Linux native‖类型的分区,一个―Linux swap‖类型的分区。即使将Linux安装在一个专门的硬盘上,或者一台不安装其他操作系统的计算机上,仍然需要为其创建分区。在安装过程中,会提示用户为Red Hat Linux 创建分区,必须保证有足够的硬盘空间来创建分区。推荐以下分区配置: (1)一个根分区 (2)一个交换分区 (3)一个/usr分区 (4)一个/home分区。 2. 安装类型 Red Hat Linux提供了三种类型的安装: (1)客户机类型安装(workstation) (2)服务器类型安装(server system) (3)自定义类型的安装(custom system) 三.实验内容 请在虚拟机中安装Linux。 1. 安装虚拟机软件 常用的虚拟机软件有Vmware和VPC,如果主机性能较好,还能同时虚拟出多台虚拟机;一台虚拟机对应主机上的一个目录,删除该目录就删除了虚拟机;该目录拷到其它电脑

土工实验指导书及实验报告

土工实验指导书及实验报告编写毕守一 安徽水利水电职业技术学院 二OO九年五月

目录 实验一试样制备 实验二含水率试验 实验三密度试验 实验四液限和塑限试验 实验五颗粒分析试验 实验六固结试验 实验七直接剪切试验 实验八击实试验 土工试验复习题

实验一试样制备 一、概述 试样的制备是获得正确的试验成果的前提,为保证试验成果的可靠性以及试验数据的可比性,应具备一个统一的试样制备方法和程序。 试样的制备可分为原状土的试样制备和扰动土的试样制备。对于原状土的试样制备主要包括土样的开启、描述、切取等程序;而扰动土的制备程序则主要包括风干、碾散、过筛、分样和贮存等预备程序以及击实等制备程序,这些程序步骤的正确与否,都会直接影响到试验成果的可靠性,因此,试样的制备是土工试验工作的首要质量要素。 二、仪器设备 试样制备所需的主要仪器设备,包括: (1)孔径0.5mm、2mm和5mm的细筛; (2)孔径0.075mm的洗筛; (3)称量10kg、最小分度值5g的台秤; (4)称量5000g、最小分度值1g和称量200g、最小分度值0.01g的天平;

(5)不锈钢环刀(内径61.8mm、高20mm;内径79.8mm、高20mm或内径61.8mm、高40mm); (6)击样器:包括活塞、导筒和环刀; (7)其他:切土刀、钢丝锯、碎土工具、烘箱、保湿器、喷水设备、凡士林等。 三、试样制备 (一)原状土试样的制备步骤 1、将土样筒按标明的上下方向放置,剥去蜡封和胶带,开启土样筒取土样。 2、检查土样结构,若土样已扰动,则不应作为制备力学性质试验的试样。 3、根据试验要求确定环刀尺寸,并在环刀内壁涂一薄层凡士林,然后刃口向下放在土样上,将环刀垂直下压,同时用切土刀沿环刀外侧切削土样,边压边削直至土样高出环刀,制样时不得扰动土样。 4、采用钢丝锯或切土刀平整环刀两端土样,然后擦净环刀外壁,称环刀和土的总质量。 5、切削试样时,应对土样的层次、气味、颜色、夹杂物、裂缝和均匀性进行描述。 6、从切削的余土中取代表性试样,供测定含水率以及颗粒分析、界限含水率等试验之用。

操作系统原理实验-系统内存使用统计5

上海电力学院 计算机操作系统原理 实验报告 题目:动态链接库的建立与调用 院系:计算机科学与技术学院 专业年级:信息安全2010级 学生姓名:李鑫学号:20103277 同组姓名:无 2012年11 月28 日上海电力学院

实验报告 课程名称计算机操作系统原理实验项目线程的同步 姓名李鑫学号20103277 班级2010251班专业信息安全 同组人姓名无指导教师姓名徐曼实验日期2012/11/28 实验目的和要求: (l)了解Windows内存管理机制,理解页式存储管理技术。 (2)熟悉Windows内存管理基本数据结构。 (3)掌握Windows内存管理基本API的使用。 实验原理与内容 使用Windows系统提供的函数和数据结构显示系统存储空间的使用情况,当内存和虚拟存储空间变化时,观察系统显示变化情况。 实验平台与要求 能正确使用系统函数GlobalMemoryStatus()和数据结构MEMORYSTATUS了解系统内存和虚拟空间使用情况,会使用VirtualAlloc()函数和VirtualFree()函数分配和释放虚拟存储空间。 操作系统:Windows 2000或Windows XP 实验平台:Visual Studio C++ 6.0 实验步骤与记录 1、启动安装好的Visual C++ 6.0。 2、选择File->New,新建Win32 Console Application程序, 由于内存分配、释放及系统存储 空间使用情况均是Microsoft Windows操作系统的系统调用,因此选择An application that support MFC。单击确定按钮,完成本次创建。 3、创建一个支持MFC的工程,单击完成。

操作系统实验-实验指导书

3 《操作系统》实验指导书 实验学时:16 适用专业:计算机科学与技术,软件技术 操作系统上机实验 一、实验目的 主要目的是配合操作系统课程的学习,模拟实现操作系统的功能,有助于对操作系统的理解,同时加强学生对系统设计、程序编写、代码调试、软件开发过程基本技能的掌握。 上机作业应作到:覆盖讲授的所有原理内容,使得学生通过上机实践对原理有更深的理解;每一道上机作业,都要求学生必须完成一个完整的、可运行的小型软件,籍此提升基本的软件开发技能。 二、实验要求 (1)上机实验之前,学生应当为每次上机的内容作好充分准备。对每次上机需要完成的题目进行认真的分析,选择合适的算法,列出实验具体步骤,写出符合题目要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。 (2)按照实验目的和实验内容以及思考题的要求进行上机操作。录入程序,编译调试,反复修改,直到使用要求的算法,使程序正常运行,得出正确的输出结果为止。 (3)上机作业要求提交原始代码、设计文档和可运行程序。以完整的作业包的形式提交。实验报告应当包括:实验题目,程序清单,运行结果,所选取的算法及其优缺点以及通过上机取得了哪些经验。程序清单要求格式规范,注意加注释(包含关键

字、方法、变量等),在每个模块前加注释,注释不得少于20% 三、实验内容 上机实验包括:操作系统使用、SHELL编程、进程管理、进程调度、死锁处理、存储管理、文件系统几个部分。 实验1: SHELL编程 实验目的 熟悉linux常用命令,为以后的实验打下良好基础; 熟悉vi编辑器的使用; 了解Shell程序的语法规则,能编写简单的Shell程序。 实验内容 1、使用常用的Linux命令,主要包括如下命令: date, mail, write, man, ls, cat, mv, grep, tail, head, cp, wc, pwd, who等; 2、使用vi编辑器编辑文件,熟悉vi编辑器的各种操作模式和常用命令。 3、使用vi编辑器编写一段Shell程序,取名为mycal,实现与Linux中cal命令类 似的功能,当输入: $mycal [月份名] 年时,屏幕输出指定的年月的月历。例如: $mycal October 2009 屏幕输出2009年10月的月历。 注:参数可以是英文或者是数字。 实验2:观察Linux的行为 实验目的 了解Linux proc文件系统; 加深对Linux系统的理解; 增强Linux系统管理知识。 实验内容 在Linux中,proc文件系统提供了一套在用户态检查内核状态和系统特征的机制。proc文件系统将进程的地址空间、系统的硬件信息、系统相关机制(中断、I/O)等内容全部设置为虚拟的Linux文件,为访问系统内核数据的操作提供接口。 1、以root登录系统,并进入/proc目录,键入ls命令,查看/proc下的内容,同时 查看每个文件的读写权限。 2、根据/proc下的信息,回答:CPU的类型和型号、当前Linux版本、从启动到当 前时刻所经过的时间、当前内存状态。

实验五实验六指导书

实验五 MATLAB 实现DFT MATLAB 为计算数据的离散快速傅时叶变换,提供了一系列丰富的数学函数,主要有fft 、ifft 、fft2、ifft2和czt 等。当所处理的数据的长度为2的幂次时,采用基-2算法进行计算,计算速度会显著增加。所以,要尽可能使所要处理的数据长度为2幂次或者用添零的方式来添补数据使之成为2的幂次。 1.fft 和ifft 函数 调用格式是: (1)()X fft Y = 如果X 是向量,则采用傅时叶变换来求解X 的离散傅里叶变换;如果X 是矩阵,则计算该矩阵每一列的离散傅里叶变换;如果X 是()D N *维数组,则是对第一个非单元素的维进行离散傅里叶变换。 (2)()N X fft Y ,= N 是进行离散傅里叶变换的X 的数据长度,可以通过对X 进行补零或截取来实现。 (3)[]()dim ,,X fft Y =或()dim ,,N X fft Y = 在参数dim 指定的维上进行离散傅里叶变换;当X 为矩阵时,dim 用来指定变换的实施方向:dim=1,表明变换按列进行;dim=2,表明变换按行进行。 函数ifft 的参数应用与函数fft 完全相同。 2.fft2和ifft2函数 调用格式是: (1)()X fft Y 2= 如果X 是向量,则此傅里叶变换即变成一维傅里叶变换fft ;如果X 是矩阵,则是计算该矩阵的二维快速傅里叶变换;数据二维傅里叶变换fft 2(X )相当于()()''X fft fft ,即先对X 的列做一维傅里叶变换,然后再对变换结果的行做一维傅里叶变换。 (2)()N M X fft Y ,,2= 通过对X 进行补零或截断,使得X 成为()N M *的矩阵。 函数ifft2的参数应用与函数fft2完全相同 fftn 、ifftn 是对数据进行多维快速傅立变换,其应用与fft2、ifft2类似;在此,不再叙述。 3.czt 函数 调用格式是: ()A W M X czt X ,,,= 式中X 是待变换的时域信号()n x ,其长度设为N ,M 是变换的长度,W 确定变换的步

操作系统原理实验四

实验4 进程控制 1、实验目的 (1)通过对WindowsXP进行编程,来熟悉和了解系统。 (2)通过分析程序,来了解进程的创建、终止。 2、实验工具 (1)一台WindowsXP操作系统的计算机。 (2)计算机装有Microsoft Visual Studio C++6.0专业版或企业版。 3、预备知识 (3)·CreateProcess()调用:创建一个进程。 (4)·ExitProcess()调用:终止一个进程。 4、实验编程 (1)编程一利用CreateProcess()函数创建一个子进程并且装入画图程序(mspaint.exe)。阅读该程序,完成实验任务。源程序如下: # include < stdio.h > # include < windows.h > int main(VOID) ﹛STARTUPINFO si; PROCESS INFORMA TION pi; ZeroMemory(&si,sizeof(si)); Si.cb=sizeof(si); ZeroMemory(&pi,sizeof(pi)); if(!CreateProcess(NULL, “c: \ WINDOWS\system32\ mspaint.exe”, NULL, NULL, FALSE, 0, NULL, NULL, &si,&pi)) ﹛fprintf(stderr,”Creat Process Failed”); return—1; ﹜ WaitForSingleObject(pi.hProcess,INFINITE); Printf(“child Complete”); CloseHandle(pi.hProcess); CloseHandle(pi hThread); ﹜

计算机网络实验指导书(6个实验)

实验一交换机的基本配置 一.实验原理 1.1以太网交换机基础 以太网的最初形态就是在一段同轴电缆上连接多台计算机,所有计算机都共享这段电缆。所以每当某台计算机占有电缆时,其他计算机都只能等待。这种传统的共享以太网极大的受到计算机数量的影响。为了解决上述问题,我们可以做到的是减少冲突域类的主机数量,这就是以太网交换机采用的有效措施。 以太网交换机在数据链路层进行数据转发时需要确认数据帧应该发送到哪一端口,而不是简单的向所有端口转发,这就是交换机MAC地址表的功能。 以太网交换机包含很多重要的硬件组成部分:业务接口、主板、CPU内存、Flash、电源系统。以太网交换机 的软件主要包括引导程序和核心操作系统两部分。 1.2以太网交换机配置方式 以太网交换机的配置方式很多,如本地Console 口配置,Telnet远程登陆配置,FTP TFTP配置和哑终端方式 配置。其中最为常用的配置方式就是Console 口配置和Telnet远程配置。 1.3以太网交换机基本配置方法 1.3.1交换机的用户界面交换机有以下几个常见命令视图: (1)用户视图:交换机开机直接进入用户视图,此时交换机在超级终端的标识符为。 (2)系统视图:在用户视图下输入实system-view命令后回车,即进入系统视图。在此视图下交换机的标识符 为:。](3)以太网端口视图:在系统视图下输入interface命令即可进入以太网端口视图。在此视图下交换 机的标识符为:。 (4)VLAN配置视图:在系统视图下输入vlan vlan —number即可进入VLAN配置视图。在此视图下交换机的标识符为:。 (5)VTY用户界面视图:在系统视图下输入user-interface vty number 即可进入VTY用户界面视图。在此视图下交 换机的标识符为:。 进行配置时,需要注意配置视图的变化,特定的命令只能在特定的配置视图下进行。 1.3.2交换机的常用帮助在使用命令进行配置的时候,可以借助交换机提供的帮助功能快速完成命令的查找和配置。 (1)完全帮助:在任何视图下,输入?”获取该视图下的所有命令及其简单描述。 (2)部分帮助:输入一命令,后接以空格分隔的?”,如果该位置为关键字,则列岀全部关键字及其描述;如果该位置为参数,则列岀有关的参数描述。 在部分帮助里面,还有其他形式的帮助,如键入一字符串其后紧接?”,交换机将列岀所有以该字符串开头的命令; 或者键入一命令后接一字符串,紧接?”,列岀命令以该字府串开头的所有关键字。 实验内容:交换机配置方法

Linux操作系统实验指导书

《Linux系统管理与维护》实验指导书 实验一初识Linux操作系统 一实验名称 初识Linux操作系统 二实验目的与要求 掌握Linux的启动、登录与注销。 三实验内容 1.以root用户和普通用户两种不同身份登录Linux,说出其登录后得差异。 2.图形模式下的注销、重启与关机。 3.学会在虚拟机上登录和注销Linux。 四操作步骤与结果分析 五问题与建议

实验二Linux的桌面应用 一实验名称 Linux的桌面应用 二实验目的与要求 熟悉Linux操作系统桌面环境 熟悉Linux文件系统及常用的操作 掌握Linux下使用外部存储设备、网络设备 掌握Linux下安装应用程序 三实验内容 1.查看GNOME提供的“应用程序”、“位置”或者“系统”菜单,运行其中的应用程 序和工具。 2.查看Linux文件目录结构,学会常用的文件目录操作,如复制、粘贴、移动、删 除、更名、创建文档、创建文件夹等。 3.练习在Linux下使用光盘和U盘。 4.学会网络配置,使计算机能够进行网络浏览等操作。 5.学会在Linux下安装新的应用软件。 四操作步骤与结果分析 五问题与建议

实验三Linux操作系统的安装 一实验名称 Linux操作系统的安装 二实验目的与要求 掌握安装Linux操作系统 三实验内容 1.通过学习《项目五Linux操作系统的安装及远程服务》的内容,学会如何安装Linux。 环境:windows 系统、vmware虚拟机、Redhat Linux镜像光盘。 通过安装向导将安装分为两步:1、基本安装,2、配置及具体安装。 在第一阶段重点如何分区,在第二阶段重点掌握如何设置密码及安装桌面环境。四操作步骤与结果分析 五问题与建议

(修改后) 系统仿真综合实验指导书(2011[1].6)

系统仿真综合实验指导书 电气与自动化工程学院 自动化系 2011年6月

前言 电气与自动化工程学院为自动化专业本科生开设了控制系统仿真课程,为了使学生深入掌握MATLAB语言基本程序设计方法,运用MATLAB语言进行控制系统仿真和综合设计,同时开设了控制系统仿真综合实验,30学时。为了配合实验教学,我们编写了综合实验指导书,主要参考控制系统仿真课程的教材《自动控制系统计算机仿真》、《控制系统数字仿真与CAD》、《反馈控制系统设计与分析——MATLAB语言应用》及《基于MATLAB/Simulink的系统仿真技术与应用》。

实验一MATLAB基本操作 实验目的 1.熟悉MATLAB实验环境,练习MATLAB命令、m文件、Simulink的基本操作。 2.利用MATLAB编写程序进行矩阵运算、图形绘制、数据处理等。 3.利用Simulink建立系统的数学模型并仿真求解。 实验原理 MATLAB环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。MATLAB有3种窗口,即:命令窗口(The Command Window)、m-文件编辑窗口(The Edit Window)和图形窗口(The Figure Window),而Simulink另外又有Simulink模型编辑窗口。 1.命令窗口(The Command Window) 当MATLAB启动后,出现的最大的窗口就是命令窗口。用户可以在提示符“>>”后面输入交互的命令,这些命令就立即被执行。 在MATLAB中,一连串命令可以放置在一个文件中,不必把它们直接在命令窗口内输入。在命令窗口中输入该文件名,这一连串命令就被执行了。因为这样的文件都是以“.m”为后缀,所以称为m-文件。 2.m-文件编辑窗口(The Edit Window) 我们可以用m-文件编辑窗口来产生新的m-文件,或者编辑已经存在的m-文件。在MATLAB 主界面上选择菜单“File/New/M-file”就打开了一个新的m-文件编辑窗口;选择菜单“File/Open”就可以打开一个已经存在的m-文件,并且可以在这个窗口中编辑这个m-文件。 3.图形窗口(The Figure Window) 图形窗口用来显示MATLAB程序产生的图形。图形可以是2维的、3维的数据图形,也可以是照片等。 MATLAB中矩阵运算、绘图、数据处理等内容参见教材《自动控制系统计算机仿真》的相关章节。 Simulink是MATLAB的一个部件,它为MATLAB用户提供了一种有效的对反馈控制系统进行建模、仿真和分析的方式。 有两种方式启动Simulink:

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

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

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

[键入文字] 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. 记录并分析程序运行结果。

《计算机操作系统》实验指导书

《计算机操作系统》 实验指导书 (适合于计算机科学与技术专业) 湖南工业大学计算机与通信学院 二O一四年十月

前言 计算机操作系统是计算机科学与技术专业的主要专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。计算机操作系统的实验目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握操作系统的基本原理,加深对操作系统基本方法的理解,加深对课堂知识的理解,为学生综合运用所学知识,在Linux环境下调用一些常用的函数编写功能较简单的程序来实现操作系统的基本方法、并在实践应用方面打下一定基础。要求学生在实验指导教师的帮助下自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个实验解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,并且能够进行简单分析和判断;能够熟练使用Linux用户界面;掌握操作系统中进程的概念和控制方法;了解进程的并发,进程之间的通信方式,了解虚拟存储管理的基本思想。同时培养学生进行分析问题、解决问题的能力;培养学生完成实验分析、实验方法、实验操作与测试、实验过程的观察、理解和归纳能力。 为了收到良好的实验效果,编写了这本实验指导书。在指导书中,每一个实验均按照该课程实验大纲的要求编写,力求紧扣理论知识点、突出设计方法、明确设计思路,通过多种形式完成实验任务,最终引导学生有目的、有方向地完成实验任务,得出实验结果。任课教师在实验前对实验任务进行一定的分析和讲解,要求学生按照每一个实验的具体要求提前完成准备工作,如:查找资料、设计程序、完成程序、写出预习报告等,做到有准备地上机。进行实验时,指导教师应检查学生的预习情况,并对调试过程给予积极指导。实验完毕后,学生应根据实验数据及结果,完成实验报告,由学习委员统一收齐后交指导教师审阅评定。 实验成绩考核: 实验成绩占计算机操作系统课程总评成绩的20%。指导教师每次实验对学生进行出勤考核,对实验效果作记录,并及时批改实验报告,综合评定每一次的实验成绩,在学期终了以平均成绩作为该生的实验成绩。有以下情形之一者,实验成绩为不及格: 1.迟到、早退、无故缺勤总共3次及以上者; 2.未按时完成实验达3次及以上者; 3.缺交实验报告2次及以上者。

Matlab实验指导书(实验六)

MATLAB实验指导书 编著:李新平 二零零八年三月十四日

实验六、数据插值和数据拟合 6.1 实验目的 1)掌握用 MA TLAB 计算拉格朗日、分段线性、三次样条三种插值的方法,改变节点 的数目,对三种插值结果进行初步分析。 2)掌握用 MA TLAB 进行多项式最小二乘拟合,会选择合适的函数及转化为线性函数。 3)通过实例学习用数据插值和数据拟合解决实际问题。 6.2 分段线性插值 设给定一元未知函数 ) (x f y = 的 1 + n 个结点的数据 b x x a n = < < = L 0 对应的函数 值 n y y , , 0 L ,根据这些结点数据求其余 ) ( i j x j 1 点的函数值 j y ,可将相邻两个节点之间用 直线连接起来,如此形成的一条折线(见右图)构成的分段线性函数 ) (x I n 来近似表示未知函 数 ) (x f ,从而解决该插值问题的方法就称为分段线性插值。可用如下公式表示: ) ( ) ( ) ( 0 x f x l y x I n j j j n ? = ? = 其余 , 0 , , ) ( 1 1 1 1 1 1 + + + - - - £ £ - - £ £ - - ? ? ? ? ? í ì = j j j j j j j j j j j x x x x x x x x x x x x x x x l 可用 MA TLAB 命令 y=interp1(x0,y0,x)来实现, 其中参数 x0 为给定结点数据的横坐标向 量,参数 y0 为 x0 对应的函数值,参数 x 为要未知结点的横坐标向量,函数返回值 y 为参数 x 根据分段线性插值得到的函数值。 【例】插值求在[0,15]区间内步长为 0.1 的机床加工数据: >>x0=[0 3 5 7 9 11 12 13 14 15]? y0=[0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6]? >>x=0:0.1:15? % 插值点 >>y=inpert1(x0, y0, x) % 插值求得函数值 6.3 拉格朗日插值 设未知函数 ) (x g y = 是n 次多项式,给定该n 次多项式 1 + n 个结点的数据 ), , {( i i y x , } , , 0 n i L = 根据这些结点数据求其余 ) ( i j x j 1 点的函数值 j y ,可考虑如下构造:

操作系统原理实验五

实验五线程的同步 1、实验目的 (1)进一步掌握Windows系统环境下线程的创建与撤销。 (2)熟悉Windows系统提供的线程同步API。 (3)使用Windows系统提供的线程同步API解决实际问题。 2、实验准备知识:相关API函数介绍 ①等待对象 等待对象(wait functions)函数包括等待一个对象(WaitForSingleObject ())和等待多个对象(WaitForMultipleObject())两个API函数。 1)等待一个对象 WaitForSingleObject()用于等待一个对象。它等待的对象可以为以下对象 之一。 ·Change ontification:变化通知。 ·Console input: 控制台输入。 ·Event:事件。 ·Job:作业。 ·Mutex:互斥信号量。 ·Process:进程。 ·Semaphore:计数信号量。 ·Thread:线程。 ·Waitable timer:定时器。 原型: DWORD WaitForSingleObject( HANDLE hHandle, // 对象句柄 DWORD dwMilliseconds // 等待时间 ); 参数说明: (1)hHandle:等待对象的对象句柄。该对象句柄必须为SYNCHRONIZE访问。 (2)dwMilliseconds:等待时间,单位为ms。若该值为0,函数在测试对象的状态后立即返回,若为INFINITE,函数一直等待下去,直到接收到 一个信号将其唤醒,如表2-1所示。 返回值: 如果成功返回,其返回值说明是何种事件导致函数返回。

Static HANDLE hHandlel = NULL; DWORD dRes; dRes = WaitForSingleObject(hHandlel,10); //等待对象的句柄为hHandlel,等待时间为10ms 2)等待对个对象 WaitForMultiple()bject()在指定时间内等待多个对象,它等待的对象与 WaitForSingleObject()相同。 原型: DWORD WaitForMultipleObjects( DWORD nCount, //句柄数组中的句柄数 CONST HANDLE * lpHandles, //指向对象句柄数组的指针 BOOL fWaitAll, //等待类型 DWORD dwMilliseconds //等待时间 ); 参数说明: (1)nCount:由指针 * lpHandles指定的句柄数组中的句柄数,最大数是MAXIMUM WAIT OBJECTS。 (2)* lpHandles:指向对象句柄数组的指针。 (3)fWaitAll:等待类型。若为TRUE,当由lpHandles数组指定的所有对象被唤醒时函数返回;若为FALSE,当由lpHandles数组指定的某一个 对象被唤醒时函数返回,且由返回值说明是由于哪个对象引起的函数 返回。 (4)dwMilliseconds:等待时间,单位为ms。若该值为0,函数测试对象的状态后立即返回;若为INFINITE,函数一直等待下去,直到接收到 一个信号将其唤醒。 返回值:、 如果成功返回,其返回值说明是何种事件导致函数返回。 各参数的描述如表2-2所示。

Linux操作系统实验指导书-4磁盘

《Linux操作系统》实验指导书

实验四 实验题目:磁盘管理 实验目的:熟悉并掌握磁盘管理常用命令;掌握利用虚拟机增加新硬盘,使用fdisk对磁盘分区操作;熟悉和了解磁盘显示信息内容;掌握使用卷组进行磁盘管理操作。 实验类型:综合 实验要求:必修 仪器设备:计算机 实验内容、方法、步骤: 1,使用GUI方式建立用户user01,具体属性如下: 登录shell为/bin/bash, 主目录/user01, 用户id: 520, 用户组grp01 2,使用修改配置文件方式建立用户user02,具体属性如下: 登录shell为/bin/bash, 主目录/user02, 用户id: 530, 用户组grp02 3,使用命令方式建立用户user03,具体属性如下: 登录shell为/bin/bash, 主目录/user03, 用户id: 530, 用户组grp03,附属组grp02 4,对user01,user02,user03,设置密码并登录。 一、磁盘和分区信息查看 1 fdisk查看当前系统硬盘及分区情况,在实验报告中说明当前的磁盘容量,分区数量、名称和大小,分区挂载点,分区使用方式(卷组名称、逻辑卷名称和大小)。 步骤:fdisk –l 2 显示当前文件系统使用情况,在实验报告中说明当前主要文件系统信息及使用情况(包括主要文件系统名称、挂载点、容量、使用量及百分比等)

步骤:df –h 二、添加新硬盘 内容:关闭虚拟机操作系统,添加2块硬盘,大小分别为5G和10G。开机后查看新硬盘是否成功添加。 步骤: 1 关机:init 0 2 添加新硬盘:右键单击虚拟机,选择setting(设置)。在Add中按照要求添加2块新硬盘(HardDisk) 3 开机后,打开终端。输入命令fdisk –l 或ls /dev/sd*查看新硬盘是否添加成功。 三、对新添加硬盘进行分区 内容: 1. 将第二块硬盘sdb分区(5G),要求分区1(sdb1)为主分区,类型为swap (82),大小为500M;分区2(sdb2)为主分区,类型为linux(83),大小为2G;分区3为扩展分区(sdb3),大小为sdb所有剩余容量;分区5为逻辑分区,类型为lvm(8e),大小为2G。分区后,查看sdb新添加所有分区,将截图添加到实验报告中。 2. 将第三块硬盘sdc分区(10G),要求分区1(sdc1)为扩展分区,大小为10G;

小学六年级科学实验指导书要点

教材分析 本册共分四个单元,共32课。 第一单元工具和机械本单元介绍了常用工具杠杆、轮轴、滑轮、斜面的原理及在日常生活中的应用。尤其是结合常用工具和实验器材设置了许多和日常生活密切相关的探究活动,在探究活动中让学生掌握各类机械和工具的特点和作用。 第二单元形状和结构本单元介绍了各种建筑物中使用的形状和结构及其特点,从实验材料的选取到各种不同的设计都能切实培养学生的创新意识和创新实践能力。 第三单元能量本单元介绍了电能、水的三态变化、太阳能以及他们之间的联系,学生掌握自然界中的物质可以相互转化,能量可以相互转化的自然规律,使学生养成爱护大自然,保护环境的意识。 第四单元生物的多样性知道生物的种类多种多样。知道同种生物不同的个体各不相同。初步理解生物体不同的形态结构是与它们的生活环境相适应的。知道生物的多样性是人类生存的重要资源。能自己确定标准对生物进行分类,知道分类是研究生物的基本方法。会用制作生物分布图的方法描述某一区域的生物种类。

(一)研究杠杆的秘密 【实验目的】 用杠杆尺做实验、收集并整理数据,分析认识杠杆省力、费力、不省力也不费力的规律。 【实验材料】 杠杆尺25个、钩码25盒。 【实验方法】 在杠杆尺的左边挂上钩码当作被撬动的重物,右边挂上钩码当作撬动时我们用的力。 1.小组任意在杠杆尺两端挂钩码,记录下挂钩码的位置和数量,并记录下此时杠杆尺的状态。 2.重复几次实验,收集几组不同的数据。 3.将2-3个小组的实验数据进行整合,汇集成一个更大的数据库。 4.对这个数据库进行分析,将能省力的情况、费力的情况、不省力也不费力的情况进行统计,分析出杠杆在什么条件下省力?在什么条件下费力?在什么条件下不省力也不 费力? 【注意事项】 1. 在一大堆杂乱无章的数据中,寻找有用的数据来说明问题也是进行科学探究的一种方法。 2. 数据越多越能说明问题,所以在实验中要收集尽可能多的数据。 3.杠杆尺左右只选一个位置挂钩码。 (二)滑轮和滑轮组

操作系统原理实验2+岳青山+0907052247

《操作系统原理》实验报告 实验序号:2 实验项目名称: Windows 基本进程管理 1、实验目的 通过观察任务管理器,来观察各个进程的动态信息。 2、实验工具 (1)一台WindowsXP操作系统的计算机。 (2)计算机装有Microsoft Visual Studio C++6.0专业版或企业版。 3、预备知识 ·任务管理器,了解用户计算机上正在运行的程序和进程的相关信息。 ·Windows环境中的编程。 相关内容参见本次实验参考资料部分。 4、基本实验 1)观察任务管理器 步骤一:进入WindowsXP。 步骤二:按Ctrl+Alt+Delete(或按Ctrl+Shift+Esc)键都可以调出任务管理器。 步骤三:单击“查看”→“选择列”选项,可以看到一些选项, 这里,可以查看每个进程的PID,CPU使用时间,内存的使用情况,当前的进程是系统的还是用户的,每个句柄的数量,每个进程的优先级,等等。 步骤四:单击“性能”标签,在所示的“性能”选项卡中可以看到CPU的使用情况、内存的使用情况。 2)通过命令观察进程情况、 步骤一:单击“开始”→“运行”选项,输入cmd“命令提示符”下。 步骤二:输入tasklist。 步骤三:继续输入tasklist/?来寻找帮助,里面有更详细的解释。 3)通过命令来关闭一个进程 步骤一:单击“开始”→“运行”选项,输入cmd“命令提示符”下。 步骤二:输入tasklist后回车执行。 步骤三:继续输入taskkill/PID 208/T 5、实验编程 进行一个简单的Windows的图形用户接口(GUI)编程。 步骤一:进入WindowsXP。 步骤二:进入Microsoft Visual Studio C++6.0。 步骤三:在菜单栏中单击“文件”→“新建”→“文件”→C++Source File,选择路径(如D:\1.cpp),并命名为1.cpp。 步骤四:将下面的程序源代码输入。 步骤五:单击Windows系统的“开始”→“运行”选项,输入cmd。

相关文档