河北工业大学计算机网络实验五

合集下载

河北工业大学计算机网络实验五

河北工业大学计算机网络实验五

实验(五):熟悉IP协议实验说明:6个人一组参考内容:网络协议仿真教学系统(通用版)课件实验三网际协议IP实验报告:给出拓扑图(表明各主机的IP地址和MAC地址)给出各个练习网卡捕获的数据(需要说明是哪一个练习)练习一:各主机打开协议分析器,进入相应的网络结构并验证网络拓扑的正确性,如果通过拓扑验证,关闭协议分析器继续进行实验,如果没有通过拓扑验证,请检查网络连接。

本练习将主机A、B、C、D、E、F作为一组进行实验。

1.主机B在命令行方式下输入staticroute_config命令,开启静态路由服务。

2.主机A启动协议编辑器,编辑一个IP数据报,其中:MAC层:目的MAC地址:主机B的MAC地址(对应于172.16.1.1接口的MAC)。

源MAC地址:主机A的MAC地址。

协议类型或数据长度:0800。

IP层:总长度:IP层长度。

生存时间:128。

源IP地址:主机A的IP地址(172.16.1.2)。

目的IP地址:主机E的IP地址(172.16.0.2)。

校验和:在其它所有字段填充完毕后计算并填充。

自定义字段:数据:填入大于1字节的用户数据。

【说明】先使用协议编辑器的“手动计算”校验和,再使用协议编辑器的“自动计算”校验和,将两次计算结果相比较,若结果不一致,则重新计算。

●IP在计算校验和时包括哪些内容?只包括IP报文中的首部,不包括数据部分3. 在主机B(两块网卡分别打开两个捕获窗口)、E上启动协议分析器,设置过滤条件(提取IP协议),开始捕获数据。

4. 主机A发送第1步中编辑好的报文。

5. 主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题:●第1步中主机A所编辑的报文,经过主机B到达主机E后,报文数据是否发生变化?若发生变化,记录变化的字段,并简述发生变化的原因。

报文数据发生变化。

发生变化的字段有:“生存时间”和“首部校验和”。

其截图如下:主机B的截图中,本机连接2对应的是路由,其IP地址为172.16.0.1,“生存时间”字段的值为128,“首部校验和”字段的值为0D78,而主机E中,“生存时间”字段的值为127,“首部校验和”字段的值为0E78。

B12041428曹原计算机网络实验五

B12041428曹原计算机网络实验五

计算机网络实验报告实验题目:子网和路由器配置拓扑图专业计算机科学与技术学生姓名曹原班级学号B12041428教师江中略指导单位计算机学院日期2014 12.23一、实验目的1.根据要求划分子网的地址空间2.分配适当的地址给接口并进行记录3.配置并激活Serial 和FastEthernet 接口4.测试和验证配置5.思考网络实施并整理成文档二、实验指导在本PT 练习中,需要为拓扑图中显示的拓扑设计并应用IP 编址方案。

将会为您分配一个地址块,您必须划分子网,为网络提供逻辑编址方案。

然后就可以根据IP 编址方案配置路由器接口地址。

当配置完成时,请验证网络可以正常运作。

任务1:划分子网的地址空间。

步骤 1. 检查网络要求。

已经有192.168.1.0/24 地址块供您用于网络设计。

网络包含以下网段:连接到路由器R1 的LAN 要求具有能够支持15 台主机的IP 地址。

连接到路由器R2 的LAN 要求具有能够支持30 台主机的IP 地址。

路由器R1 与路由器R2 之间的链路要求链路的每一端都有IP 地址。

不要在本练习中使用可变长子网划分。

步骤 2. 在设计网络时要考虑以下问题。

在笔记本或单独的纸张中回答以下问题。

此网络需要多少个子网?此网络以点分十进制格式表示的子网掩码是什么?此网络以斜杠格式表示的子网掩码是什么?每个子网有多少台可用的主机?步骤 3. 分配子网地址给拓扑图。

分配第二个子网给连接到R1 的网络。

分配第三个子网给R1 与R2 之间的链路。

分配第四个子网给连接到R2 的网络。

在此任务结束时,完成率应为0%。

任务2:确定接口地址。

步骤1:分配适当的地址给设备接口。

分配第二个子网中第一个有效的主机地址给R1 的LAN 接口。

分配第二个子网中最后一个有效的主机地址给PC1。

分配第三个子网中第一个有效的主机地址给R1 的WAN 接口。

分配第三个子网中最后一个有效的主机地址给R2 的WAN 接口。

分配第四个子网中第一个有效的主机地址给R2 的LAN 接口。

《计算机网络》实验指导书

《计算机网络》实验指导书

《计算机网络》实验指导书(适用于电子商务专业)实验一网线制作 (4)1.实验目的 (4)2.实验任务 (4)3.实验设备 (4)4.实验方法 (4)5.实验预习要求 (5)6.实验报告内容 (5)7.摸索题 (6)实验二网络常用命令 (7)一、实验目的及任务 (7)二、实验环境 (7)三、预备知识 (7)四、实验步骤 (7)五、实验报告内容 (11)实验三DNS服务器的配置与治理 (12)一、实验目的及任务 (12)二、实验环境 (12)三、预备知识 (12)四、实验步骤 (12)五、实验报告内容 (18)实验四W EB服务器配置与治理 (19)一、实验目的及任务 (19)二、实验环境 (19)三、预备知识 (19)四、实验步骤 (20)五、实验报告内容 (30)实验五FTP服务器的配置与治理 (31)一、实验目的及任务 (31)二、实验环境 (31)三、预备知识 (31)四、实验步骤 (32)五、实验报告内容 (36)实验DHCP服务器配置与治理(选做) (37)一、实验目的及任务 (37)二、实验环境 (37)三、预备知识 (37)四、实验步骤 (37)五、实验报告内容 (42)实验六熟悉网络互连设备及其差不多配置 (43)一、实验目的 (43)二、实验环境 (43)三、实验步骤 (43)四、实验报告内容 (46)实验一网线制作1.实验目的(1)认识LAN中常用的几种网线、连接器及各自特点。

(2)认识网卡、Modem、Hub、交换机等网络设备,了解其差不多功能。

(3)学会用双绞线制作网线。

(4)学会网卡、Modem、Hub、交换机等网络设备的安装、接线等差不多使用方法。

2.实验任务(1)熟悉LAN中常用的几种网线、连接器及各自特点。

(2)独立制作一根合格的双绞线网线。

(3)完成网卡的硬件安装。

(4)熟悉网卡、Modem、Hub、交换机等网络设备的接口及接线和使用方法,弄清各指示灯的含义。

3.实验设备●5类双绞线、RJ-45头、双绞线压线钳,电缆测试仪、剪刀等●细缆、BNC接头、T型接头、端接器。

河北工业大学计算机网络实验报告(原创)

河北工业大学计算机网络实验报告(原创)

数据通信与计算机网络实验0.网线1.1 传输介质屏蔽双绞线使用了线缆的绞合方式,并结合了屏蔽技术和消除技术,每对线缆都被包围在金属薄片中。

4对线缆由全金属薄片所包围着。

(它通常为150欧姆的线缆)屏蔽双绞线减少了起源于线缆内部的电噪声(串扰)和外部的电噪声(电磁干扰以及无线电频率干扰)。

屏蔽双绞线对所有类型的外界干扰能够更有效地进行阻止,但在安装费用和难度方面它比非屏蔽双绞线要更昂贵和更困难。

非屏蔽双绞线电缆是在许多类型的网络中使用的4对线介质。

绝缘材料覆盖了在非屏蔽双绞线中的8根独立的铜线。

此外,每对铜线是彼此绞合在一起的。

这种类型的电缆完全依赖于由双绞线对产生的消除效果来限制由电磁干扰和无线电频率干扰而引起的信号退化。

为了进一步减少在非屏蔽双绞线电缆中的线对之间的串扰,线对中绞距是不一样的。

与屏蔽双绞线电缆一样,非屏蔽双绞线电缆必须严格遵守关于每英尺电缆允许有多少次的绞合或交织的规定。

通常使用一个RJ连接器来安装非屏蔽双绞线。

网屏式的非屏蔽双绞线( ScTP)是传统的屏蔽双绞线与非屏蔽双绞线的混合体,它也被称为箔双绞线(FTP)。

网屏式的非屏蔽双绞线在本质上是包围着金属箔的屏蔽层,或“网屏”中的非屏蔽上绞线(它通常为100欧姆或120欧姆的电缆)。

同轴电缆包括一个空心的外部圆柱铜导体,它包围着一条单根的内部线导体—这两个导体由绝缘层包围着它。

在这种绝缘介质之上,一层编织的铜导线或金属箔充当了电路中两股导线的第二根。

