当前位置:文档之家› 深入理解计算机系统LAB2

深入理解计算机系统LAB2

深入理解计算机系统LAB2
深入理解计算机系统LAB2

LAB1实验报告

实验目的:

使用课程知识拆除一个“Binary Bombs”来增强对程序的机器级表示、汇编语言、调试器和逆向工程等理解。

实验简介:

一个“Binary Bombs”(二进制炸弹,简称炸弹)是一个Linux可执行C程序,包含phase1~phase6共6个阶段。炸弹运行各阶段要求输入一个字符串,若输入符合程序预期,该阶段炸弹被“拆除”,否则“爆炸”。实验目标是你需要拆除尽可能多的炸弹。

运行结果:

通关密码储存在0014301-151420131.txt文件中。

成功运行结果截图:

实验中的六组密码:

PHASE1:字符串比较

本关比较简单,根据课件中的提示用GDB将最先压栈的那个字符串常量打印出来,然后将其作为密码输入,比较成功后即通关。

08048ab2 :

8048ab2: 83 ec 14 sub $0x14,%esp

8048ab5: 68 04 9f 04 08 push $0x8049f04

8048aba: ff 74 24 1c pushl 0x1c(%esp)

8048abe: e8 4d 04 00 00 call 8048f10 将地址0x8049f04中的值打印出来:

即“The future will be better tomorrow.”

PHASE2:循环

在查看汇编语言的时候,会看到有调用一个read_six_number函数,猜测此题是让输入六个数字。

08048ad3 :

8048ad3: 56 push %esi

8048ad4: 53 push %ebx

8048ad5: 83 ec 2c sub $0x2c,%esp

8048ad8: 8d 44 24 10 lea 0x10(%esp),%eax

8048adc: 50 push %eax

8048add: ff 74 24 3c pushl 0x3c(%esp)

8048ae1: e8 46 05 00 00 call 804902c

8048ae6: 83 c4 10 add $0x10,%esp

8048ae9: 83 7c 24 08 01 cmpl $0x1,0x8(%esp)------→判定是否为1 8048aee: 74 1e je 8048b0e

8048af0: e8 12 05 00 00 call 8049007

8048af5: eb 17 jmp 8048b0e

8048af7: 8b 03 mov (%ebx),%eax

8048af9: 01 c0 add %eax,%eax----→进行自加,扩大两倍 8048afb: 39 43 04 cmp %eax,0x4(%ebx)

8048afe: 74 05 je 8048b05

8048b00: e8 02 05 00 00 call 8049007

8048b05: 83 c3 04 add $0x4,%ebx

8048b08: 39 f3 cmp %esi,%ebx

8048b0a: 75 eb jne 8048af7

8048b0c: eb 0a jmp 8048b18

8048b0e: 8d 5c 24 08 lea 0x8(%esp),%ebx

8048b12: 8d 74 24 1c lea 0x1c(%esp),%esi

8048b16: eb df jmp 8048af7 →循环

8048b18: 83 c4 24 add $0x24,%esp

8048b1b: 5b pop %ebx

8048b1c: 5e pop %esi

8048b1d: c3 ret

有汇编语言进行分析,不难看出,这道题目要求输入六个数字,并且要求第一个数字为1,之后跳入一个循环,将第一个数字加倍和已有的数字进行比较,所以不难看出所需要的密码是1,2,4,8,16,32这六个数字。

PHASE3:条件分支语句

这道题的汇编语句明显变长了,但是由于PPT中已经提示这是条件分支语句,以此为切入点,此题也不难分析。

08048b1e :

8048b1e: 83 ec 1c sub $0x1c,%esp

8048b21: 8d 44 24 08 lea 0x8(%esp),%eax

8048b25: 50 push %eax

8048b26: 8d 44 24 10 lea 0x10(%esp),%eax

8048b2a: 50 push %eax

8048b2b: 68 0f a1 04 08 push $0x804a10f→打印该值为”%d%d”

8048b30: ff 74 24 2c pushl 0x2c(%esp)

8048b34: e8 87 fc ff ff call 80487c0 <__isoc99_sscanf@plt> 上面这一段调用了一个函数sscanf(),查询可知这个函数的原型为:int sscanf(const char *buffer,const char *format,[argument ]...);即读取输入的字符串,并以指定的格式赋给参数。其中一个参数在地址0x804a10f中。可知需要输入两个整数。

8048b39: 83 c4 10 add $0x10,%esp

8048b3c: 83 f8 01 cmp $0x1,%eax

8048b3f: 7f 05 jg 8048b46

8048b41: e8 c1 04 00 00 call 8049007

8048b46: 83 7c 24 0c 07 cmpl $0x7,0xc(%esp)---------→不大于7

8048b4b: 77 66 ja 8048bb3-→否则引爆有这些可以得知第一个参数的信息,可以看出这是一个不大于7的数,因此缩小了选择,不难猜出可能是分支条件。

8048b4d: 8b 44 24 0c mov 0xc(%esp),%eax

8048b51: ff 24 85 80 9f 04 08 jmp *0x8049f80(,%eax,4)

8048b58: b8 0c 03 00 00 mov $0x30c,%eax

8048b5d: eb 05 jmp 8048b64

8048b5f: b8 00 00 00 00 mov $0x0,%eax

8048b64: 2d d5 03 00 00 sub $0x3d5,%eax

8048b69: eb 05 jmp 8048b70

8048b6b: b8 00 00 00 00 mov $0x0,%eax

8048b70: 05 35 01 00 00 add $0x135,%eax

8048b75: eb 05 jmp 8048b7c

8048b77: b8 00 00 00 00 mov $0x0,%eax

8048b7c: 2d e9 02 00 00 sub $0x2e9,%eax

8048b81: eb 05 jmp 8048b88

8048b83: b8 00 00 00 00 mov $0x0,%eax

8048b88: 05 e9 02 00 00 add $0x2e9,%eax

8048b8d: eb 05 jmp 8048b94

8048b8f: b8 00 00 00 00 mov $0x0,%eax

8048b94: 2d e9 02 00 00 sub $0x2e9,%eax

8048b99: eb 05 jmp 8048ba0

8048b9b: b8 00 00 00 00 mov $0x0,%eax

8048ba0: 05 e9 02 00 00 add $0x2e9,%eax

8048ba5: eb 05 jmp 8048bac

8048ba7: b8 00 00 00 00 mov $0x0,%eax

8048bac: 2d e9 02 00 00 sub $0x2e9,%eax

8048bb1: eb 0a jmp 8048bbd

8048bb3: e8 4f 04 00 00 call 8049007 上面是各种分支情况,看起来比较复杂,先放一放

8048bb8: b8 00 00 00 00 mov $0x0,%eax

8048bbd: 83 7c 24 0c 05 cmpl $0x5,0xc(%esp)--- 参数不能大于5

8048bc2: 7f 06 jg 8048bca

8048bc4: 3b 44 24 08 cmp 0x8(%esp),%eax

8048bc8: 74 05 je 8048bcf

8048bca: e8 38 04 00 00 call 8049007

8048bcf: 83 c4 1c add $0x1c,%esp

8048bd2: c3 ret

可以看出参数不能大于五,因此这道题可能有多组解,不过结合分支语句,不难看出当第一个参数比较大的时候,计算量比较小,所以我选择了第一个参数为5,代入进行逐步计算,可以得到此时的值为-745。

PHASE4:递归调用栈

这一步是递归调用栈,所以有两部分汇编代码,其中一个是被调用的函数,简单地看一下代码,应该是一个递归的函数。先分析主程序部分的代码,其中也

有sscanf函数:

08048c2c :

8048c2c: 83 ec 1c sub $0x1c,%esp

8048c2f: 8d 44 24 08 lea 0x8(%esp),%eax

8048c33: 50 push %eax

8048c34: 8d 44 24 10 lea 0x10(%esp),%eax

8048c38: 50 push %eax

8048c39: 68 0f a1 04 08 push $0x804a10f---→输出为”%d%d”

8048c3e: ff 74 24 2c pushl 0x2c(%esp)

8048c42: e8 79 fb ff ff call 80487c0 <__isoc99_sscanf@plt>

8048c47: 83 c4 10 add $0x10,%esp

8048c4a: 83 f8 02 cmp $0x2,%eax----→返回值为2 从上面这部分看出我们需要输入两个参数,且两个都是整数型的。

