深入理解计算机系统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(const int*a,int b){

if(a ==NULL)

return-1;

int ret =0;

if(*a - b >0){

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

ret *=2;

}

else if(*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.冯·诺依曼计算机设计思想:依据存储程序,执行程序并实现控制。 2.早期计算机由运算器、控制器、存储器、输入设备和输出设备五大部分组成。 3.软件系统爆过两大部分:系统软件和应用软件。 4.计算机的层次结构分为:微程序或逻辑硬件、机器语言、操作系统、汇编语言、高级语言、应用语言。 5.计算机系统结构、组成与实现之间的区别与联系: ①计算机结构:也称为计算机体系结构,是一个系统在其所处环境中最高层次的概念;是对计算机系统中各机器级之间界面的划分和定义,以及对各级界面上、下的功能进行分配。 ②计算机组成:也常译为计算机组织或成为计算机原理、计算机组成原理。在计算机系统结构确定了分配给硬件子系统的功能及其概念之后,计算机组成的任务是研究硬件子系统各部分的内部结构和相互联系,以实现机器指令级的各级功能和特性。 ③计算机实现:指的是计算机组成的物理实现,主要研究个部件的物理结构,机器的制造技术和工艺等,包括处理机、主存等部件的物理结构,器件的集成度、速度和信号。器件、模块、插件、底板的划分与连接,专用器件的设计,电源、冷却、装配等技术。 6.Flynn分类法:按照计算机在执行程序时信息流的特征分为单指令单数据流计算机(SISD)、单指令多数据流计算机(SIMD)、多指令单数据流计算机(MISD)、多

指令多数据流计算机(MIMD). 7.加速比Sp=1/{(1-Fe)+Fe/Re},Fe为可改进比例,Re为部件加速比。 8.在计算机中有两种信息在流动,一种是控制流,即控制命令,由控制器产生并流向各个部件;另一种是数据流,它在计算机中被加工处理。 9.摩尔定律得以延续的理由:集成电路芯片的集成度每18个月翻一番。 10.冯·诺依曼计算机的执行过程:将要处理的问题用指令编程成程序,并将程序存放在存储器中,在控制器的控制下,从存储器中逐条取出指令并执行,通过执行程序最终解决计算机所要处理的问题。 11.数据编码的好处:用更少的数据表示更多的信息。 12.定点数:若约定小数点的位置固定不变,则成为定点数。定点数分为两种:定点整数(纯整数,小数点在最低有效数值位之后)和定点小数(纯小数,小数点最高有效数值位之前)。 13.浮点数:基数为2的数F的浮点表示为:F=M*2^E.其中M称为尾数,E称为阶码。尾数为带符号的纯小数,阶码为带符号的纯整数。 14.补码:非负数整数的补码为其原码,负数整数的补码在原码基础上取反加1. 15.n位补码表示的整数数值范围为-2^(n-1)~+(2^(n-1)-1),n位补码表示的小数数职的范围为-1~+(1-2^(-n+1))。 16.补码的特点: ①0的表示是唯一的。②变形码。③求补运算。 ④简化加减法。⑤算术或逻辑左移。⑥算术右移。 17.反码:正整数反码与原码相同。负整数反码即原码取反。 18.汉字编码分为三类:汉字输入编码、国际码和汉字内码以及汉字字模码。

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

《深入理解计算机网络》配套自测题 一、小小数制伤大脑,抓包分析不可少 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. 同步传输:是

计算机组成与系统结构书本答案

C1: 以下哪些设备不属于冯?诺伊曼体系结构计算机的五大部件?寄存器, 缓冲器 适配器的作用是保证_____用计算机系统特性所要求的形式发送或接收信息。正确答案是:I/O设备 1966年,Flynn从计算机体系结构的并行性能出发,按照_____的不同组织方式,把计算机系统的结构分为SISD、SIMD、MISD和MIMD四类。指令流, 数据流 具有相同_____的计算机,可以采用不同的_____ 。:计算机体系结构,计算机组成 冯?诺伊曼型计算机的设计思想是_____。正确答案是:存储程序并按地址顺序执行 1958年开始出现的第二代计算机,使用_____作为电子器件。晶体管 在计算机系统的层次结构中,_____采用符号语言。高级语言级, 汇编语言级 世界上第一台通用电子数字计算机ENIAC使用_____作为电子器件电子管 在计算机系统的层次结构中,属于硬件级的是_____。微程序设计级, 机器语言级 C2: 为了提高浮点数的表示精度,当尾数不为_____时,通过修改阶码并移动小数点,使尾数域的最高有效位为_____,这称为浮点数的规格化表示。0,1 在我国使用的计算机汉字操作平台中,_____字符集未收录繁体汉字。GB2312 在定点_____运算中,为了判断溢出是否发生,可采用双符号位检测法。不论溢出与否,其_____符号位始终指示正确的符号。小数,最高, 整数,最高 在定点二进制运算器中,减法运算一般通过_____来实现。补码运算的二进制加法器 在奇偶校验中,只有当数据中包含有_____个1时, 偶校验位=_____。偶数,0, 奇数,1 奇偶校验无法检测_____个错误,更无法识别错误信息的_____。偶数,位置, 偶数,内容在PC机中,若用扩展ASCII码、Unicode UCS-2和UCS-4方法表示一个字符,则三者之间的差异为:扩展ASCII码用_____位表示,Unicode UCS-2用_____位表示,Unicode UCS-4用_____位表示。8,16,32 C3: 相联存储器是以______来访问存储器的。关键字, 内容 Cache由高速的______组成。SRAM Cache存储器在产生替换时,可以采用以下替换算法:______。LFU算法, LRU算法, 随机替换 Cache的功能由______实现,因而对程序员是透明的。硬件 MOS半导体存储器中,______的外围电路简单,速度______,但其使用的器件多,集成度不高。SRAM,快 EPROM是指______。光擦可编程只读存储器 虚拟地址空间的大小实际上受到______容量的限制。辅助存储器 相联存储器是以______来访问存储器的。关键字, 内容 从CPU来看,增加Cache的目的,就是在性能上使______的平均读出时间尽可能接近Cache 的读出时间。主存, 内存 虚拟地址由______生成。编译程序 MOS半导体存储器中,______可大幅度提高集成度,但由于______操作,外围电路复杂,速度慢。DRAM,刷新 虚拟存储器可看作是一个容量非常大的______存储器,有了它,用户无需考虑所编程序在

计算机网络的发展历史

计算机网络的发展历史 一、计算机网络发展的概要 随着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 运输协议数据单元

计算机组成与系统结构课后答案版全(清华大学袁春风主编)

第 1 章习题答案 5.若有两个基准测试程序P1和P2在机器M1和M2上运行,假定M1和M2的价格分别是5000元和8000 请回答下列问题: (1)对于P1,哪台机器的速度快?快多少?对于P2呢? (2)在M1上执行P1和P2的速度分别是多少MIPS?在M2上的执行速度又各是多少?从执行速度来看,对于P2,哪台机器的速度快?快多少? (3)假定M1和M2的时钟频率各是800MHz和1.2GHz,则在M1和M2上执行P1时的平均时钟周期数CPI各是多少? (4)如果某个用户需要大量使用程序P1,并且该用户主要关心系统的响应时间而不是吞吐率,那么,该用户需要大批购进机器时,应该选择M1还是M2?为什么?(提示:从性价比上考虑)(5)如果另一个用户也需要购进大批机器,但该用户使用P1和P2一样多,主要关心的也是响应时间,那么,应该选择M1还是M2?为什么? 参考答案: (1)对于P1,M2比M1快一倍;对于P2,M1比M2快一倍。 (2)对于M1,P1的速度为:200M/10=20MIPS;P2为300k/0.003=100MIPS。 对于M2,P1的速度为:150M/5=30MIPS;P2为420k/0.006=70MIPS。 从执行速度来看,对于P2,因为100/70=1.43倍,所以M1比M2快0.43倍。 (3)在M1上执行P1时的平均时钟周期数CPI为:10×800M/(200×106)=40。 在M2上执行P1时的平均时钟周期数CPI为:5×1.2G/(150×106)=40。 (4)考虑运行P1时M1和M2的性价比,因为该用户主要关心系统的响应时间,所以性价比中的性能应考虑执行时间,其性能为执行时间的倒数。故性价比R为: R=1/(执行时间×价格) R越大说明性价比越高,也即,“执行时间×价格”的值越小,则性价比越高。 因为10×5000 > 5×8000,所以,M2的性价比高。应选择M2。 (5)P1和P2需要同等考虑,性能有多种方式:执行时间总和、算术平均、几何平均。 若用算术平均方式,则:因为(10+0.003)/2×5000 > (5+0.006)/2×8000,所以M2的性价比高,应选择M2。 若用几何平均方式,则:因为sqrt(10×0.003) ×5000 < sqrt(5×0.006) ×8000, 所以M1的性价比高,应选择M1。 6.若机器M1和M2具有相同的指令集,其时钟频率分别为1GHz和1.5GHz。在指令集中有五种不同类型的指令A~E。下表给出了在M1和M2上每类指令的平均时钟周期数CPI。

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

Computer Systems: A Programmer’s Perspective 计算机系统详解 Lecture 1 Intro February 25, 2011 Wu junmin (jmwu@https://www.360docs.net/doc/73851077.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-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

计算机组织与系统结构 (A-1 卷)

考试科目名称 计算机组织与系统结构 (A-1卷)2007——2008学年第 2 学期 教师 袁春风/窦万春考试方式:闭卷系(专业) 计算机科学与技术年级 2006班级 学号 姓名 成绩 题号一二三四五六 分数 一、填空题(本大题共15小题,每空1分,共20分) 得分 1. 二进制指令代码的符号化表示被称为汇编语言源程序。必须通过相应的翻译程序把它转 换为机器语言程序才能被计算机执行。 2. 通常用一个寄存器来存放当前执行指令的地址,MIPS结构中将该寄存器简写为PC。由于历史的原 因,PC寄存器通常被称为程序计数器(或Program Counter)。 3. 在MIPS中,分支指令的转移目标地址是由分支指令的下条指令地址加上一个位移量决定的。通常 把这种方式称为(PC)相对寻址方式。 4. 假定寄存器$s1中存放二进制信息为0000 0000 0000 0000 0000 0000 1101 1000,则在屏幕上用 16进制显示为0x 0000 00D8。若该信息是一个无符号整数,则表示的值为 216。 5. 过程调用时,涉及到调用过程和被调用过程之间的数据交换和程序切换,所以要有相应的存储空间 来存放调用参数、返回数据和返回地址等信息。这种用于过程调用的存储空间被称为堆栈Stack (或栈帧Stack Frame)。 6. 衡量CPU性能好坏的一个重要指标是CPU执行时间。它与程序包含的指令条数和每条指令的平均 时钟数以及时钟周期有关。通常用英文缩写CPI 来表示每条指令的平均时钟数。有时也用基准程序来测试处理器的性能,“基准程序”对应的英文单词是Benchmark。 7. 进行基本加/减等算术运算和与/或/非等逻辑运算的部件被称为算术逻辑部件。用英文缩写表示为 ALU。 8. 由于Cache数据是主存数据的副本,所以Cache和主存之间存在一致性问题,可以采用两种不同的 写策略来解决。这两种写策略是Write Back(或写回法/一次性写)和Write Through(或写通过法)。 9. 在流水线中,如果多条指令同时需要用到同一个功能部件,就发生了流水线冒险,会引起流水线的 阻塞。通常把这种流水线冒险称为结构(或资源冲突)冒险。

相关文档
最新文档