它也可以作为内部导体的一个屏蔽。

这个第二层或屏蔽层有助于减少外部干扰。

电缆护套覆盖着该屏蔽层。

对于局域网,同轴电缆提供了几个好处:首先,在网络节点之间可以比屏蔽双绞线或非屏蔽双绞线铺设更长的距离。

中继器在网络中可以再生这些信号,从而它们能够覆盖更广泛的距离。

其次,与光纤相比,同轴电缆较为便宜,而且该技术使用的较为普遍。

同轴电缆有各种不同类型的尺寸,因此又分为粗缆和细缆两种。

粗缆过于坚硬,从而不易安装。

河北工业大学U3D实验报告

河北工业大学U3D实验报告

计算机游戏程序设计实验1-4报告实验一 GUI游戏界面的实现一、实验目的与要求1. 熟悉及掌握GUI的高级控件,以及用法。

2. 掌握GUI自定义皮肤用法3. 熟悉GUILayout的使用。

4. 熟悉2D贴图的绘制和帧动画的实现方法。

二、实验原理及知识点在游戏的整个开发过程中,游戏界面设计占据非常重要的地位。

因为游戏启动后,第一个映入玩家眼帘的就是游戏的UI界面。

UI界面主要包括贴图,按钮和高级控件等。

通常游戏界面的展现方式有很多种,大多数都由自定义图形界面组成。

Unity为开发者提供了一套非常完善的图形化界面引擎,它包括常见的游戏窗口、文本框、输入框、拖动条、按钮、贴图框等,无论是做软件还是做游戏,都可以很方便地使用。

另外,Unity提供了界面自定义皮肤的功能。

控件不仅可以使用默认的皮肤,还可以自定义皮肤,自定义皮肤不仅可以美化游戏界面,还可以提升游戏品质。

Unity游戏界面主要由GUI完成。

在本章中,我们将使用JavaScript脚本向读者详细介绍Unity中有关GUI界面的所有高级控件。

1. GUI高级控件系统高级UI控件已经成为游戏开发中不可缺少的一部分,高级界面由系统提供,所以运行效率要远远高于低级界面(高级界面为系统实现,低级界面为自己手动实现)。

拿按钮控件来说吧,不使用系统提供的按钮控件,我们也可以使用低级界面模拟实现按钮的功能。

不过,低级界面实现的“按钮”没有高级界面实现的效率高,但是低级界面制作的“按钮”比较灵活,可以任意修改。

GUI高级控件的种类非常繁多,包括标签、按钮、输入框和拖动条等。

他们可用于任何游戏或软件的界面研发。

GUI高级控件的应用也非常广泛,比如网络游戏中输入账号与密码的提示框,通关游戏后上传游戏积分的按钮,创建角色时输入的角色信息等。

下面将分别向读者介绍GUI高级控件的相关用法。

Label控件使用Label控件(标签控件),可以在游戏界面中以文本的形式展示出一段字符串信息。

计算机网络实验一、二

计算机网络实验一、二

计算机网络实验班级序号姓名成绩中国矿业大学信息与电气工程学院自动化教学与实验部二○一四年五月实验内容安排与相关说明1.实验内容安排:(1)实验一至二,2学时(2)实验三至五,2学时(3)实验六至八,2学时(4)实验九至式,2学时(5)实验十一,2学时说明:(4)与(5)安排到一起,合计4学时,(4)有课下完成的条件,为综合设计实验留够时间。

2.实验相关说明:(1)课上的理论与具体实验实现有较大不同,实验对同学有较高的自主学习要求。

(2)所有的实验都要求课前预习。

(3)预习时需要查阅相关设备文档,并在Packet Tracer仿真软件中测试实现。

(4)实验课前预习报告老师签字。

(5)一个班的同学需要先前分成六大组,每组选出组长一名。

整个课程实验过程中,分组不再改变。

(6)为了防止设备前人员过多而拥挤。

实验时,同一组的同学分成二小组,由组长协调。

一小组在Packet Tracer仿真软件上实现并演示实验内容,一小组在实际设备上操作演示。

而后对换。

大家注意协调分工。

实验一网线的制作1.实验目的:(1)了解常用网线的种类。

(2)掌握双绞线的制作方法;(3)学会使用双绞线测试仪/同轴电缆测的使用方法2.实验原理:网线常用的有:双绞线、同轴电缆、光纤等。

双绞线可按其是否外加金属网丝套的屏蔽层而区分为屏蔽双绞线(STP)和非屏蔽双绞线(UTP)。

从性价比和可维护性出发,大多数局域网使用非屏蔽双绞线(UTP -Unshielded Twisted pair )作为布线的传输介质来组网。

2.1 双绞网线(1)制作的双绞线用于组建星型局域网。

(2)制作双绞网线使用的是8芯的双绞线,如图1-1所示。

使用的连接头是8根插脚(金属片)的RJ—45水晶头,如图1-2所示。

图1-1:双绞线图1-2:水晶头(3)对于10Base局域网,选用3类非屏蔽双绞线;对于100Base局域网,选用5类非屏蔽双绞线。

(4)如果将RJ—45水晶头朝外,有卡榫的一端朝下,带金属片的一端朝上,那么各插脚的编号从左到右依次就是1到8,各插脚的用途见表1-1,其中8根芯线只使用了4根。

河北工业大学计算机科学与软件学院单位实习报告

河北工业大学计算机科学与软件学院单位实习报告

1 实习内容随着计算机科学技术的飞速发展和全球信息化的加速,计算机在人们的日常生活中的重要地位越来越明显。

目前,全国的中小学也普遍开设了计算机的相关课程,成为计算机在全国范围推广普及不可或缺的重要部分。

计算机相关课程的开设对培养学生对信息技术的兴趣和意识,让学生了解和掌握信息技术基本知识和技能,了解信息技术的发展及其应用对人类日常生活和科学技术的深刻影响。

通过信息技术课程使学生具有获取信息、传输信息、处理信息和应用信息的能力,教育学生正确认识和理解与信息技术相关的文化、伦理和社会等问题,负责任地使用信息技术;培养学生良好的信息素养,把信息技术作为支持终身学习和合作学习的手段,为适应信息社会的学习、工作和生活打下必要的基础。

为了调查了解计算机在小学生中的普及程度和学校计算机教育情况,我进入到河北省辛集市南庞小学进行参观实习,对该校机房建设情况,计算机相关课程开设情况,学生对计算机知识的掌握情况,学生在日常生活中对计算机的应用情况有了初步的认识,同时协助机房管理员和计算机授课老师对机房的计算机进行了日常的维护和修理,随堂旁听计算机课并辅导学生的学习,对小学生在计算机日常应用中遇到的问题有了比较全面的了解。

1.1机房配置情况该校计算机课程开设于2003年,学校机房自成立至今已经进行过三次设备更换,目前机房共有35台计算机,由于资金等诸多方面的原因,计算机的配置参差不齐,分为三种:第一种,共十五台。

配置的详细信息为:CPU : AMD 速龙II双核215标称频率:2700MHZ前端总线:2000MHZ二级缓存:1MB内存:2GB, DDRIII ,1333Mhz硬盘:320GB,SATA显卡:高性能集成操作系统:Windows Vista第二种,共十台。

配置的详细信息为:CPU:AMD Dual Core 180内存:2GB,DDRIII 1333Mhz硬盘:320GB,SATA光驱类型:DVD-ROM显卡:独立,512MB,ATIRadeon HD4350操作系统:windowsVista第三种,共五台,详细配置信息为:CPU : AMD Athlon643800+标称频率:2000MHZ前端总线:2000MHZ二级缓存:512kB内存:1GB, DDRIII ,800Mhz硬盘:320GB,SATA2显卡:高性能集成操作系统:Windows Vista机房应用的安全软件为:瑞星杀毒,360安全卫士,瑞星防火墙。

计算机网络 基本网络命令实验 报告

计算机网络 基本网络命令实验 报告

实验一基本网络命令实验姓名:班级:学号:机号:一、实验目的:(写出实验目的)
二、实验内容:测试基本网络命令。

三.实验步骤:
1.ping命令
①作用:(简要说明:ping命令的主要作用)
②测试网络连接是否正常:
ping 127.0.0.1
ping localhost
ping 本机IP地址
ping 局域网内其他机器的IP地址
③使用参数:-t,-l,-n
ping 某个IP地址 -
ping 某个IP地址 -l 数据
ping 某个IP地址 -n 次数
2.ipconfig命令
①作用:(简要说明:ipconfig命令的主要作用)
②测试ipconfig命令:(写出显示信息中的本机IP地址、掩码、网关地址,格式如下:)
IP:本机IP地址掩码:本机掩码网关:网关IP地址
3.tracert命令
①作用:(简要说明:tracert命令的主要作用)
②测试tracert命令:
tracert 某台远程主机的名称
stat命令
①作用:(简要说明:netstat命令的主要作用)
②测试netstat -an命令
5.arp命令
①作用:(简要说明:arp命令的主要作用)
②测试arp -a命令
(写出显示信息中的IP地址、物理地址,格式如下:)IP:xx.xx.xx.xx 物理地址:xx-xx-xx-xx-xx-xx-xx。