8048c4d: 75 07 jne 8048c56

8048c4f: 83 7c 24 0c 0e cmpl $0xe,0xc(%esp)→第一个参数不大于14 8048c54: 76 05 jbe 8048c5b

8048c56: e8 ac 03 00 00 call 8049007

8048c5b: 83 ec 04 sub $0x4,%esp

8048c5e: 6a 0e push $0xe

8048c60: 6a 00 push $0x0

8048c62: ff 74 24 18 pushl 0x18(%esp)

8048c66: e8 68 ff ff ff call 8048bd3

8048c6b: 83 c4 10 add $0x10,%esp

8048c6e: 83 f8 25 cmp $0x25,%eax

8048c71: 75 07 jne 8048c7a

8048c73: 83 7c 24 08 25 cmpl $0x25,0x8(%esp)---→第二个参数为37 8048c78: 74 05 je 8048c7f

8048c7a: e8 88 03 00 00 call 8049007

8048c7f: 83 c4 1c add $0x1c,%esp

8048c82: c3 ret

从上面这些可以看出,虽然输入了两个参数,但是只有第一个参数被传递给了func4另外一个没有变化,而且可以知道等于37。同时,第一个参数还不大于14。这样可能的情况就少了。考虑到func4本来就是一个递归函数,即使反汇编出来,也需要一步一步代入,不如直接进行尝试,枚举法得到第一个参数是10。

PHASE5:指针

这一道题的提示比较模糊,毕竟汇编程序里到处都有指针。

08048c83 :

8048c83: 83 ec 1c sub $0x1c,%esp

8048c86: 8d 44 24 08 lea 0x8(%esp),%eax

8048c8a: 50 push %eax

8048c8b: 8d 44 24 10 lea 0x10(%esp),%eax

8048c8f: 50 push %eax

8048c90: 68 0f a1 04 08 push $0x804a10f--→地址参数

8048c95: ff 74 24 2c pushl 0x2c(%esp)

8048c99: e8 22 fb ff ff call 80487c0 <__isoc99_sscanf@plt> 同样函数sscanf,其中有两个参数,有一个是地址0x804a10f,先记下等会可能会用到。

8048c9e: 83 c4 10 add $0x10,%esp

8048ca1: 83 f8 01 cmp $0x1,%eax

8048ca4: 7f 05 jg 8048cab

8048ca6: e8 5c 03 00 00 call 8049007

8048cab: 8b 44 24 0c mov 0xc(%esp),%eax

8048caf: 83 e0 0f and $0xf,%eax---------→取低四位

8048cb2: 89 44 24 0c mov %eax,0xc(%esp)

8048cb6: 83 f8 0f cmp $0xf,%eax---------→不能等于15

8048cb9: 74 2e je 8048ce9

8048cbb: b9 00 00 00 00 mov $0x0,%ecx

8048cc0: ba 00 00 00 00 mov $0x0,%edx

8048cc5: 83 c2 01 add $0x1,%edx---------→计数用的

8048cc8: 8b 04 85 c0 9f 04 08 mov 0x8049fc0(,%eax,4),%eax→寻址

8048ccf: 01 c1 add %eax,%ecx---------→求和用的

8048cd1: 83 f8 0f cmp $0xf,%eax

8048cd4: 75 ef jne 8048cc5

8048cd6: c7 44 24 0c 0f 00 00 movl $0xf,0xc(%esp)

8048cdd: 00

8048cde: 83 fa 0f cmp $0xf,%edx---------→到15跳出

8048ce1: 75 06 jne 8048ce9

8048ce3: 3b 4c 24 08 cmp 0x8(%esp),%ecx

8048ce7: 74 05 je 8048cee

8048ce9: e8 19 03 00 00 call 8049007

8048cee: 83 c4 1c add $0x1c,%esp

8048cf1: c3 ret

个别地方不是太清楚,不过已经基本可以猜出来程序的目的,设置一个计数器进行计数,每次按照变量的偏移寻址,找到之后变成新的变量,之后按照新的变量进行寻址,如此循环。没找到一个变量,求和。当变量刚好等于15的时候跳出,不过跳出的时候还需要看一下计数器有没有达到15,也就是说要循环15次才可以跳出,这为我们猜测其值提供了方便。

所以我们需要做的是找到初始的变量和以这个变量开始循环所得到的总和。

根据GDB输出的情况,我做了一个表格:

其中首行是相对于首地址便宜的字节,下面是其对应的常数。当变量为15的时候跳出,那么我们可以从15向后推:

15→6→14→2→1→10→0→8→4→9→13→11→7→3→12→5

不难看出15个循环之后是5,因此第一个参数是5。之后把这十五个参数的值相加。

最开始的时候,我犯了个错误就是直接把这十五个数相加,后来不通过,经过分析发现是15个偏移量对应的地址中的常数,所以为115。

PHASE6:链表/指针/结构

这一关看提示就觉得很难,首先对这三个词进行联想,“链表+结构”这个比较好联想,应该使用结构体定义了一个链表结构。至于“指针”,这个我猜测应该是和上一关所说的意思可能有相似之处,应给就是不停地变换地址比较之类的。

这一关的汇编语言比较长,其中有一大部分都是对结构体的定义,所以这里只摘录要点进行解释说明。

08048cf2 :

8048cf2: 56 push %esi

8048cf3: 53 push %ebx

8048cf4: 83 ec 3c sub $0x3c,%esp

8048cf7: 8d 44 24 20 lea 0x20(%esp),%eax

8048cfb: 50 push %eax

8048cfc: ff 74 24 4c pushl 0x4c(%esp)

8048d00: e8 27 03 00 00 call 804902c

又是这个参数,这道题还是让你输入六个数

8048d05: 83 c4 10 add $0x10,%esp

8048d08: be 00 00 00 00 mov $0x0,%esi

8048d0d: 8b 44 b4 18 mov 0x18(%esp,%esi,4),%eax

8048d11: 83 e8 01 sub $0x1,%eax

8048d14: 83 f8 05 cmp $0x5,%eax

8048d17: 76 05 jbe 8048d1e

8048d19: e8 e9 02 00 00 call 8049007

8048d1e: 83 c6 01 add $0x1,%esi

8048d21: 83 fe 06 cmp $0x6,%esi

8048d24: 74 1b je 8048d41

8048d26: 89 f3 mov %esi,%ebx

8048d28: 8b 44 9c 18 mov 0x18(%esp,%ebx,4),%eax

8048d2c: 39 44 b4 14 cmp %eax,0x14(%esp,%esi,4)

8048d30: 75 05 jne 8048d37

8048d32: e8 d0 02 00 00 call 8049007

8048d37: 83 c3 01 add $0x1,%ebx

8048d3a: 83 fb 05 cmp $0x5,%ebx

8048d3d: 7e e9 jle 8048d28

8048d3f: eb cc jmp 8048d0d

8048d41: 8d 44 24 18 lea 0x18(%esp),%eax

到这里为止,是一个循环,是对输入的六个数字进行判定,从这里可以看出,要求是0到6这几个数字符合要求,是这六个数字的一种组合。

8048d45: 8d 5c 24 30 lea 0x30(%esp),%ebx

8048d49: b9 07 00 00 00 mov $0x7,%ecx

8048d4e: 89 ca mov %ecx,%edx

8048d50: 2b 10 sub (%eax),%edx

8048d52: 89 10 mov %edx,(%eax)

8048d54: 83 c0 04 add $0x4,%eax

8048d57: 39 d8 cmp %ebx,%eax

8048d59: 75 f3 jne 8048d4e 这一段很重要,第一次读的时候不明所以,不知道是在做什么,之后忽视去看后面的,发现结果怎么输入都不对。回过头来看,发现问题在这里,假如输入的是x,这里是将其变为7-x。即这个循环是做了一个置换,将我们所输入的数字置换了。

8048d75: 74 17 je 8048d8e

8048d77: 89 de mov %ebx,%esi

8048d79: 8b 4c 9c 18 mov 0x18(%esp,%ebx,4),%ecx

8048d7d: b8 01 00 00 00 mov $0x1,%eax

8048d82: ba 3c b2 04 08 mov $0x804b23c,%edx

8048d87: 83 f9 01 cmp $0x1,%ecx

8048d8a: 7f d6 jg 8048d62 这是结构体中的一段,其中有地址常量,这个应该是结构体链表的首地址,不防输出进行查看:

可以看出,这是由学号生成的一个有着六个元素的链表,元素分别是:

8048daf: be 05 00 00 00 mov $0x5,%esi

8048db4: 8b 43 08 mov 0x8(%ebx),%eax

8048db7: 8b 00 mov (%eax),%eax

8048db9: 39 03 cmp %eax,(%ebx)

8048dbb: 7d 05 jge 8048dc2

8048dbd: e8 45 02 00 00 call 8049007

8048dc2: 8b 5b 08 mov 0x8(%ebx),%ebx

8048dc5: 83 ee 01 sub $0x1,%esi

8048dc8: 75 ea jne 8048db4

8048dca: 83 c4 34 add $0x34,%esp

8048dcd: 5b pop %ebx

8048dce: 5e pop %esi

8048dcf: c3 ret

这一段又是一个循环,是对链表的一个排序,到这里就分析的差不多了,也就是说我们输入的是链表的次序,不过这个次序要被7减。

比较大小,有:

1 6

2 4

3 5

隐藏关卡:

这个如果没有提示应该是看不出来了。不过当时在分析PHASE6的时候看到下面有一个func7。但是PHASE6并没有用到,觉得很奇怪,看到提示后,又向后翻了翻,发现了func7是被secret_phase调用的。但是程序运行从开始到结束都没有进入这里。我检索了一下secret_phase关键字,找到了调用它的函数。

08049160 :

8049160: 83 3d e8 b4 04 08 06 cmpl $0x6,0x804b4e8

8049167: 75 73 jne 80491dc

8049169: 83 ec 78 sub $0x78,%esp

804916c: 8d 44 24 1c lea 0x1c(%esp),%eax

8049170: 50 push %eax

8049171: 8d 44 24 18 lea 0x18(%esp),%eax

8049175: 50 push %eax

8049176: 8d 44 24 20 lea 0x20(%esp),%eax

804917a: 50 push %eax

804917b: 68 69 a1 04 08 push $0x804a169-----→”%d %d %s”

8049180: 68 f0 b5 04 08 push $0x804b5f0-----→”10 37”

8049185: e8 36 f6 ff ff call 80487c0 <__isoc99_sscanf@plt>

804918a: 83 c4 20 add $0x20,%esp

804918d: 83 f8 03 cmp $0x3,%eax--→有三个参数

8049190: 75 3a jne 80491cc 从这里可以看出只有通过了第六关才能到达隐藏关口,而且隐藏的关口需要收入三个参数,从提示中可以知道这三个参数是从第四行读取的,所以需要再在第四行添加一个字符串,至于这个字符串是什么,需要打印相应的地址查看。

8049192: 83 ec 08 sub $0x8,%esp

8049195: 68 72 a1 04 08 push $0x804a172

804919a: 8d 44 24 1c lea 0x1c(%esp),%eax

804919e: 50 push %eax

804919f: e8 6c fd ff ff call 8048f10

80491a4: 83 c4 10 add $0x10,%esp

80491a7: 85 c0 test %eax,%eax

80491a9: 75 21 jne 80491cc

80491ab: 83 ec 0c sub $0xc,%esp

80491ae: 68 38 a0 04 08 push $0x804a038

80491b3: e8 a8 f5 ff ff call 8048760

80491b8: c7 04 24 60 a0 04 08 movl $0x804a060,(%esp)

80491bf: e8 9c f5 ff ff call 8048760

80491c4: e8 58 fc ff ff call 8048e21

80491c9: 83 c4 10 add $0x10,%esp

80491cc: 83 ec 0c sub $0xc,%esp

80491cf: 68 98 a0 04 08 push $0x804a098

80491d4: e8 87 f5 ff ff call 8048760

80491d9: 83 c4 7c add $0x7c,%esp

80491dc: f3 c3 repz ret

上面这些是判定字符是否相等,之后输入一些信息,并且进入函数func7。打印相关地址:

可知,需要输入字符串是“DrEvil”。

之后分析方程7:

08048dd0 :

8048dd0: 53 push %ebx

8048dd1: 83 ec 08 sub $0x8,%esp

8048dd4: 8b 54 24 10 mov 0x10(%esp),%edx

8048dd8: 8b 4c 24 14 mov 0x14(%esp),%ecx

8048ddc: 85 d2 test %edx,%edx

8048dde: 74 37 je 8048e17

8048de0: 8b 1a mov (%edx),%ebx

8048de2: 39 cb cmp %ecx,%ebx

8048de4: 7e 13 jle 8048df9

8048de6: 83 ec 08 sub $0x8,%esp

8048de9: 51 push %ecx

8048dea: ff 72 04 pushl 0x4(%edx)

8048ded: e8 de ff ff ff call 8048dd0

8048df2: 83 c4 10 add $0x10,%esp

8048df5: 01 c0 add %eax,%eax

8048df7: eb 23 jmp 8048e1c

8048df9: b8 00 00 00 00 mov $0x0,%eax

8048dfe: 39 cb cmp %ecx,%ebx

8048e00: 74 1a je 8048e1c

8048e02: 83 ec 08 sub $0x8,%esp

8048e05: 51 push %ecx

8048e06: ff 72 08 pushl 0x8(%edx)

8048e09: e8 c2 ff ff ff call 8048dd0

8048e0e: 83 c4 10 add $0x10,%esp

8048e11: 8d 44 00 01 lea 0x1(%eax,%eax,1),%eax

8048e15: eb 05 jmp 8048e1c

8048e17: b8 ff ff ff ff mov $0xffffffff,%eax

8048e1c: 83 c4 08 add $0x8,%esp

8048e1f: 5b pop %ebx

8048e20: c3 ret

由之前的参数可以看出来返回值是2。分析了一下,有参考了部分资料得到了函数:

int fun7(constint*a,int b){

if(a ==NULL)

return-1;

int ret =0;

if(*a - b >0){

ret = fun7(*(a +4), b);

ret *=2;

}

elseif(*a - b ==0)

return0;

else{

ret = fun7(*(a +8), b);

ret = ret *2+1;

}

return ret;

}

之后进行分析,当返回值为2的时候,方程的输入值为20。

计算机网络技术学习心得体会

计算机网络技术学习心得体会: 1世纪是一个信息经济时代,为适应时代的发展,作为一名当代大 学生,所受的社会压力将比任何时候的大学生都要来得沉重,因此 在校期间,我们必须尽可能的利用好学习时间,尽可能地学习更多 的知识和能力,学会创新求变,以适应社会的需要。 毕竟,不管将来是要从事什么样的相关行业,都需要掌握较为全面 的计算机知识,因为小到计算机的组装维修,大到服务器的维护与 测试,知道的更多更全面,那么对于自己以后找工作以及参加工作 帮助就越大。在知识经济时代,没有一个用人单位会傻到和知识作对,不是么? 基于这样对社会现状的认识,让我积极、认真地对于学习计算机课 程有了较为良好的心理基础。而我在第一次接触计算机就觉得很新鲜,觉得很奇妙,上网、玩游戏什么的操作都很是简单,但随着需 求的变化,自己对电脑接触的不断深入,对计算机的认识越来越深,特别是进到大学,专业要求进行电脑利用数据画图、学习了各种操 作并不简单的办公软件等等之类。 更令人恼火的是,当在制图、办公过程中,遇到一些电脑系统出错 导致文件成果丢失的令人恼火的突发问题时,我才深深地感受到自 己计算机知识是多么的欠缺,自己终归不是学计算机专业的,对计 算机知识的掌握都是零散的,对这些突发问题只能束手无策。但大 一并没有相关计算机课程,更多的时候只能自学,在第一个学年结