计算机网络技术实验

计算机网络技术实验

计算机网络技术实验一、实验目的1.加深对计算机网络理论知识的理解。

2.熟练掌握网络设备的配置和调试。

3.培养实际动手能力和解决实际问题的能力。

二、实验环境•交换机:2台•路由器:1台•计算机:4台•网线:若干•水晶头:若干三、实验内容1.搭建网络拓扑结构2.配置设备参数3.实现网络通信4.调试网络性能四、实验步骤1. 搭建网络拓扑结构•使用网线和水晶头连接计算机与交换机。

•使用网线连接交换机与路由器。

2. 配置设备参数•为每台计算机配置IP地址、子网掩码、默认网关。

•为交换机配置VLAN,实现不同VLAN间的隔离。

•为路由器配置路由协议,实现不同网络间的通信。

3. 实现网络通信•测试计算机之间的PING操作,验证网络是否通畅。

•测试不同VLAN间的PING操作,验证VLAN隔离效果。

•测试路由器之间的PING操作,验证路由协议是否正常工作。

4. 调试网络性能•分析网络延迟、丢包等现象,找出问题所在。

•调整设备参数,优化网络性能。

五、实验总结通过本次实验,我们掌握了计算机网络的搭建、配置和调试方法,加深了对网络理论知识的理解,提高了实际动手能力。

在实际工作中,应根据需求灵活运用网络技术,确保网络稳定、高效运行。

六、实验注意事项1.在进行实验操作前,确保了解实验设备和软件的使用方法,以免损坏设备或导致数据丢失。

2.严格遵守实验室规定,保持实验室整洁,禁止吸烟、饮食和喧哗。

3.实验过程中,注意安全,避免触电、摔伤等意外事故。

4.遇到问题,应及时与同学和老师沟通,共同探讨解决方案。

七、实验报告要求1.报告内容应包括实验目的、实验环境、实验内容、实验步骤、实验总结和实验注意事项。

2.报告要求条理清晰,文字表述准确,不得抄袭他人作品。

3.报告中所涉及的实验设备和软件,应注明其名称、型号和版本。

4.实验结果要有数据支持,可通过截图、表格等形式展示。

八、实验评价1.评价学生对实验原理的理解程度,是否能准确描述网络设备的工作原理。

河北工业大学计算机网络实验报告

河北工业大学计算机网络实验报告

河北⼯业⼤学计算机⽹络实验报告实验⼀基本⽹络命令实验⼀、实验⽬的:1.了解⽹络命令的基本功能;2.掌握基本⽹络命令的使⽤⽅法;3.掌握使⽤⽹络命令观察⽹络状态的⽅法⼆、实验内容:测试基本⽹络命令。

三.实验步骤:1.ping命令①作⽤:Ping命令的主要作⽤是通过发送数据包并接收应答信息来检测两台计算机之间的⽹络是否连通。

当⽹络出现问题时,可以⽤这个命令来预测故障和确定故障源。

如果执⾏Ping不成功,则可以预测故障出现在以下⼏个⽅⾯:⽹线是否连通、⽹络适配器配置是否正确、IP地址是否可⽤等。

但Ping成功只证明当前主机与⽬的主机间存在⼀条连通的路径。

②测试⽹络连接是否正常:ping 127.0.0.1ping localhostping 192.168.0.28ping 192.168.0.26③使⽤参数:-t,-l,-nping 192.168.0.26 -tping 192.168.0.26 -l 200ping 192.168.0.26 -n 62.ipconfig命令①作⽤:Ipconfig实⽤程序可⽤来显⽰本机当前的TCP/IP配置信息。

这些信息⼀般⽤来检验TCP/IP 设置是否正确。

如果本机和所在局域⽹中使⽤了动态主机配置协议DHCP(Dynamic Host Configuration Protocol,这是⼀种通过服务器将IP地址⾃动分配给⽹络中客户机的⽅法),通过 Ipconfig可以了解本地计算机是否成功地租⽤到⼀个IP地址,以及⽬前分配什么地址、⼦⽹掩码和缺省⽹关等信息,这是进⾏⽹络测试和故障分析的必要项⽬。

②测试ipconfig命令:IP:192.168.0.28 掩码:255.255.255.0 ⽹关:192.168.0.13.tracert命令①作⽤:这个命令可以判定数据包到达⽬的主机所经过的路径,显⽰数据包经过的中继节点清单和到达时间。

当数据包从你的计算机经过多个⽹关传送到⽬的地时,Tracert命令可以⽤来跟踪使⽤的路由。

电大实验六计算机网络综合性实验

电大实验六计算机网络综合性实验

电大实验六计算机网络综合性实验计算机网络是信息时代的重要基础设施之一,其在数据通信、互联网、网络应用等方面发挥着重要作用。

电大实验六,计算机网络综合性实验,通过设计和实现一个简单的网络应用,加深对计算机网络原理和技术的理解。

本次实验采用Python编程语言和TCP/IP协议进行设计和实现。

实验目的:1.理解计算机网络的基本原理和TCP/IP协议;2. 熟悉Python编程语言的网络编程;3. 掌握socket编程接口和TCP客户端/服务器编程实现。

实验内容:1.基于TCP实现一个简单的聊天室程序。

2.聊天室程序包括一个服务器端和多个客户端,客户端间通过服务器进行通信。

实验步骤:1.设计服务器端的功能,并实现相应的代码。

服务器端主要包括以下功能:-启动服务器,接受客户端的连接请求;-接收客户端发送的消息,并将消息转发给所有连接的客户端;-处理客户端的退出请求。

2.设计客户端的功能,并实现相应的代码。

客户端主要包括以下功能:-连接服务器,发送连接请求;-发送消息给服务器;-接收服务器发送的消息;-处理客户端的退出请求。

3.实现服务器端和客户端的代码,并进行相应的调试和测试。

4.编写实验报告,总结实验过程、实验结果和实验心得。

实验步骤详解:1.设计服务器端的功能,并实现相应的代码。

1.创建一个TCP服务器套接字,并绑定到一个地址和端口;2.启动服务器,开始监听客户端的连接请求;3.接受客户端的连接请求,并保存客户端的套接字;4.创建一个新的线程,处理客户端的消息处理和转发;5.在主线程中,接收服务器的消息,并将消息转发给所有连接的客户端;6.处理客户端的退出请求,关闭客户端的套接字。

2.设计客户端的功能,并实现相应的代码。

1.创建一个TCP客户端套接字,并连接到服务器的地址和端口;2.发送连接请求给服务器;3.接收服务器发送的消息,并显示在客户端上;4.发送消息给服务器;5.处理客户端的退出请求,关闭客户端的套接字。

河北工业大学操作系统实验报告

河北工业大学操作系统实验报告

河北工业大学之杨若古兰创作操纵零碎2014版实验陈述实验一进程控制与描述一、实验目的通过对Windows2000编程,进一步熟悉操纵零碎的基本概念,较好地理解Windows2000的结构.通过创建进程、观察正在运转的进程和终止进程的程序设计和调试操纵,进一步熟悉操纵零碎的进程概念,理解Windows2000进程的“平生”.三、实验内容和步调第一部分:Windows2000Professional下的GUI利用程序,使用VisualC++编译器创建一个GUI利用程序,代码中包含了WinMain()方法,该方法GUI类型的利用程序的尺度入口点.程序1-1Windows2000的GUI利用程序也能够利用任何其他文本编辑器键入程序代码,如果如许,例如使用WORD来键入和编辑程序,则应当留意什么成绩?保管时,将文件保管为扩展名为*.cpp的C++源文件.在程序1-1的GUI利用程序中,首先须要Windows.h头文件,以便获得传送给WinMain()和MessageBox()API函数的数据类型定义.接着的pragma指令唆使编译器/连接器找到User32.LIB库文件并将其与发生的EXE文件连接起来.如许就可以运转简单的命令行命令CLMsgBox.CPP来创建这一利用程序,如果没有pragma指令,则MessageBox()API函数就成为不决义的了.这一指令是VisualStudioC++编译器特有的.接上去是WinMain()方法.其中有四个由实际的低级入口点传递来的参数.hInstance参数用来装入与代码相连的图标或位图一类的资本,不管何时,都可用GetModuleHandle()API函数将这些资本提取出来.零碎利用实例句柄来指明代码和初始的数据装在内存的何处.句柄的数值实际上是EXE文件映像的基地址,通常为0x00400000.下一个参数hPrevInstance是为向后兼容而设的,此刻零碎将其设为NULL.利用程序的命令行(不包含程序的名称)是lpCmdLine参数.另外,零碎利用nCmdShow参数告诉利用程序如何显示它的主窗口(选项包含最小化、最大化和正常).最初,程序调用MessageBox()API函数并退出.如果在进入动静轮回之前就结束运转的话,最初必须返回0.运转结果:弹出一个动静框,题目为Greetings,内容为Hello,WindowsXp,两头有一个确认按钮.进程对象操纵零碎将当前运转的利用程序看作是进程对象.利用零碎提供的唯一的称为句柄(HANDLE)的号码,就可与进程对象交互.这一号码只对当前进程无效.本实验暗示了一个简单的进程句柄的利用.在零碎中运转的任何进程都可调用GetCurrentProcess()API函数,此函数可返回标识进程本人的句柄.然后就可在Windows须要该进程的有关情况时,利用这一句柄来提供.程序1-2:获得和使用进程的句柄程序1-2中列出的是一种获得进程句柄的方法.对于进程句柄可进行的唯一有效的操纵是在API调用时,将其作为参数传送给零碎,正如程序1-2中对GetPriorityClass()API函数的调用那样.在这类情况下,零碎向进程对象内“窥视”,以决定其优先级,然后将此优先级返回给利用程序.OpenProcess()和CreateProcess()API函数也能够用于提取进程句柄.前者提取的是曾经存在的进程的句柄,而后者创建一个新进程,并将其句柄提供出来.1-2.cpp的运转结果:进程优先权为Normal.程序1-3显示如何找出零碎中正在运转的所有进程,如何利用OpenProcess()API函数来获得每一个访问进程的进一步信息.程序1-3利用句柄查出进程的具体信息程序1-3程序首先利用Windows2000的新特性,即工具帮忙库来获得当前运转的所有进程的快照.然后利用程序进入快照中的每一个进程,得到其以PROCESSENTRY32结构暗示的属性.这一结构用来向OpenProcess()API函数提供进程的ID.Windows跟踪每一进程的有关时间,示例中是通过打开的进程句柄和GetProcessTimes()API 来直询得到有关时间的.接上去,一个定制的帮忙函数取得了几个返回的数值,然后计算进程在内核模式下耗费的时间占总时间的百分比.程序的其余部分比较简单,只是将有关信息显示给用户,清除进程句柄,然后继续轮回,直到所有进程都计算过为止.运转结果:第二部分:进程的“平生”1、创建进程创建子进程本程序展现的是一个简单的使用CreateProcess()API函数的例子.首先构成简单的命令行,提供当前的EXE文件的指定文件名和代表生成克隆进程的号码.大多数参数都可取缺省值,但是创建标记参数使用了:行为像一个子进程的标记,唆使新进程分配它本人的控制台,这使得运转示例程序时,在任务栏上发生很多活动标识表记标帜.然后该克隆进程的创建方法关闭传递过来的句柄并返回main()函数.在关闭程序之前,每一进程的履行主线程暂停一下,以便让用户看到其中的至多一个窗口.CreateProcess()函数有5个核心参数?本实验程序中设置的各个参数的值是:a.(LPCTSTRlpApplicationName)szFilename,//发生这个EXE的利用程序的名称;b.(LPTSTRlpCommandLine)szCmdLine,//告诉其行为像一个子进程的标记;c.(BOOLbInheritHandles)FALSE,//不继承句柄;d.(LPSTARTUPINFOlpStartupInfo)&si,//启动信息;e.(LPPROCESS_INFORMATIONlpProcessInformation)&pi);//返回的进程信息;程序运转时屏幕显示的信息是:2、正在运转的进程使用进程和操纵零碎的版本信息运转结果:当前PID信息:_4664当前操纵零碎版本:5.1(我的操纵零碎为Windows XP)零碎提示信息:TaskManagershouldnownowindicatethisprocessishighpriority.程序向读者标明了如何获得当前的PID和所需的进程版本信息.为了运转这一程序,零碎处理了所有的版本不兼容成绩.接着,程序演示了如何使用GetVersionEx()API函数来提取OSVERSIONINFOEX结构.这一数据块中包含了操纵零碎的版本信息.其中,“”暗示当前运转的操纵零碎是:Windows2000.最初一段程序利用了操纵零碎的版本信息,以确认运转的是Windows2000.代码接着将当前进程的优先级提高到比正常级别高.单击Ctrl+Alt+Del键,进入“Windo ws任务管理器”,在“利用程序”选项卡中右键单击本任务,在快捷菜单当选择“转到进程”命令.在“Windows任务管理器”的“进程”选项卡中,与本任务对应的进程映像名称是(为何?):右键单击该进程名,在快捷菜单当选择“设置优先级”命令,可以调整该进程的优先级,如设置为“高”后从头运转程序,屏幕显示有变更吗?没有.3、终止进程指令其子进程来“杀掉”本人的父进程程序说明了一个进程从“生”到“死”的全部平生.第一次履行时,它创建一个子进程,其行为如同“父亲”.在创建子进程之前,先创建一个互斥的内核对象,其行为对于子进程来说,如同一个“他杀弹”.当创建子进程时,就打开了互斥体并在其他线程中进行此外处理工作,同时等待着父进程使用ReleaseMutex()API发出“死亡”旌旗灯号.然后用Sleep()API调用来模拟父进程处理其他工作,等完成时,指令子进程终止.当调用ExitProcess()时要当心,进程中的所有线程都被立刻通知停止.在设计利用程序时,必须让主线程在正常的C++运转期关闭(这是由编译器提供的缺省行为)以后来调用这一函数.当它转向受信形态时,通常可创建一个每个活动线程都可等待和停止的终止事件.在正常的终止操纵中,进程的每个工作线程都要终止,由主线程调用ExitProcess().接着,管理层对进程添加的所有对象释放援用,并将用GetExitCodeProcess()建立的退出代码从STILL_ACTIVE 改变成在ExitProcess()调用中返回的值.最初,主线程对象也如同进程对象一样改变成受信形态.等到所有打开的句柄都关闭以后,管理层的对象管理器才烧毁进程对象本人.还没有一种函数可取得终止后的进程对象为其参数,从而使其“复活”.当进程对象援用一个终止了的对象时,有好几个API函数仍然是有效的.进程可使用退出代码将终止方式通知给调用GetExitCodeProcess()的其他进程.同时,GetProcessTimes()API函数可向主调者显示进程的终止时间.运转结果:Childwaitingforsuicideinstructions.暗示:_父进程正在创建子进程.子进程等待父进程杀死子进程._暗示:_父进程杀死子进程._四、实验总结请总结一下本次实验的收获、教训和感受,结合课本内容谈一下你对进程的理解.本次实验让我明白进程是程序的一次履行过程,是零碎进行处理机调度和资本分配的基本单位.(未引入线程之前).进程是操纵零碎结构的基础;是一个正在履行的程序;计算机中正在运转的程序实例;可以分配给处理器并由处理器履行的一个实体;由单一顺序的履行显示,一个当前形态和一组相干的零碎资本所描述的活动单元,对父进程和子进程的关系有了进一步的了解.实验二并发与调度1、实验目的在本实验中,通过对事件和互斥体对象的了解,来加深对Windows2000线程同步的理解.通过分析实验程序,了解管理事件对象的API.了解在进程中如何使用事件对象,在进程中如何使用互斥体对象,线程如何通过文件映照对象发送数据.二、实验内容和步调第一部分:互斥体对象本程序中显示的类CCountUpDown使用了一个互斥体来包管对两个线程间单一数值的访问.每个线程都企图获得控制权来改变该数值,然后将该数值写入输出流中.创建者实际上创建的是互斥体对象,计数方法履行等待并释放,为的是共同使用互斥体所需的资本(因此也就是共享资本).1、利用互斥体呵护共享资本分析程序的运转结果,可以看到线程(加和减线程)的交替履行(由于Sleep()API答应Windows切换线程).在每次运转以后,数值应当返回初始值(0),由于在每次运转以后写入线程在等待队列中酿成最初一个,内核包管它在其他线程工作时不会再运转.1)请描述运转结果(如果运转不成功,则可能的缘由是什么?):两个线程交替运转,不竭改变value的值.两个线程互斥访问Value 的值.2)根据运转输出结果,对照分析程序,可以看出程序运转的流程吗?请简单描述:线程1(5296)先运转,将value值增1,变成1.然后,线程2(6016)运转,将value值减1,变成0.第二部分:线程通过文件对象发送数据Windows2000提供的线程间通讯类内核对象答应同一进程或跨进程的线程之间互相发送信息,包含文件、文件映照、邮件位和命名管道等,其中最经常使用的是文件和文件映照.这类对象答应一个线程很容易地向同一进程或其他进程中的另一线程发送信息.1、演示线程通过文件对象发送数据运转结果(如果运转不成功,则可能的缘由是什么?):浏览和分析程序,请回答成绩:1)程序中启动了多少个单独的读写线程?1002)使用了哪个零碎API函数来创建线程例程?CreateThread()3)文件的读和写操纵分别使用了哪个API函数?ReadFile()WriteFile()每次运转进程时,都可看到程序中的每个线程从前面的线程中读取数据并将数据添加,文件中的数值连续添加.这个示例是很简单的通讯机制.可将这一示例用作编写本人的文件读/写代码的模板.请留意程序中写入之前文件指针的重置.重置文件指针是须要的,由于该指针在读取结束时将处于前四个字节以后,同一指针还要用于向文件写入数据.如果函数向该处写入新数值,则下次进程运转时,只能读到本来的数值.那么:4)在程序中,重置文件指针使用了哪一个函数?SetFilePointer()5)从输出结果,对照分析程序,可以看出程序运转的流程吗?请简单描述:首先创建一个线程,读nValue的值,然后nValue值加一后,将nValue值从头写入文件.反复上述过程100次.2、演示使用映照文件的内存交换数据的线程浏览和分析程序,请回答:1)程序顶用来创建一个文件映照对象的零碎API函数是哪个?CreateFileMapping();2)在文件映照上创建和关闭文件视图分别使用了哪一个零碎函数?a.MapViewOfFile()b.UnmapViewOfFile()3)运转时,程序首先通过(MakeSharedFile();)函数创建一个小型的文件映照对象(hMapping),接着,使用零碎API函数(CreateMutex();)再创建一个呵护其利用的互斥体(g_hMutexMapping).然后,利用程序创建100个线程,每个都答应进行同样的进程,即:通过互斥体获得访问权,这个操纵是由语句:_WaitForSingleObject(g_hMutexMapping,INFINITE);实现的.再通过函数(MapViewOfFile();)操纵将视图映照到文件,将高32位看作有符号整数,将该数值添加(即命令:++(*pnData);),再将新数值显示在控制台上.每个线程清除文件的视图并在退出之前释放互斥体的语句是ReleaseMutex(g_hMutexMapping);.当线程完成时,利用程序关闭并退出.4)将程序中的语句::Sleep(500);删除(例如在语句前面加上“//”)后,从头编译运转,结果有变更吗?为何?有变更.100个线程一闪而过,不克不及看清结果.由于Sleep(500)是为了放慢速度,方便观察.四、实验总结请总结一下本次实验的收获、教训和感受,结合课本内容谈一下你对进程间控制的理解.本次实验让我明白了操纵零碎中的事件和互斥体对象,和线程同步的概念.进修了进程中如何使用事件对象,在进程中如何使用互斥体对象,线程如何通过文件映照对象发送数据.当多个进程并发履行时,若我们不指定进程之间并发的顺序,则他们可以任意并发,当这些进程没有访问互斥元素时,运转结果不会出现错误,但是当多个进程访问同一个互斥体时,就会出现错误,这时候我们必须通过某种手段来同步进程间并发的顺序,这即是进程间的同步成绩.还有,并发履行的进程或线程间,有时为了须要,会彼此之间进行数据的交换,即进程间通信,Windows中,可以通过文件对象在线程间发送数据.还可以使用映照文件的内存交换数据.实验三生产者-花费者算法模拟实验一、实验目的1、把握基本的互斥与同步算法,进一步理解“生产者-花费者”模型.2、通过对“生产者-花费者”成绩编程实现,了解线程创建、同步旌旗灯号量、互斥旌旗灯号量、临界区的创建和使用,初步了解并发程序设计方法.3、进一步理解P、V原语和旌旗灯号量在线程互斥和同步机制中的应用.二、实验内容和步调1、在本次实验开始,以“生产者-花费者”模型为根据,提供了一个多线程“生产者-花费者”实例,有部分源程序代码,请求读者分析已编制的一个“生产者-花费者”实例,并将其缺失的程序代码弥补完好,然后调试这段程序,得出终极的结果,并分析结果,得出响应的结论.测验考试改变一些参数,例如:改变缓冲区数、添加(减少)线程数、改变延迟数、添加(减少)生产者进程、添加(减少)花费者进程、改变花费者进程的请求序列等内容,考察这些改变对于运转结果的影响.3、参考部分源程序代码:1、empty_semaphore=CreateSemaphore(NULL,n_Buffer_or_Critical,n_Buff er_or_Critical,"semaphore_for_empty");2、h_mutex =CreateMutex(NULL,FALSE,"mutex_for_update");3、h_Semaphore[j+1]=CreateSemaphore(NULL,0,n_Thread,lp.c_str());4、h_Thread[i]=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)( Produce),&(Thread_Info[i]),0,NULL);5、h_Thread[i]=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)( Consume),&(Thread_Info[i]),0,NULL);6、ReleaseMutex(h_mutex);7、ReleaseSemaphore(h_Semaphore[m_serial],n_Thread,NULL);8、EnterCritialSection(&PC_Critical[BufferPos]);9、ReleaseSemaphore(empty_semaphore,1,NULL);10、LeaveCriticalSection(&PC_Critical[BufferPos]);4、请补全上述程序,写出程序的运转结果.程序运转结果如下图所示.2)分析程序的运转结果.首师长教师产者3生产了产品3,然后生产者1生产了产品1,最初生产者4生产了产品4.花费时,花费者5花费产品3,然后花费2花费产品1,最初花费者5花费产品4.四、实验总结请总结一下本次实验的收获、教训和感受,结合课本内容谈一下你对进程间控制的理解.深刻了解了生产者花费者进程,进一步理解了“生产者-花费者”模型.进一步理解P、V原语和旌旗灯号量在线程互斥和同步机制中的应用,我进一步明白了进程间同步的概念.我也进一步把握了基本的互斥与同步算法,特别是生产者花费者算法.我也学会了如何通过Windows中的同步旌旗灯号量、互斥旌旗灯号量的创建和使用,来实现进程之间或线程之间的同步与互斥.还有临界区的创建和使用,线程的创建.实验四页式存储管理部分功能模拟一、实验目的(1)了解存储器的管理任务和功能(2)了解Windows存储器管理模式和特点(3)深入了解页式存储管理如何实现地址转换(4)进一步认识页式存储管理中如何处理缺页间断(5)把握几种页面置换算法的实现方法二、实验内容和步调1、实验内容1、j=p[head];2、p[head]=lnumber;3、head=(head+1)%m;4、if(page[j].write==1)5、page[j].flag=0;6、page[lnumber].flag=1;7、page[lnumber].write=0;8、page[lnumber].pnumber=page[j].pnumber;9、page[j].pnumber,10、j,11、page[lnumber].dnumber,12、Lnumber13、lnumber=laddress>>10;//分离逻辑地址14、ad=laddress&0x03FF;15、page_interrupt(lnumber);16、pnumber=page[lnumber].pnumber;17、paddress=pnumber<<10|ad;18、page_interrupt(lnumber);19、page[i].lnumber=lnumber;20、page[i].flag=0;21、page[i].write=0;22、page[i].dnumber=dnumber;23、i++;24、page[m].pnumber=pnumber;25、page[m].flag=1;26、p[m]=m;27、m++;28、command(laddress,write);2、程序运转结果及简要分析结果分析:首先输入页号和辅存地址,如上图,输入1、1000,2、2000,3、3000,4、4000,5、5000.然后输入主存块号,确定主存块数为2,主存块数分别是1、2.最初,我们就可以模拟程序运转了,首先输入了一条须要点窜内存的指令,逻辑地址为1000,由于没有在内存里,是以发生缺页间断,履行间断服务程序,淘汰主存块1中的页,从磁盘第5000块中调入页4.第二次输入02000,仍然发生缺页间断.第三次时,输入13000,此时淘汰的页4点窜过,是以要将页4写回磁盘第5000块.其他类似.三、实验总结请总结一下本次实验的收获、教训和感受,结合课底细关内容谈一下你对Windows2000内存管理的理解.通过本实验我了解了请求页式存储的基本实现,用户利用进程以32位虚拟地址方式编址,每个虚拟地址与一个称作“页表端”的结构有关,它包含了虚拟地址映照的物理地址,了解了虚拟存储器的工作道理,和虚存如何在操纵零碎中实现的.还有就是,当发生缺页间断时,操纵零碎如何将内部磁盘中的信息调入内存中,在调入内存中之前,先用页面置换算法将每一页置换出去.内存管理,是指软件运转时对计算机内存资本的分配和使用的技术.其最次要的目的是如何高效,快速的分配,而且在适当的时候释放和回收内存资本.实验五设备管理模拟实验一、实验目的(1)了解Windows操纵零碎中设备驱动程序的构成(2)理解Windows操纵零碎的设备管理机制(3)把握Windows操纵零碎关于设备管理的API函数的使用方法(4)了解并把握Windows中鼠标、键盘等简单设备的检测方法二、实验内容和步调1、SystemParametersInfo(SPI_SETMOUSEBUTTONSWAP,0,NULL,NULL );//鼠标改为右手习气2、SystemParametersInfo(SPI_SETMOUSEBUTTONSWAP,1,NULL,NULL );//鼠标改为左手习气3、iFunctionKeynum=GetKeyboardType(2);4、Beep(iFreq[j],300);三、程序运转结果及简要分析结果分析:通过输入1、2、3、4、分别选择鼠标改为右手习气,鼠标改为左手习气,获得键盘类型和功能键个数,喇叭播放音乐等功能.如上图,我选择了选项3,图显示我的键盘类型为IBM加强型(101或101键)键盘,功能键个数为12.四、实验总结请总结一下本次实验的收获、教训和感受,结合课底细关内容谈一下你对Windows2000设备管理的理解.设备管理的次要任务是控制设备和CPU之间进行I/O操纵,满足用户I/O请求,满足用户I/O请求.设备管理的次要任务是要尽可能的提高CPU和I/O设备之间、I/O设备和I/O设备之间的并行性和I/O设备的利用率,从而使包含I/O设备的零碎资本获得最好使用效力.Windows设备驱动程序是一种可以安装有Windows操纵零碎的计算机和内部设备之间通信的特殊程序,可以说相当于硬件的接口,操纵零碎只要通过这个接口,才干控制硬件设备的工作,假如某设备的驱动程序未能准确安装,便不克不及正常工作.实验六文件零碎2、实验目的通过本实验,请求先生熟练把握Linux 各种文件操纵命令,包含:使用控制字符履行特殊功能;使用file 和strings命令确定文件类型;使用 cat 利more 命令显示文本文件的内容;使用head 和 tail 命令显示文本文件的部分内容;使用wc 命令确定单词、行和字符数;使用 diff 命令比较 2 个文件;回顾文件和目录命名商定;使用touch命令创建新文件;使用 mkdir 命令创建新目录;使用 rm 命令删除文件;使用 rm -r 命令删除目录.三、实验内容和步调1. 文件信息命令Ctrl + Z:终止当前活动.显示 ls 命令的手册页面 (man ls) ,然后使用 Ctrl -z 中断输出. 当你接下 Ctrl + Z 的时候,发生了什么事情?退出帮忙,返回shell提示符当使用计算器的时候,你的提示符是什么?fuxin@fuxin-K42JZ:~$ bcCopyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.This is free software with ABSOLUTELY NO WARRANTY.For details type `warranty'.无提示符.(我的Linux零碎为Ubuntu11.10)如果输入一个命令,如ls –R/,有时候,会在按下回车键之前想擦除命令行.输入一个命令,在接下回车键履行命令之前按下Ctrl + U.结果是什么?输入的命令被清除了使用 file 命令来确定 test文件的文件类型.它是哪品种型的文件?test:ASCII text2) 可履行 (或二进制) 文件:包含 32 位的可履行文件和可扩展链接格式(ELF) 编码文件,和其他动态链接的可履行文件.这类文件类型暗示这个文件是一个命令或程序.使用file 命令确定你所建立的文件类型.它是哪品种型的文件?(留意文件名部分必须包含扩展名,如 file ww.sxw .)ww.odt Open Document Text(我的电脑上装的是LibreOffice)步调 5:使用 strings 命令.使用 strings命令检查 /usr/bin/cal 文件的可读字符.列出 strings 命令中的一些输出.fuxin@fuxin-K42JZ:~$ strings /usr/bin/cal__gmon_start___Jv_RegisterClassestgetent步调 6:使用 cat 命令显示文件的内容.键入 ls /dev > dev1使用cat 命令显示主目录中dev1 文件的内容.文本的显示出现了什么情况?文件的所有内容都显示出来了,屏幕主动换行.步调 7:使用 more 命令显示文件的内容.使用more 命令显示主目录中dev1 文件的内容.文本的显示出现了什么情况?只显示最开始的一屏.步调 8:使用 head 命令显示文件的一部分.1) 单独使用head 命令,显示主目录中dev1 文件的开始部分.显示了多少行?102) 使用带 -n 选项的head 命令,显示主目录中 dante 文件的前20 行.您输入什么命令?head -20 dante步调 9:使用 tail 命令显示文件的一部分.单独使用tail命令,显示主目录中dante 文件的末端.显示了多少行?10步调 10:通过使用 wc 命令,确定行数、单词数和字符数.使用wc 命令确定主目录中dev1 文件的行数、单词数和字符数.有多少行、多少个单词和多少个字符?205行, 205个单词, 1238个字符.步调 11:使用 wc 计算目录条目的数目.更多符号是竖线,和后斜线(\) 在同一个键上.在命令行提示行下,输入命令 ls l wc -w.有多少个文件和目录名 (单词) ?24步调 12:使用 diff命令确定文件之间的分歧的地方.使用diff命令履行细节比较,确定fruit1 文件和fruit2 文件之间的区别.在 fruit1 文件和在 fruit2 文件中,哪几行是分歧的?fruit1:bananafruit2:banane1) cat 命令:· 对 fruit1文件使用 cat命令.· 对 fruit2文件使用 cat命令.· 键入命令行 cat fruit1 fruit2 > filex.· 对 filex 文件使用 cat 命令.上面的命令行做了什么工作?将fruit1和fruit2两个文件合并,而且写入文件filex.2) 可以使用哪 2 个命令来确定 2 个文件是否不异?diff.2. 基本的命令行文件管理步调 14:回顾 Linux 的文件和目录命名规则.表7-1 实验记录命令格式:touch filename (s)1) 在主目录中使用 touch命令创建一个名为 newfile 的文件,应当使用什么命令?touch newfile2) 使用 touch 命令在这个目录中创建另一个叫做 filenew的新文件,应当使用什么命令?touch filenew3) 输入命令显示practice目录中的文件的长列表.创建的文件列出来了吗?列出来了4) 谁是文件的所有者?fuxin 当前登录的用户5) 和文件关连的组是什么?用户组6) 创建的日期和时间是什么?2011-12-10 16:027) 文件的大小是多少?8) 使用 file命令确定 newfile的文件类型.它是哪一类的文件?newfile:empty9) 使用 touch 命令同时创建 3 个文件:new1、new2 和new3,应当使用什么命令?touch new1 new2 new310) 输入命令显示 practice目录中文件的长列表.创建的 3 个新文件列出来了吗?列出来了步调 16:使用 mkdir命令创建新目录.mkdir directory_name (s)1) 从主目录中,使用绝对路径名改变到practice目录中.使用什么命令?cd practice2) 使用mkdir命令,在这个目录中创建一个叫做newdir 的子目录.使用什么命令?mkdir newdir3) 输入命令,显示practice 目录中文件和目录的长列表.创建的目录列出来了吗?列出来了4) 目录的所有者是?fuxin当前登录的用户.5)文件的大小是多少?4096。