束后,为了自己知识的充实,也为了响应学校计算机课程的改革的 号召,我带着课程相关的两本教科书坐上了回家的火车,同时,也 开始了一段并不一昧玩乐的大学第一个暑假。 翻开主教材的第一节,我不禁有点傻眼,和我想象中的第一节不一样,它不是什么我们会、却不精通的软件的相关学习(受大一专业课教材的影响),而是在我的观念世界里地球人都能做到的----电脑开机,虽很意外可我还是认认真真的看了相关内容,也完成了实验要求。在做着这项在我看来在简单不过的电脑操作时,我想了很多以 前都不会想到的东西,简简单单一个开机键凝聚了多少代人的智慧!其实深思一下就能想到,在电脑发明的最开始的最开始,想要启动 电脑绝对不是像现在轻轻松松地按一个开机键就能做到的。那一个 简简单单的启动电脑的过程简化尚且如此,那其他由复杂而又浩瀚 如星海的程序代码及函数所构成的程序应用及电脑操作又将会是怎 样的神秘呢?我不禁对他们充满了好奇和探索之心。 其实对于计算机我可以说既熟悉又陌生,虽说经常使用,但其中好 多东西都还不懂,但经过多日的计算机自学,我对网络世界有了更 进一步的了解,可以说在学习中,我大饱眼福,大开眼界。学习中,我对网络知识有了一个系统的了解。当然不仅是学会了如何下载各 种软件、如何运用它进行下载一些网上资料的技巧、如何搜索和浏 览信息、怎样打开IE浏览器、输入搜索引擎地址、输入关键词、进入网站、浏览相关网页、文字信息的保存等等大量实用的知识。还 学会了Word(文字处理)、excel(表格管理)、powerpoint(幻灯片制作)、frontpage(网页制作)、access(数据库管理)、outlook(邮件管理)、publisher(广告设计,新闻稿,海报制作)、infopath(表单管理,动态表单填写)等等办公软件的较为深入的应用。还借此学习契

计算机网络名词解释大全

计算机网络名词解释大全 以字母次序排列的网络术语和缩写字 名词解释 10 Base T : 双绞线以太网技术名 2- 3 Swap : 指对一端用来发送,与之连接的另一端用来接收或相反的电线。 数字2和3指的是DB-25接线器的发送和接收插脚。 2B+ D Service : ISDN服务,因其包含二个标准电话连接加上一个数据连接。 3- Way han dshake Tcp三次握手:TCP和其它传输协议中使用的一种技术,用来可靠地开始或完美地结束通信。 3-Wire Circuit 三线电路:经常采用的在一对计算机之间异步串口连接 的接线方案。第一根接线用来从一台计算机到另一台计算机传输数据,第二根接线用来反方向传输数据,第三根线是公共接地线。 4 —Wire Circuit 四线电路:是经常采用的在一对计算机之间异步串口连接 的接线方案。一对接线用来在一个方向传输数据,另一对接线用来相反方向传输数据。四线电路通常用于比三线电路更长的距离。 7—Layer refere nee model 七层参考模型:由国际标准化组织颁布的早期 概念模型,给出了与提供的通信服务协同工作的一系列协议。七层协议不包含互联网协议层。 802.2 : IEEE逻辑链接控制标准。见LLC和SNAp 802.3 : IEEE以太网标准。 802.5 : IEEE令牌环标准。 access delay 访问延迟:网络接口在它能访问共享网络前的等待时间。