河北工业大学计算机硬件实验答案

河北工业大学计算机硬件实验答案

第3章指令系统和汇编语言程序设计实验3.2 指令系统实验实验一熟悉键盘操作及数传指令编程设计一、实验目的1.熟悉软件模拟调试的环境及键盘操作。

2.掌握汇编语言程序设计的方法,加深对指令的理解。

3.学会软件模拟调试和察看修改观察项的方法。

二、实验内容印证数据传送指令的功能、寻址方式以及PC指针、SP指针、DPTR指针、Ri指针分别对代码段、堆栈段、外扩数据存储器段、位寻址区等不同存储器的访问方式。

三、实验步骤1.进入调试软件环境,输入源程序;2.汇编源程序;3.用单步方式运行程序;4.检查并记录各寄存器和存储单元内容的变化。

四、程序清单1.内部RAM数据传送1)寄存器寻址与立即寻址,需要查看的数据有A、PSW和不同寄存器区的Rn等单元的内容。

ORG 0000HMOV PSW,#00H;MOV R0,#30H;(R0)=30HMOV A,R0;(A)=30HMOV R6,A;(R6)=30HMOV PSW,#14HMOV R0,#30H;(R0)=30HMOV A,R0;MOV R6,A; (R6)=30HMOV PSW,#10H;MOV R0,#30H; (R0)=30HMOV A,R0;(A)=30HMOV R6,A;(R6)=30HMOV PSW,#08H;MOV R0,#30H;(R0)=30HMOV A,R0MOV R6,A;(R6)=30HSJMP $END2) 直接寻址,需查看30H、31H、32H、40H、ACC、PSW等单元的内容。

ORG 0100HMOV 30H,#45H;(30H)=45HMOV 31H,#46H; (31H)=46HMOV 02H,31H;(R2)=46HMOV 0E0H,30H;(A)=45HMOV 32H,ACC; (32H)=45HMOV ACC,PSW;(A)=01HMOV 40H,ACC;(40H)=01HSJMP $END3)寄存器间接寻址,需查看@R0、RO等的内容。

河北工业大学操作系统实验报告-(2)

河北工业大学操作系统实验报告-(2)

操作系统实验指导书实验一进程控制与描述一、实验目的通过对Windows XP编程,进一步熟悉操作系统的基本概念,较好地理解Windows XP的结构。

通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解Windows XP进程的“一生”。

二、实验环境硬件环境:计算机一台,局域网环境;软件环境:Windows XP,Visual C++ 6.0专业版或企业版。

三、实验容和步骤第一部分 Windows 编程Windows XP可以识别的程序包括控制台应用程序、GUI应用程序和服务应用程序。

本实验中主要用到的是控制台应用程序和GUI应用程序。

1、简单的控制台应用程序创建一个名为“Hello”的应用程序, 在“开始”菜单中单击“程序”-“附件”-“记事本”命令,将程序键入记事本中,并把代码保存为1-1.cpp。

程序1-1 Windows XP的GUI应用程序#include <iostream>void main(){Std::cout<<”Hello, Windows XP”<<std::endl;}在“命令提示符”窗口运行CL.EXE,产生1-1.EXE文件:C:\> CL 1-1.cpp运行1-1.EXE程序,运行结果是:(如果运行不成功,则可能的原因是什么?)_2、GUI应用程序Windows XP Professional下的GUI应用程序,使用Visual C++编译器创建一个GUI应用程序,代码中包括了WinMain()方法,该方法GUI类型的应用程序的标准入口点。