ackno wledgeme nt 应答:一个简短的返回消息,它通知发送者:数据已经到 达它所希望的目的地。 active docume nt 活动文档:WW文档是一段计算机程序,下载一个活动文 档后,测览器在用户计算机上运行该程序。活动文档能连续地改变显示。参阅动态文档,静态文档和URL ad aptive retra nsmisio n 适应性重复:适应性重发传输协议的一种能力, 为适应各种不同的互联网延迟不断地改变重发计时器。TCP是众所周知的使用 适应性重发的协议。 address mask 地址掩码:一个32位二进制的值,每一位对应一网络和子网络相应的IP地址。未被屏蔽的覆盖的地址位对应部分,也称为子网掩码。 address resolution 地址解析:从一个地址到一个地址的匹配,通常是从 高层地址(如IP地址)到低层地址(如以大网地址)的匹配。 anonymous FTP匿名文件传输协议(FTP : 使用登录入名anonymons和四个字guest访问FTP访问器。不是所有的FTP服务器都允许匿名FTP。 API ( Applicatio n program in terface ) |应用程序接口:计算机程序能够调 用的过程集,用来访问指定的服务。程序用来访问网络协议的过程集统称为网络API。 Applet :构成活动WW文档的计算机程序,APPlet是由诸如Java程序设计语言编写的。 AppleTalk :由Apple计算机公司开发和销售的一组网络协议。 ARP(Address Resolution Protocol ) 地址解析协议:计算机用以匹配IP地 址到硬件地址的协议。计算机调用ARP广播一个请求,目标计算机对该请求应答。 ASCII(America n Sta ndard Code for In fomatio n In tercha nge ) 美国信息交 换标准码:赋以128个字符唯一值的标准,包括上、下档的字母,数字,标点 符号。 ASN 1 ( Abstract Syn tax Notatio n.1 ) 抽象语法表示1 : 表示数据的标准。SNM协、议使用ASN.1表示对象名。

深入理解计算机系统第二版家庭作业答案

深入理解计算机系统(第二版)家庭作业第二章深入理解计算机系统二进制 2.55-2.57 略 2.58 int is_little_endian(){ int a = 1; return *((char*)&a); } 2.59 (x&0xFF) | (y&~0xFF) 2.60 unsigned replace_byte(unsigned x, unsigned char b, int i) { return (x & ~(0xFF<<(i<<3))) | (b << (i<<3)); } 2.61 A. !~x B. !x C. !~(x>>((sizeof(int)-1)<<3)) D. !(x&0xFF) 注意,英文版中C是最低字节,D是最高字节。中文版恰好反过来了。这里是按中文版来做的。 2.62 这里我感觉应该是英文版对的,int_shifts_are_arithmetic() int int_shifts_are_arithmetic(){ int x = -1; return (x>>1) == -1; } 2.63 对于sra,主要的工作是将xrsl的第w-k-1位扩展到前面的高位。 这个可以利用取反加1来实现,不过这里的加1是加1<<(w-k-1)。

如果x的第w-k-1位为0,取反加1后,前面位全为0,如果为1,取反加1后就全是1。 最后再使用相应的掩码得到结果。 对于srl,注意工作就是将前面的高位清0,即xsra & (1<<(w-k) - 1)。额外注意k==0时,不能使用1<<(w-k),于是改用2<<(w-k-1)。 int sra(int x, int k){ int xsrl = (unsigned) x >> k; int w = sizeof(int) << 3; unsigned z = 1 << (w-k-1); unsigned mask = z - 1; unsigned right = mask & xsrl; unsigned left = ~mask & (~(z&xsrl) + z); return left | right; } int srl(unsigned x, int k){ int xsra = (int) x >> k; int w = sizeof(int)*8; unsigned z = 2 << (w-k-1); return (z - 1) & xsra; } 2.64 int any_even_one(unsigned x){ return !!(x & ()); } 2.65 int even_ones(unsigned x){ x ^= (x >> 16); x ^= (x >> 8); x ^= (x >> 4); x ^= (x >> 2); x ^= (x >> 1); return !(x&1);

《计算机网络与通信》复习提纲及试题

《计算机网络与通信》复习提纲 第一部分大纲说明 一、课程性质和任务 《计算机网络与通信》是计算机科学与技术专业本科生的一门应用性较强的必修课。通过本课程的学习使学生掌握数据通信的基础知识和计算机网络的基本组成原理;计算机网络的基本概念和相关的新名词及术语;了解计算机网络的发展特点、设计技巧和方法;对常用计算机网络(如Ethernet、Internet)会进行基本的配置和使用。 二、课程教学组织 本课程的教学组织基本遵循分层模型,但不拘泥于分层结构模型;以Internet技术与高速网络技术为主线,加入网络发展的最新内容。 三、课程教学要求 学生通过本课程的学习,应能熟练掌握计算机网络的基本概念、新名词、术语及设计思路和方法技巧,理解计算机网络的最基本工作原理,掌握处理计算机网络问题的基本方法;掌握一种网络的安装、使用和简单维护,且面对不断变化的网络技术,具有跟踪、继续学习的基础与能力。 1. 掌握:要求学生能够全面、深入理解和掌握所学内容,并能够用其分析、解答与网络应用相关的问题,能够举一反三。 2. 了解:要求学生能够较好地理解和掌握,并且能够进行简单分析和判断。 第二部分考试内容和复习要求 第 1 章计算机网络概述 主要内容:计算机网络的形成与发展;计算机网络的基本概念——计算机网络定义、协议、计算机网络的组成、计算机网络的分类、网络拓扑结构、计算机网络的主要性能指标、计算机网络体系结构;计算机网络在我国的应用。 复习要求: 掌握:计算机网络的定义;协议;网络拓扑结构和网络体系结构。 掌握:计算机网络的组成和分类;计算机网络的主要性能指标及计算。 了解:计算机网络的形成与发展及在我国的应用。 ?了解:计算机网络的形成与发展过程。 ?掌握:计算机网络的定义与分类方法。 ?掌握:计算机网络的组成与结构的基本概念。 ?掌握:计算机网络拓扑构型的定义、分类与特点。 ?了解:典型的计算机网络。 ?掌握:协议、层次、接口与网络体系结构的基本概念。

计算机网络名词解释大全附简答计算

ACK 确认 ADSL 非对称数字用户线 ANSI 先进的加密标准 AP 接入点/应用程序 API 应用编程接口 ARP 地址解析协议 ARPA 美国国防部远景研究规划局(高级研究计划署)ARQ 自动重传请求 AS 自治系统/鉴别服务器 ATU 接入端接单元 ATM 异步传递方式 BGP 边界网关协议 CCITT 国际电报电话咨询委员会 CDMA 码分多址 CHAP 口令握手鉴别协议 CIDR 无分类域间路由选择 CNNIC 中国互联网络信息中心 CSMA/CD 载波监听多点接入/冲突检测 CSMA/CA 载波监听多点接入/冲突避免 DDOS 分布式拒绝服务 DES 数据加密标准

DHCP 动态主机配置协议 DNS 域名服务 EGP 外部网关协议 EIA 美国电子工业协会 FCS 帧检验序列 FDDI 光纤分布式数据接口 FDM 频分复用 FTP 文件传送协议 FIFO 先进先出 GSM 全球移动通信系统,GSM 体制HDLC 高级数据链路控制 HFC 光纤同轴混合(网) HTML 超文本标记语言 HTTP 超文本传送协议 ICMP 网际控制报文协议 IEEE (美国)电气和电子工程师学会IGMP 网际组管理协议 IGP 内部网关协议 IMAP 网际报文存取协议 IP 网际协议 ISDN 综合业务数字网

ISO 国际标准化组织 ITU 国际电信联盟 LAN 局域网 MAN 城域网 MPEG 活动图像专家组 MTU 最大传送单元 OSI/Rm 开放系统互连基本参考模型OSPF 开放最短通路优先 PCM 脉码调制 PDA 个人数字助理 PKI 公钥基础结构 PPP 点对点协议 RIP 路由信息协议 SMTP 简单邮件传送协议 SSID 服务集标识符 SSL 安全插口层,或安全套接层(协议)STDM 统计时分复用 STP 屏蔽双绞线 TCP 传输控制协议 TDM 时分复用 TIA 电信行业协会 TLD 顶级域名 TPDU 运输协议数据单元

计算机控制技术(第二版)课后习题答案(王建华主编)

计算机控制技术课后习题答案 第一章绪论 1.计算机控制系统的控制过程可归纳为以下三个步骤:P2 (1)实时数据采集:对来自测量变送装置的被控量的瞬时值进行检测和输入 (2)实时决策:对采集到的被控量进行分析和处理,并按预定的控制规律,决定将 要采取的控制策略。 (3)实时控制:根据控制决策,适时地对执行机构发出控制信号,完成控制任务。 2 .计算机控制系统是由哪几部分组成?画出方块图并说明各部分的作用。P3 答:(1)计算机控制系统是由工业控制机、过程输入输出设备和生产过程三部组成。 (2)方块图如下图1.1所示: 图1.1 计算机控制系统的组成框图 作用:①工业控制机软件由系统软件、支持软件和应用软件组成。其中系统软件 包括操作系统、引导程序、调度执行程序,它是支持软件及各种应用软件的最基 础的运行平台;支持软件用于开发应用软件;应用软件是控制和管理程序; ②过程输入输出设备是计算机与生产过程之间信息传递的纽带和桥梁。 ③生产过程包括被控对象、测量变送、执行机构、电气开关等装置。 3. 计算机控制系统的实时性、在线方式、与离线方式的含义是什么?为什么在计 算机控制系统中要考虑实时性?P2 (1)实时性是指工业控制计算机系统应该具有的能够在限定时间内对外来事件做 出反应的特性;在线方式是生产过程和计算机直接相连,并受计算机控制的方式;离线方式是生产过程不和计算机相连,并不受计算机控制,而是靠人进行联系并 作相应操作的方式。 (2)在计算机控制系统中要考虑实时性,因为根据工业生产过程出现的事件能够保 持多长的时间;该事件要求计算机在多长的时间以内必须作出反应,否则,将对

《深入理解计算机网络》配套自测题

《深入理解计算机网络》配套自测题 一、小小数制伤大脑,抓包分析不可少 1. 与二进制100101.001101等值的十进制数是(C)。 A.25.203125 B.25.34 C.37.203125 D.37.34 2. 与十进制数28.625等值的十六进制数为(B)。 A.112.10 B.1C.A C.1C.5 D.112.5 3. 与十六进制数AC.E等值的十进制数是(D)。 A.112.875 B.162.875 C.254.7 D.172.875 4. 将-33以单符号位补码形式存入8 位寄存器中,寄存器中的内容为(A)。 A. DFH B. A1H C. 5FH D. DEH 5. 原码1.0101110 所表示的真值为(A)。 A. -0.0101110 B. +0.0101110 C. -0.1010010 D. +0.1010010 6. 若用8位机器码表示十进制数–101,则补码表示的形式为(B)。 A.11100101 B.10011011 C.11010101 D.11100111 7. 将多项式214 + 211 + 24 + 21 + 20表示为十六进制数为(A)。 A.4813H B.8026H C.2410H D.EB410H 8. 设字长8位并用定点整数表示,模为28,若[X]补=11111010,则X的原码及真值X分别为(B)。 A. [X]原=00000110,X=+0000110 B. [X]原=10000110,X=-0000110 C. [X] 原=01111010 ,X=+1111010 D. [X] 原=11111010 ,X=-0000110 9. 真值 X=-127D ,则其真值及 8 位反码分别为(D)。 A. [X] 反=11111111 , X=-1000000 B. [X] 反=10000000 ,X=-1000000 C. [X] 反=11111111 , X=-1111111 D. [X] 反=10000000 , X=-1111111 10. 若[X]补=CCH,机器字长为8位,则[X/2]补=(D)。 A.34H B.66H C.98H D.E6H 二、网络基础最基本,马上试试不要等 1.最早的计算机网络通常认为是(A)。 A. ARPANET B. BITENT C. CERNET D. ETHERNET 2. 小王出差到北京了,打电话给广州公司的小张说他要公司一份文件,小张马上用邮件发给他。这体现了计算机网络的(D)功能。 A. 资源共享 B. 分布式处理 C. 网络通信 D. 数据通信 3.有关令牌环网络的描述错误的是(C)。 A.令牌只能沿着逻辑环的一个方向进行传递 B. 任何时刻只有一个站点发送数据,不会产生介质访问冲突 C.发送数据时令牌必须随着数据一起传递,并一起被目的站点接收 D. 发送的信息帧(包括数据帧和令牌帧)最终都会回到源站点,目的站点接收的是复制数据帧 4. 有关令牌总线网络的描述错误的是(C)。 A.令牌总线网络的数据传输也是沿着逻辑环进行的,但每次生成的逻辑环可能都不一样 B. 如果总线网络中某个站点出现故障,或者没有工作,可以重新建立新的逻辑环 C. 令牌总线网络发送数据时不同时发送令牌帧,源数据也不用回到源站点 D. 在令牌总线的逻辑环中每个站点都有一张“连接表”,标识了本站点及前、后站点的地址 5. 下面关于令牌环网络和令牌总线网络比较,不正确的是(B)。

计算机网络名词解释

计算机网络名词解释 1. 广域网:覆盖范围从几十千米到几千千米,可以将一个国家、地区或横跨几个洲的网络互联起来。 2. 城域网:可以满足几十千米范围内的的大量企业、机关、公司的多个局域网互联的需求,并能实现大量用户与数据、语音、图像等多种信息传输的网络。 3. 局域网:用于有限地理范围(如一栋大楼),将各种计算机、外设互联起来的网络。 4. 通信子网:由各种通信控制处理机、通信线路与其他通信线路组成,负责全网的通信处理任务。 5. 资源子网:由各种主机、外设、软件与信息资源组成,负责全网的数据处理业务,并向网络用户提供各种网络资源与网络服务。 6. 计算机网络:以能够相互共享资源的方式互连起来的自治计算机系统的集合。 7. 分布式系统:存在着一个能为用户自动管理资源的网络操作系统,由它来自动调用完成用户任务所需要的资源,整个网络系统对用户来说就像一个大的计算机系统一样。 8. 公用数据网:由邮电部门或通信公司统一组建与管理,向社会用户提供数据通信服务的网络。 9. 面向终端的远程联机系统:以单个计算机为中心的联机系统。 10. 宽带骨干网:是指传输速率达到2Gbps的骨干网。 11. 全光网:以光结点取代现有网络的电结点,并用光纤将光结点互联成网络。 12. 网络拓扑:主要是指通信子网的拓扑构型。 13. 基带传输:在数字通信信道上直接传输基带信好的方法。 14. 频带传输:利用模拟通信信道传输数字信号的方法。 15. 线路交换:两台计算机进行通信前,首先要在资源子网中建立实际的物理线路连接的方法。 16. 数据报:同一报文中的分组可以由不同的传输路径通过通信子网的方法。 17. 虚电路:同一报文中的所有分组可以通过预先在通信子网中建立的传输路径来传输的方法。 18. 单工通信:在一条通信线路中信号只能向一个方向传输的方法。19. 半双工通信:在一条通信线路中信号可以双向传送,但一个时间只能向一个方向传送的方法。 20. 全双工通信;在一条通信线路中可以同时双向传输数据的方法。 21. 数据通信:是指在不同计算机之间传送表示字母、数字、符号的二进制代码0、1比特序列的过程。 22. 媒体:一是指用以存储信息的实体,如磁盘、光盘、磁带与半导体存储器;二是指信息的载体,如数字、文字、语音、图像与图形。多媒体技术中的媒体是指后者。 23. 信号:是数据在传输过程中的电信号的表示形式。 24. 模拟信号:电话线上传送的按照声音的强弱幅度连续变化的电信号称为模拟信号。 25. 数字信号:计算机所产生的电信号是用两种不同的电平去表示0、1比特序列的电压脉冲信号,这种电信号称为数字信号。 26. 调制解调器:在数据通信中,用来完成调制解调功能的设备称为调制解调器。 27. 调制解调:如果通信信道不允许直接传输计算机所产生的数字信号,则需要在发送端将数字信号变换成模拟信号,在接收端再将模拟信号还原成数字信号,这个过程被称为调制解调。 28. 串行通信:是指将代传送的每个字符的8位二进制代码按由低位到高位的顺序依次发送的通信方式。 29. 并行通信:是指将表示一个字符的8位二进制代码同时通过8条并行的通信信道发送的通信方式。 30. 同步:是指要求通信双方在时间基准上保持一致。 31. 位同步:要求接收端根据发送端发送数据的起止时间和时钟频率,来校正自己时间基准与时钟频率,这个过程称为位同步。 32. 字符同步:是指保证收发双方正确收发字符的过程。 33. 同步传输:是

计算机控制技术与系统思考题与习题

《计算机控制技术与系统》课程 思考题与习题 第一章绪论 简述计算机控制技术发展史。 简述计算机控制系统的类型、结构和特点。 计算机控制与常规控制主要不同点在哪里 典型计算机控制系统有哪几部分组成,画出方框图。 什么叫做动态系统 对计算机控制系统的基本要求是什么 简述调节系统与跟踪系统(随动系统)的特点。 典型计算机集成制造系统(CIMS)有哪四个功能系统和两个支持系统 第二章过程通道 采样定理对于采样周期的选取有什么意义 写出采样过程的数学描述形式。 影响采样周期选择的因素主要有哪些 多路采样装置的主要作用是什么,常用采样器包括哪些 过程通道的采样周期T是否越小越好,为什么 A转换的工作方式主要有哪几种,简述其原理。 2.7A/D转换的工作方式主要有哪几种,简述其原理。 简述模入通道结构与各组成部分功能。 简述过程通道的类型和基本功能。 简述开关量通道的基本构成形式和主要作用。 简述开关量通道的抗干扰措施有哪些。 模出通道的类型主要有哪几种,各有什么特点 保持器在过程通道中的作用是什么,举例分析。 某热工过程有16点温度信号,变化范围: 150--850 C, 采用微机监测。

求解问题: 1、 若经A/D 转换后的数字量每个脉冲对应的实际温度小于等于 C , 则A/D 分辨率至少为多少才能保证该精度 2、写出A/D 转换后的数字量与被测点实际温度间关系式。 3、该处理方式零点迁移量为多少 第三章 理论基础 求下图示离散系统脉冲传递函数G(z) 已知采样系统如下图所示,求下图示离散系统脉冲传递函数G(z)和当闭环系统稳定时K 的取值范围。 分析下图所示采样系统,当采样周期T=1,开环增益K=5时的稳定性。 给定传递函数 1 10+s K ,试以10倍的转角频率为近似的截止频率m ω,求满足采样定理的采样频率s ω和采样周期T 。 证明离散系统脉冲响应的z 变换即为离散系统传递函数。 设离散系统结构如下图所示,图中D(z)为数字PID 调节器,其差分方程为 )]2()1(2)([)()]1()([)(-+--++--=k e k e k e K k e K k e k e K k u d i p

计算机网络的发展历史

计算机网络的发展历史 一、计算机网络发展的概要 随着1946年世界上第一台电子计算机问世后的十多年时间内,由于价格很昂贵,电脑数量极少。早期所谓的计算机网络主要是为了解决这一矛盾而产生的,其形式是将一台计算机经过通信线路与若干台终端直接连接,我们也可以把这种方式看做为最简单的局域网雏形。 最早的Internet,是由美国国防部高级研究计划局(ARPA)建立的。现代计算机网络的许多概念和方法,如分组交换技术都来自ARPAnet。 ARPAnet不仅进行了租用线互联的分组交换技术研究,而且做了无线、卫星网的分组交换技术研究-其结果导致了TCP/IP问世。 1977-1979年,ARPAnet推出了目前形式的TCP/IP体系结构和协议。1980 年前后,ARPAnet上的所有计算机开始了TCP/IP协议的转换工作,并以ARPAnet 为主干网建立了初期的Internet。1983年,ARPAnet的全部计算机完成了向TCP/IP的转换,并在 UNIX(BSD4.1)上实现了TCP/IP。ARPAnet在技术上最大的贡献就是TCP/IP协议的开发和应用。2个著名的科学教育网CSNET和BITNET 先后建立。1984年,美国国家科学基金会NSF规划建立了13个国家超级计算中心及国家教育科技网。随后替代了ARPANET的骨干地位。 1988年Internet开始对外开放。1991年6月,在连通Internet的计算机中,商业用户首次超过了学术界用户,这是Internet发展史上的一个里程碑,从此Internet成长速度一发不可收拾。 二、计算机网络的发展阶段 第一代:远程终端连接 时间:20世纪60年代早期 面向终端的计算机网络:主机是网络的中心和控制者,终端(键盘和显示器)分布在各处并与主机相连,用户通过本地的终端使用远程的主机。只提供终端和主机之间的通信,子网之间无法通信。 第二代:计算机网络阶段(局域网) 时间:20世纪60年代中期 多个主机互联,实现计算机和计算机之间的通信。包括:通信子网、用户资源子网。终端用户可以访问本地主机和通信子网上所有主机的软硬件资源。实现了电路交换和分组交换。 第三代:计算机网络互联阶段(广域网、Internet) 1981年国际标准化组织(ISO)制订:开放体系互联基本参考模型(OSI/RM),实现不同厂家生产的计算机之间实现互连。TCP/IP协议的诞生。

计算机网络名词解释大全

一英文名词 ACK 确认 ADSL 非对称数字用户线 ANSI 先进的加密标准 AP 接入点/应用程序 API 应用编程接口 ARP 地址解析协议 ARPA 美国国防部远景研究规划局(高级研究计划署)ARQ 自动重传请求 AS 自治系统/鉴别服务器 ATU 接入端接单元 ATM 异步传递方式 BGP 边界网关协议 CCITT 国际电报电话咨询委员会 CDMA 码分多址 CHAP 口令握手鉴别协议 CIDR 无分类域间路由选择 CNNIC 中国互联网络信息中心 CSMA/CD 载波监听多点接入/冲突检测 CSMA/CA 载波监听多点接入/冲突避免 DDOS 分布式拒绝服务 DES 数据加密标准

DHCP 动态主机配置协议 DNS 域名服务 EGP 外部网关协议 EIA 美国电子工业协会 FCS 帧检验序列 FDDI 光纤分布式数据接口 FDM 频分复用 FTP 文件传送协议 FIFO 先进先出 GSM 全球移动通信系统,GSM体制HDLC 高级数据链路控制 HFC 光纤同轴混合(网) HTML 超文本标记语言 HTTP 超文本传送协议 ICMP 网际控制报文协议 IEEE (美国)电气和电子工程师学会IGMP 网际组管理协议 IGP 内部网关协议 IMAP 网际报文存取协议 IP 网际协议 ISDN 综合业务数字网 ISO 国际标准化组织

ITU 国际电信联盟 LAN 局域网 MAN 城域网 MPEG 活动图像专家组 MTU 最大传送单元 OSI/Rm 开放系统互连基本参考模型OSPF 开放最短通路优先 PCM 脉码调制 PDA 个人数字助理 PKI 公钥基础结构 PPP 点对点协议 RIP 路由信息协议 SMTP 简单邮件传送协议 SSID 服务集标识符 SSL 安全插口层,或安全套接层(协议)STDM 统计时分复用 STP 屏蔽双绞线 TCP 传输控制协议 TDM 时分复用 TIA 电信行业协会 TLD 顶级域名 TPDU 运输协议数据单元

深入理解计算机系统lec01-intro

Computer Systems: A Programmer’s Perspective 计算机系统详解 Lecture 1 Intro February 25, 2011 Wu junmin (jmwu@https://www.doczj.com/doc/2b18464049.html,)

Outline °Course Theme °Five great realities of computer systems °Administrative Matters °Lecture topics and assignments

课程出发点 ° Abstract vs. Reality °抽象是必须的,但也应该考虑问题的实现! °其他计算机课程通常强调抽象的地方: ?抽象数据类型 ?渐进分析法 °这些抽象往往是受限的: ?特别是当计算机系统中存在一些小的缺陷 ?有必要去深入了解计算机系统中一些底层的实现 °通过了解具体的实现有助于: ?成为更有效率的程序员 -能够更有效的找出并且消除bug -能够更好的进行程序性能调优 ?为以后的计算机类“系统”级课程做好准备 -编译, 操作系统, 网络, 计算机体系结构, 嵌入式系统等等

Great Reality #1 °Int ’s 不是整数, Float ’s 不是实数°举例 ? x 2 ≥ 0? -Float ’s: 是! -Int ’s: – 40000 * 40000 --> 1600000000 – 50000 * 50000 --> ?? ? (x + y) + z = x + (y + z)? -Unsigned & Signed Int ’s: 是! -Float ’s: – (1e20 + -1e20) + 3.14 --> 3.14 – 1e20 + (-1e20 + 3.14) --> ?? -1794967296 0

计算机控制技术课后习题答案

第一章 1.计算机系统由哪些部分组成?并画出方框图。 解: 若将自动控制系统中控制器的功能用计算机或数字控制装置来实现,就构成了计算机控制系统,其基本框图如图1-1所示。因此,简单说来,计算机控制系统就是由各种各样的计算机参与控制的一类系统。 图1-1 计算机控制系统基本原理图 在计算机控制系统中,控制规律是用软件实现的,计算机执行预定的控制程序就能实现对被控参数的控制。控制器与执行机构之间是DA转换器,负责将数字信号转换成模拟信号;AD转换器则相反将传感器采集的模拟信号,转换成数字信号送给控制器。 2.计算机控制系统是怎样分类的?按功能和控制规律可分为几类? 解: 计算机控制系统与其所控制的对象、采取的控制方法密切相关。因此,计算机控制系统的分类方法很多,可以按照系统的功能、控制规律或控制方式等进行分类。 按功能及结构分类:操作指导控制系统、直接数字控制系统、监督控制系统、集散控制系统、现场总线控制系统、工业以太网控制系统、综合自动化系统。 按照控制规律分类:程序和顺序控制、比例积分微分控制(简称PID控制)、最少拍控制、复杂规律的控制、智能控制。 3.计算机控制系统的主要特点有哪些? 解: 主要有以下特点: 1.数字模拟混合的系统。在连续控制系统中,各处的信号是连续模拟信号。而在计算机控制系统中,除仍有连续模拟信号外,还有离散信号、数字信号等多种信号。因此,计算机控制系统是模拟和数字的混合系统。 2.灵活方便、适应性强。一般的模拟控制系统中,控制规律是由硬件电路实现的,控制规律越复杂,所需要的模拟电路往往越多,如果要改变控制规律,一般就必须更改硬件电路。而在计算机控制系统中,控制规律是由软件实现的,计算机执行预定的控制程序就能实现对被控参数的控制,需要改变控制规律时,一般不对硬件电路作改动,只要改变控制程序就可以了。 3.可实现复杂控制规律。计算机具有丰富的指令系统和很强的逻辑判断功能,能够实现模拟电路不能实现的复杂控制规律。 4.离散控制。在连续控制系统中,给定值与反馈值的比较是连续进行的,控制器对产生的偏差也是连续调节的。而在计算机控制系统中,计算机每隔一定时间间隔,向A/D转换器发出启动转换信号,并对连续信号进行采样获得离散时间信号,经过计算机处理后,产生的控制时间信号通过D/A将离散信号转换成连续时间信号输出,作用于被控对象。因此,计算机控制系统并不是连续控制的,而是离散控制的。

计算机网络名词解释、简答题目汇总

计算机网络名词解释、简答题目汇总第一章名词解释 这是书本上的课后习题上的: 1-26 试解释以下名词:协议栈、实体、对等层、协议数据单元、服务访问点、客户、 服务器、客户-服务器方式。 答:实体(entity) 表示任何可发送或接收信息的硬件或软件进程。协议是控制两个对等实体进行通信的规则的集合。 客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户是服务的请求方,服务器是服务的提供方。 客户服务器方式所描述的是进程之间服务和被服务的关系。 协议栈:指计算机网络体系结构采用分层模型后,每层的主要功能由对等层协议的运行来实现,因而每层可用一些主要协议来表征,几个层次画在一起很像一个栈的结构 对等层:在网络体系结构中,通信双方实现同样功能的层. 协议数据单元:对等层实体进行信息交换的数据单位. 服务访问点:在同一系统中相邻两层的实体进行交互(即交换信息)的地方.服务访问点 SAP是一个抽象的概念,它实体上就是一个逻辑接口. 2-04 试解释以下名词:数据,信号,模拟数据,模拟信号,基带信号,带通信号,数 字数据,数字信号,码元,单工通信,半双工通信,全双工通信,串行传输,并行传输。

答:数据:是运送信息的实体。 信号:则是数据的电气的或电磁的表现。 模拟数据:运送信息的模拟信号。 模拟信号:连续变化的信号。 数字信号:取值为有限的几个离散值的信号。 数字数据:取值为不连续数值的数据。 码元(code):在使用时间域(或简称为时域)的波形表示数字信号时,代表不同离散数 值的基本波形。 单工通信:即只有一个方向的通信而没有反方向的交互。 半双工通信:即通信和双方都可以发送信息,但不能双方同时发送(当然也不能同时接 收)。这种通信方式是一方发送另一方接收,过一段时间再反过来。全双工通信:即通信的双方可以同时发送和接收信息。 基带信号(即基本频带信号)——来自信源的信号。像计算机输出的代表各种文字或图 像文件的数据信号都属于基带信号。 带通信号——把基带信号经过载波调制后,把信号的频率范围搬移到较高的频段以便在 信道中传输(即仅在一段频率范围内能够通过信道)。 这些是课本中的: 一、

深入理解计算机系统LAB2

LAB1实验报告 实验目的: 使用课程知识拆除一个“Binary Bombs”来增强对程序的机器级表示、汇编语言、调试器和逆向工程等理解。 实验简介: 一个“Binary Bombs”(二进制炸弹,简称炸弹)是一个Linux可执行C程序,包含phase1~phase6共6个阶段。炸弹运行各阶段要求输入一个字符串,若输入符合程序预期,该阶段炸弹被“拆除”,否则“爆炸”。实验目标是你需要拆除尽可能多的炸弹。 运行结果: 通关密码储存在0014301-151420131.txt文件中。 成功运行结果截图: 实验中的六组密码:

PHASE1:字符串比较 本关比较简单,根据课件中的提示用GDB将最先压栈的那个字符串常量打印出来,然后将其作为密码输入,比较成功后即通关。 08048ab2 : 8048ab2: 83 ec 14 sub $0x14,%esp 8048ab5: 68 04 9f 04 08 push $0x8049f04 8048aba: ff 74 24 1c pushl 0x1c(%esp) 8048abe: e8 4d 04 00 00 call 8048f10 将地址0x8049f04中的值打印出来: 即“The future will be better tomorrow.” PHASE2:循环 在查看汇编语言的时候,会看到有调用一个read_six_number函数,猜测此题是让输入六个数字。 08048ad3 : 8048ad3: 56 push %esi 8048ad4: 53 push %ebx 8048ad5: 83 ec 2c sub $0x2c,%esp 8048ad8: 8d 44 24 10 lea 0x10(%esp),%eax 8048adc: 50 push %eax 8048add: ff 74 24 3c pushl 0x3c(%esp) 8048ae1: e8 46 05 00 00 call 804902c 8048ae6: 83 c4 10 add $0x10,%esp 8048ae9: 83 7c 24 08 01 cmpl $0x1,0x8(%esp)------→判定是否为1 8048aee: 74 1e je 8048b0e 8048af0: e8 12 05 00 00 call 8049007 8048af5: eb 17 jmp 8048b0e 8048af7: 8b 03 mov (%ebx),%eax 8048af9: 01 c0 add %eax,%eax----→进行自加,扩大两倍 8048afb: 39 43 04 cmp %eax,0x4(%ebx) 8048afe: 74 05 je 8048b05 8048b00: e8 02 05 00 00 call 8049007 8048b05: 83 c3 04 add $0x4,%ebx 8048b08: 39 f3 cmp %esi,%ebx 8048b0a: 75 eb jne 8048af7 8048b0c: eb 0a jmp 8048b18

计算机冗余容错

计算机冗余容错 fault-tolerant computer rongCUO llSUQn』l 容错计算机(fault-tol~t computer)在硬件发生故障或软件产生错误时仍能继续运行并完成其既定任务的计算机系统。容错计算机的主要设计目标是为了提高计算机系统的可靠性、可用性和可信性等性能。提高计算 ·600· 容机可靠性的方法可以分为两大类:一类是排错技术,主要是通过使用可靠性高的元器件,严格的老化筛选等方法达到尽量减少发生故障的可能性; 另一类是容错技术,主要是运用元余技术来抵消由于故障而引起的影响。所谓冗余技术,简单地说,是在正常系统运行所需的基础上加上一定数量的信息、时间或后备硬件、后备软件的方法。冗余技术是容错计算机中容错技术的基础。冗余大致上可以分为下列几种类型: (l)硬件冗余以检测或屏蔽故障为目的而添加一定硬件设备的方法; (2)软件冗余为了检测或屏蔽软件中的错误而添加一些在正常运行时不需要的软件的方法; (3)信息冗余在实现正常功能所需的信息以外,再附加一些信息的方法,例如纠错码就是信息冗余的一种形式; (4)时间冗余使用附加一定的时间来完成系统的功能,这些附加的时间主要是用在故障检测或故障屏蔽上。 最常用的硬件冗余是硬件的重复。硬件冗余一般可以分为3种类型:静态冗余(也称为被动冗余)、动态冗余(也称为主动冗余)和混合冗余。静态冗余将已发生的故障屏蔽起来,使不影响运行的结果。被动冗余主要是依靠表决机制来屏蔽发生的故障,因而这种方法不需要故障检测也不必进行系统的重新配置等就可以获得容错的效果。被动冗余技术中使用最广的是三模元余TM[R。TMR的基本概念是使用3套完全相同的硬件系统执行相同的任务,然后由1个多数表决器对这3套系统的输出进行表决以确定整个系统的输出。多数表决器的表决原则是三中取二。也就是说三模冗余系统可以容许有1个模块发生故障而不至于影响到整个系统运行的正确性。三模冗余的关键是多数表决器本身的可靠性问题。提高多数表决器可靠性的方法有多种,其中最常用的方法是多数表决器本身也使用三模冗余,即利用3个独立的多数表决器,每个多数表决器分别接受来自3个模块的输出作为它的输人,然后再分别输出。这种系统通常被称为带三重多数表决器的三模冗余系统。除了三模冗余系统外,还有多于三模的冗余,称为N模冗余。主动冗余技术与被动冗余技术相反,它是通过故障检测、故障定位及故障恢复等手段达到容错的目的。因而在主动冗余技术中不是去防止故障引发的错误,而是暴露由故障引发的错误,从而去纠正错误。主动冗余技术中

计算机控制技术课后习题答案

第一章计算机控制系统概述 习题及参考答案 1.计算机控制系统的控制过程是怎样的? 计算机控制系统的控制过程可归纳为以下三个步骤: (1)实时数据采集:对被控量的瞬时值进行检测,并输入给计算机。 (2)实时决策:对采集到的表征被控参数的状态量进行分析,并按已定的控制规律,决定下一步的控制过程。 (3)实时控制:根据决策,适时地对执行机构发出控制信号,完成控制任务。 2.实时、在线方式和离线方式的含义是什么? (1)实时:所谓“实时”,是指信号的输入、计算和输出都是在一定时间范围内完成的,即计算机对输入信息以足够快的速度进行处理,并在一定的时间内作出反应并进行控制,超出了这个时间就会失去控制时机,控制也就失去了意义。 (2)“在线”方式:在计算机控制系统中,如果生产过程设备直接与计算机连接,生产过程直接受计算机的控制,就叫做“联机”方式或“在线”方式。 (3)“离线”方式:若生产过程设备不直接与计算机相连接,其工作不直接受计算机的控制,而是通过中间记录介质,靠人进行联系并作相应操作的方式,则叫做“脱机”方式或“离线”方式。 3.微型计算机控制系统的硬件由哪几部分组成?各部分的作用是什么? 由四部分组成。

图1.1微机控制系统组成框图 (1)主机:这是微型计算机控制系统的核心,通过接口它可以向系统的各个部分发出各种命令,同时对被控对象的被控参数进行实时检测及处理。主机的主要功能是控制整个生产过程,按控制规律进行各种控制运算(如调节规律运算、最优化计算等)和操作,根据运算结果作出控制决策;对生产过程进行监督,使之处于最优工作状态;对事故进行预测和报警;编制生产技术报告,打印制表等等。 (2)输入输出通道:这是微机和生产对象之间进行信息交换的桥梁和纽带。过程输入通道把生产对象的被控参数转换成微机可以接收的数字代码。过程输出通道把微机输出的控制命令和数据,转换成可以对生产对象进行控制的信号。过程输入输出通道包括模拟量输入输出通道和数字量输入输出通道。 (3)外部设备:这是实现微机和外界进行信息交换的设备,简称外设,包括人机联系设备(操作台)、输入输出设备(磁盘驱动器、键盘、打印机、显示终端等)和外存贮器(磁盘)。其中操作台应具备显示功能,即根据操作人员的要求,能立即显示所要求的内容;还应有按钮,完成系统的启、停等功能;操作台还要保证即使操作错误也不会造成恶劣后果,即应有保护功能。 (4)检测与执行机构 a.测量变送单元:在微机控制系统中,为了收集和测量各种参数,采用了各种检测元件及变送器,其主要功能是将被检测参数的非电量转换成电量,例如热电偶把温度转换成mV信号;压力变送器可以把压力转换变为电信号,这些信号经变送器转换成统一的计算机标准电平信号(0~5V或4~20mA)后,再送入微机。 b.执行机构:要控制生产过程,必须有执行机构,它是微机控制系统中的重要部件,其功能是根据微机输出的控制信号,改变输出的角位

相关主题
文本预览
相关文档 最新文档