在“开始”菜单中单击“程序”-“附件”-“记事本”命令,将程序键入记事本中,并把代码保存为1-2.cpp。

程序1-2 Windows XP的GUI应用程序// msgbox项目# include <windows.h> // 标准的include// 告诉连接器与包括MessageBox API函数的user32库进行连接# pragma comment(lib, “user32.lib” )// 这是一个可以弹出信息框然后退出的筒单的应用程序int APIENTRY WinMain(HINSTANCE /* hInstance */ ,HINSTANCE /* hPrevInstance */ ,LPSTR /* lpCmdLine */ ,int /* nCmdShow */ ){:: MessageBox(NULL, // 没有父窗口“Hello, Windows 2000” , // 消息框中的文本“Greetings”, // 消息框标题MB_OK) ; // 其中只有一个OK按钮// 返回0以便通知系统不进入消息循环return(0) ;}也可以利用任何其他文本编辑器键入程序代码,如果这样,例如使用WORD来键入和编辑程序,则应该注意什么问题?保存时将文件保存为“.cpp”的c++文件在“命令提示符”窗口运行CL.EXE,产生1-2.EXE文件:C:\> CL 1-2.cpp在程序1-2的GUI应用程序中,首先需要Windows.h头文件,以便获得传送给WinMain() 和MessageBox() API函数的数据类型定义。

河北工业大学汇编语言程序设计实验

河北工业大学汇编语言程序设计实验

汇编语言程序设计实验网络*** ***实验一 顺序与分支程序设计一 、实验目的1) 掌握顺序程序设计方法。

2) 掌握分支程序的结构及分支程序的设计,调试方法。

2) 学习数据传送及算术和逻辑运算指令的用法。

3) 熟悉在pc 机上建立、汇编、连接、调试和运行汇编语言程序的过程。

二、实验内容1.实验六从键盘上接收一位十进制数x ,计算y 值,并以十六进制形式显示出来,y 按下列公式计算。

⎪⎪⎩⎪⎪⎨⎧===-=+=)6(2/)5()4(2)3(2222X X X X X X X X X X Y2..实验七实验内容:从键盘上接收两个一位十六进制数x 和y ,然后再输入一个a-d 之间的一个字符,按下列要求计算。

a)当输入字符为a ,则计算x+y ,并以十六进 制形式显示出来 b)当输入字符为b ,则计算|x-y|,并以十六进制形式显示出来 c)当输入字符为c ,则计算x*y ,并以十六进制形式显示出来 d)当输入字符为d ,则计算x/y ,并以十六进制形式显示出来三、实验代码实验六DATE SEGMENTX DB ?DATE ENDS ;数据段CODE SEGMENTASSUME CS:CODE,DS:DATESTART:MOV AX,DATE ;代码段MOV DS,AX ;初始化ds寄存器MOV AH,1INT 21H ;读文件到缓冲区CMP AL,33H ;比较指令JB L0 ;A<BCMP AL,36HJA L0AND AL,0FH ;逻辑与指令MOV X,AL ;al给xMOV AL,XCMP AL,3HJE L1 ;执行L1命令CMP AL,4HJE L4 ;执行L4命令CMP AL,5HJE L6 ;执行L6命令CMP AL,6HJE L7 ;执行L7命令L1:MUL ALADD AL,X ;al+xL5:MOV BL,ALMOV CL,4SHR AL,CL ;移位指令CMP AL,9JLE L2 ;转移指令。

计算机网络实验精选全文完整版

计算机网络实验精选全文完整版

可编辑修改精选全文完整版计算机网络实验1. 编程实验(使用NetRiver实验系统)(1)滑动窗口协议实验(见实验指导书的实验1,只做回退N帧实验)(2)IPv4协议收发实验(见实验指导书的实验2)(3)IPv4协议转发实验(见实验指导书的实验3)每位同学只做其中的一个实验,学号mod 3 = 0、1、2的同学分别做实验1、2、3。

程序应通过测试服务器的测试;程序及实验报告应提交到管理服务器供检查。

实验报告包括以下几部分内容:实验目的,协议的工作原理或处理要求,程序流程图。

提交的代码应有必要的注释。

2. 交互式实验(使用NetRiver实验系统)(1)IPv4协议交互实验(见实验指导书的实验11)(2)TCP协议交互实验(见实验指导书的实验14)该实验所有同学都要做。

服务器会自动记录实验结果,不需提交实验报告。

3. 观察实验(使用协议分析工具Wireshark)该实验所有同学都要做。

3.1观察IEEE 802.3帧结构进行实验的主机运行Windows XP操作系统。

通过Wireshark将实验主机的网卡设置为通常模式(非混杂模式),捕捉以下场景中的数据帧:先在命令行下用arp –d命令删除实验主机上的所有ARP表项,接着立即用web浏览器访问Internet上的站点。

1)依次查看捕获的各数据帧,看看目的地为实验主机的数据帧中长度最小的是多大;查看这种帧的各个域,看看前导码是否包含在记录的数据中;记录的数据是从哪个字段开始,至哪个字段结束;这是否验证了IEEE 802.3标准中规定的最小帧长为64字节?2)查看捕获的帧中长度最长的帧。

可以多访问一些网页以捕获更多的帧,看看这些帧的长度最大是多少?为什么?3)查看捕获的数据帧中由实验主机发出的ARP请求帧,查看封装该ARP 请求帧的以太帧的目的地址是多少,源地址是多少;再用ipconfig –all命令查看实验主机的MAC地址,看看是否和源地址一致。

河工大计算机组成实验指导书

河工大计算机组成实验指导书

8
三、实验内容
1、按图 2.2 运算器数据通路图设计一个能完成表 2-1 所列出的八种补码运算指令的运算器。
表 2-1 运算器的 8 种指令功能表
指令 加 减 加1 减1 逻辑与 取反 右移 左移
助记符 ADD SUB INR DCR ANA CMA SHR SHL
代码 1001 0110 0000 1111 1011 0101 1010 1100
9
Q1
Q2
Q3
3
4
5
74LS37V的8
QA T CR 1
QB CR T
Qc CR T
3
& 37Ⅲ 12
04Ⅱ 13 12
1
> > > >
6 QD CR
T
74LS393
2
1 CR
A1
A2
H
图 1-8 节拍脉冲形成电路
四、实验要求
做好“实验预习”,并按“实验报告规范”做好实验报告。实验时,记录实验实测波形、启停情况、出 现现象的分析,总结实验体会,提出改进意见和问题。
要实现移位功能需在 ALU 和 BUS 之间接入一排移位控制门。右移时,其末位进入 C(进位位),首位补 0。移位数据通路如图 2-2 示。
左移指令利用 ALU“A+A”指令模式来完成,这个左移 8 位三态门可以省去。 3、运算器数据通路电路图 通过以上分析,整个数据通路在 ALU 与 BUS 之间除原有直送隔离门外,还需要添加一个右移控制门。 在总线上挂上开关、程序计数器和输出显示。 在计算机运算过程中,经常要根据运算结果和进位输出来决定程序的流程,可从 ALU 的 A=B 和 C n+4 端输出判断信息,分别打入进位位 C 和结果 Z 触发器。 实验中,为减少开关占用量,可在总线上挂一个指令寄存器,存放 ALU 的控制信息 S3~S0,M、Cn。 运算器数据通路如图 2-2 所示。运算器实验电路原理如图 2-3 所示。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验(五):熟悉IP协议
实验说明:6个人一组
参考容:网络协议仿真教学系统(通用版)课件实验三网际协议IP
实验报告:
给出拓扑图(表明各主机的IP地址和MAC地址)
给出各个练习网卡捕获的数据(需要说明是哪一个练习)
练习一:
各主机打开协议分析器,进入相应的网络结构并验证网络拓扑的正确性,如果通过拓扑验证,关闭协议分析器继续进行实验,如果没有通过拓扑验证,请检查网络连接。

本练习将主机A、B、C、D、E、F作为一组进行实验。

1.主机B在命令行方式下输入staticroute_config命令,开启静态路由服务。

2.主机A启动协议编辑器,编辑一个IP数据报,其中:
MAC层:目的MAC地址:主机B的MAC地址(对应于172.16.1.1接口的MAC)。

源MAC地址:主机A的MAC地址。

协议类型或数据长度:0800。

IP层:
总长度:IP层长度。

生存时间:128。

源IP地址:主机A的IP地址(172.16.1.2)。

目的IP地址:主机E的IP地址(172.16.0.2)。

校验和:在其它所有字段填充完毕后计算并填充。

自定义字段:
数据:填入大于1字节的用户数据。

【说明】先使用协议编辑器的“手动计算”校验和,再使用协议编辑器的“自动计算”校验和,将两次计算结果相比较,若结果不一致,则重新计算。

● IP在计算校验和时包括哪些容?
只包括IP报文中的首部,不包括数据部分
3. 在主机B(两块网卡分别打开两个捕获窗口)、E上启动协议分析器,设置过滤条件(提取IP协议),开始捕获数据。

4. 主机A发送第1步中编辑好的报文。

5. 主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题:
●第1步中主机A所编辑的报文,经过主机B到达主机E后,报文数据是否发生变化?若发生变化,记录变化的字段,并简述发生变化的原因。

报文数据发生变化。

发生变化的字段有:“生存时间”和“首部校验和”。

其截图如下:
主机B的截图中,本机连接2对应的是路由,其IP地址为172.16.0.1,“生存时间”字段的值为128,
“首部校验和”字段的值为0D78,而主机E中,“生存时间”字段的值为127,“首部校验和”字段的值为0E78。

原因:主机B为路由器,数据包每经过一路由器“生存时间”字段的值会减1,并重新计算校验和。

6. 将第1步中主机A所编辑的报文的“生存时间”设置为1,重新计算校验和。

7. 主机B、E重新开始捕获数据。

8. 主机A发送第5步中编辑好的报文。

9. 主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题:主机B、E是否能捕获到主机A所发送的报文?简述产生这种现象的原因。

主机B对应于172.16.1.1的接口可以捕获到主机A所发送的报文;主机B对应于172.16.0.1的接口和主机E不能捕获到主机A所发送
的报文;原因:当“生存时间”字段的值减至为0时,路由器将该报文丢弃不进行转发。

1
主机B:
主机E:
2
主机B:
主机E:
3
练习二:
本练习将主机A、B、C、D、E、F作为一组进行实验。

1. 直接广播地址
(1)主机A编辑IP数据报1,其中:
目的MAC地址:FFFFFF-FFFFFF。

源MAC地址:A的MAC地址。

源IP地址:A的IP地址。

目的IP地址:172.16.1.255。

自定义字段数据:填入大于1字节的用户数据。

校验和:在其它字段填充完毕后,计算并填充。

(2)主机A再编辑IP数据报2,其中:
目的MAC地址:主机B的MAC地址(对应于
172.16.1.1接口的MAC)。

源MAC地址:A的MAC地址。

源IP地址:A的IP地址。

目的IP地址:172.16.0.255。

自定义字段数据:填入大于1字节的用户数据。

校验和:在其它字段填充完毕后,计算并填充。

(3)主机B、C、D、E、F启动协议分析器并设置过滤条件(提取IP协议,捕获172.16.1.2接收和发送的所有IP数据包,设置地址过滤条件如下:172.16.1.2<->Any)。

(4)主机B、C、D、E、F开始捕获数据。

(5)主机A同时发送这两个数据报。

(6)主机B、C、D、E、F停止捕获数据。

●记录实验结果
表Array 3-4




●结合实验结果,简述直接广播地址的作用
路由器使用这种地址把一个分组发送到一个特定网络上的所有主机。

所有的主机都会收到具有这种类型目的地址的分组。

受限广播地址
(1)主机A编辑一个IP数据报,其中:
目的MAC地址:FFFFFF-FFFFFF。

源MAC地址:A的MAC地址。

源IP地址:A的IP地址。

目的IP地址:255.255.255.255。

自定义字段数据:填入大于1字节的用户数据。

校验和:在其它字段填充完毕后,计算并填充。

(2)主机B、C、D、E、F重新启动协议分析器并设置过滤条件(提取IP协议,捕获172.16.1.2接收和发送的所有IP数据包,设置地址过滤条件如下:172.16.1.2<->Any)。

(3)主机B、C、D、E、F重新开始捕获数据。

(4)主机A发送这个数据报。

(5)主机B、C、D、E、F停止捕获数据。

●记录实验结果
表3-5 实验结果


合实验结果,简述受限广播地址的作用。

受限的广播地址是255.255.255.255。

该地址用于主机配置过程中IP数据报的目的地址,此时,主机可能还不知道它所在网络的网络掩码,甚至连它的IP地址也不知道。

受限的广播通常只在系统初始启动时才会用到。

在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报,这样的数据报仅出现在本地网络中。

所以只有主机C,D和B(172.16.1.1)收到主机A发送的IP数据报,而主机E,F,还有主机B的路由(172.16.0.1)未收到主机A发送的IP数据报。

3. 环回地址
(1)主机F重新启动协议分析器开始捕获数据并设置过滤条件(提取IP协议)。

(2)主机E ping 127.0.0.1。

(3)主机F停止捕获数据。

●主机F是否收到主机E发送的目的地址为127.0.0.1的IP数据报?为什么?
主机F没收到主机E发送的数据报
因为127.0.0.1称为回环地址,常用于本机上软件测试和本机上网络应用程序之间的通信地址,分组永远不离开这个机器
1
主机B:
主机C:
2
主机B:
主机C:
主机D:
主机E:
主机F:
3
主机E:
主机F:
练习三:
本练习将主机A、B、C、D、E、F作为一组进行实验。

1. 在主机B上使用“实验平台上工具栏中的MTU工具” 设置以太网端口的MTU为800字节(两个端口都设置)。

2. 主机A、B、E启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ICMP协议)。

3. 在主机A上,执行命令ping -l 1000 172.16.0.2。

4. 主机A、B、E停止捕获数据。

在主机E上重新定义过滤条件(取一个ICMP数据包,按照其IP层的标识字段设置过滤),如图所示:
图3-24 过滤条件设置
● 将ICMP 报文分片信息填入下表,分析表格容,理解分片的过程。

表3-6 实验结果
主机E恢复默认过滤器。

主机A、B、E重新开始捕获数据。

在主机A上,执行命令ping -l 2000 172.16.0.2。

7. 主机A、B、E停止捕获数据。

察看主机A、E捕获到的数据,比较两者的差异,体会两次分片过程。

第一次传输的数据长度为1000bytes,而MTU为800,因此需要进行1次分片;第二次传输的数据长度为2000bytes,而MTU为800,因
此需要进行2次分片; More fragments字段值为1表示之后还有分片;Fragment offset字段指明了当前分片包在与其它分片包被重新组装成一个单独数据包时,应该位于数据包的什么位置上。

值为8的整数倍。

在本实验中,MTU为800,因此传输的数据量最大为800-20(IP首部长度)= 780,而780不是8的整数倍,因此分片序号2 的Fragment offset字段值为776(8的整数倍且最接近780)。

8. 主机B上使用“实验平台上工具栏中的MTU工具”恢复以太网端口的MTU为1500字节。

1
主机A
主机B:
主机E:
2
主机A
主机B
主机E
3
主机A
主机B
主机E。

相关文档
最新文档