导图社区 计算机科学导论
计算机学科入门书-《计算机科学导论》-Forouzan 也是大学计算机专业的基础课教材
编辑于2020-07-11 16:29:03计算机科学导论
1. 绪论
2. 数字系统
3. 数据存储
4. 数据运算
算术运算
加减乘除……
移位运算
逻辑移位运算
逻辑移位
向左或向右移动一个位置
循环移位
向左(右)移动一位,最左(右)位移到最右(左)位
算术移位运算
右移
相当于保留符号位,对整数除以2
左移
相当于保留符号位,对整数乘以2
逻辑运算
或
使指定位置1
与
使指定位置0
非
异或
使指定位反转
……
5. 计算机组成
CPU
算术逻辑单元(ALU)
对数据进行逻辑、移位和算数运算
控制单元
发送到其他子系统的信号实现控制
寄存器组(快速存储单元)
数据寄存器
用来存储输入数据和运算结果
指令寄存器
从内存中逐条地取出指令,并将取出的指令存储在指令寄存器中
程序计数器
保存着当前正在执行的指令,当前指令执行完成后,计数器自动➕1,指向下一条指令的内存地址
主存储器
存储单元(每个存储单元都有唯一的标识—地址)的集合
地址空间
所有在存储器中标识的独立的地址单元总数称为地址空间
存储器类型
随机存取存储器(RAM)
SRAM(静态RAM)
用传统的触发器门电路保存数据
不需要周期性写入,价格较贵
DRAM(动态RAM)
使用电容器
电容器会漏电,需要周期性写入
只读存储器(ROM)
PROM(可编程只读存储器)
EPROM(可擦除的可编程只读存储器)
EEPROM(电可擦除的可编程只读存储器)
I/O系统
非存储设备
键盘和监视器
打印机
存储设备(辅助存储设备)
磁介质
磁盘
表面结构
每个盘面都被划分成磁道,每个磁道又分成若干个扇区。磁道间、扇区间都有间隔隔开
数据存储
随机存储
性能
寻道时间
角速度
传送时间
磁带
表面结构
分成9个磁道,一竖溜的可以存储8位信息,还有一位用作错误检测
数据存储
顺序存储设备
性能
光介质
只读光盘(CD-ROM)
制造
a.首先是使用高能红外激光在塑料涂层上刻写位模式来制造主盘。激光使位模式变成一系列的坑(有洞)和纹间表面(没有洞)。坑通常表示0,纹间表面则通常表示1。但这也只是一种规则,也可以反过来表示。另一种方法是将过渡部分(坑到洞或者洞到坑)表示1,而非过渡部分表示0。
b.然后依照主盘,做成相应的模盘。在模盘中,坑(洞)则由凸起代替。
c.溶解的聚碳酸酯树脂被注入到模盘中以产生像主盘中一样的坑,同时把一层非常薄的铝(作为一层反射表面)加到聚碳酸酯树脂上,然后在反射表面的上面还要加上一层保护漆和标签
读
CD-ROM依靠来自计算机光驱的低能激光束读信息,激光束经过有纹间表面时会被铝质的表射层反射回来。经过坑处时会被反射两次,一次是被坑的边缘反射,另外一次是被铝质表射层的边界反射,这两次反射有破坏性的影响。因为坑的深度是精确选定的,为激光束波长的1/4。换言之,装在驱动器上的感应器对于某个点是纹间表面时,应该探测到多一些的光信号,反之是坑时就少一点;这样它才可以读出记录在原始主盘上的信息。
格式
CD-ROM格式基于: a.使用汉明码的纠错技术将8位的数据块转换成14位的符号。 b.一个帧由42个符号组成(14位/符号)。 c.一个扇区是由96个帧组成(2352个位)。
速度
单倍速(1x)是153600位/秒
可刻录光盘(CD-R)
制造(与CD-ROM不同在于:)
a.不需要主盘或模盘。
b.反射层材料用金取代了铝。
c.盘片聚碳酸酯树脂上没有坑(洞),盘片上的坑和纹间表面是模拟出来的。为了模拟坑和纹间表面,在聚碳酸酯和反射层之间额外添加了类似用于相片中的某种染料。
d.由刻录机所产生的高能激光束在染料层上烧制深色的点(改变化学组成),用来模拟坑,没有被激光所照射的区域就是纹间表面。
读
格式
速度
与CD-ROM相同
可重写光盘(CD-RW)
制造(与CD-R不同于:)
a.该工艺使用了银、锢、锑和碲的合金而不是染料。这种合金材料有两种稳定的状态:晶体态(透明态)和无定型态(不透明态)。
b.驱动器使用高能激光束在合金上创建模拟的坑(由晶体态变成无定型态)。
擦除
驱动器用中等能量的激光束将坑变为纹间表面,激光束将该点从无定型态转变成晶体态
读
格式和速度
与前两个相同
数字多功能光盘(DVD)
与CD-ROM的不同
a.坑更小:直径只有0.4微米,而CD中直径为0.8微米。
b.磁道间更为紧密。
c.激光束用红激光代替了红外激光。
d.DVD使用1到2个存储层,并且可以是单面或者双面的。
使用MPEG压缩,单面的DVD可以存储133分钟的高品质视频。
子系统间的互连
CPU和存储器的连接
数据总线
每根线传送1个位的数据,线是数量取决于该字的大小
地址总线
线数取决于存储空间的大小
控制总线
线数取决于计算机所需要的控制命令总数
I/O设备的连接
I/O设备是通过被称为输入/输出控制器或接口的器件连接到总线上
控制器
SCSI
小型计算机系统接口,它提供了菊花链连接,连接端的两端必须有终结器,并且每个设备都必须要有唯一的地址
火线
IEEE标准1394规定的串行接口,俗称为火线。它是一种高速的串行接口,数据采用数据包的形式传送,数据的传输速度高达50MB/秒。它可以在一条菊花链或树型连接(只用一根线)上连接多达63个设备。它不需要SCSI控制器中那样的终结器。
USB
通用串行总线。
…………
I/O设备的寻址
I/O独立寻址
用来读/写内存的指令和用来读/写输入/输出的指令是完全不同的
I/O存储器映射寻址
CPU将输入/输出控制器中的每个寄存器都看做是内存中的某个存储字
程序执行
机器周期
取指令
在取指令阶段,控制单元命令系统将下一条要执行的指令复制到CPU的指令寄存器中。被复制指令的地址并保存在程序计数器中。复制完成后,程序计数器自动加1指向内存中的下一条指令。
译码
产生一系列系统可以执行的二进制代码
执行
译码完成后,控制单元发送任务命令到CPU的某个部件
I/O操作
程序控制输入/输出
中断控制输入/输出
直接存储器存取
不同的体系结构
CISC-复杂指令集计算机
RISC-精简指令集计算机
流水线
并行处理
SISD
单指令流,单数据流
SIMD
单指令流,多数据流
MISD
多指令流,单数据流
MIMD
多指令流,多数据流
6. 计算机网络
物理结构
连接类型
点对点
点对多点
物理拓扑
网状型
星型
总线型
环型
网络分类
局域网(LAN)
广域网(WAN)
城域网(MAN)
网络互联在一起构成了互联网,最著名的互联网是因特网
TCP/IP协议族 (例如:第3层使用第2层提供的服务,其自身为第4层提供服务)
应用层
应用层允许用户(个人或软件)访问网络
客户/服务器体系结构
客户端程序
服务器端程序
应用层地址
客户端进程通过域名服务器(DNS)询问他所需要的服务器的实际IP地址
对等体系结构
传输层
传输层负责整个消息的进程到进程的传输-建立客户和服务器计算机的传输层逻辑通信
传输层的地址(端口号)
类比:假定社区中的每个人都生活在大楼的公寓里。为给特定的人发送消息,我们需要知道大楼的地址和公寓的号码。IP地址与大楼地址相似,而端口地址与公寓号码类似。
多路复用和解多路复用
传输层为不同进程作相同的工作,他从进程中收集要发出的信息,并将到达的信息分发给进程 因此,计算机中的端口号要唯一。服务器进程使用众所周知的端口号,而客户端进程使用传输层指定的临时端口号
拥塞控制
消息在发送前存储在换从区中,如果传输层检测到网络上有拥塞,就暂缓发送,类似于红绿灯
流量控制
检查接收者接受的数据包是否过量
差错控制
传输层可以在缓冲区 (临时存储)中保留消息的副本,直到它从接收者那里接收到包无损坏到达和次序正确的确认。 如果在预期的时间内没有确认到达或有否定确认(表示数据包被损坏)到达, 那么发送者就 重新发送数据包。 为了能够检查包的次序, 传输层给每个包加上了次序号 , 给每个确认加上 了确认号。
传输层协议
UDP(用户数据报协议)
UDP完成多路复用和解多路复用(通过给数据包增加源和目的端口号) 并通过给包增加检验和进行差错控制 UDP不提供单个消息的数据包间的逻辑连接
TCP(传输控制协议)
TCp是支持传输层所有职责的协议
SCTP(流控制传输协议)
SCTP是一个新的协议,它是为了一些预期的因特网服务而设计的,如因特网电话和视频流。这个协议结合了UDP和TCP的优点。像UDP一样,SCTP适合用干音频和视频的实时传输;像TCP一样.SCT}1是供差错控制和流最控制。
网络层
网络层负责单个数据包从源主机到目的主机的发送
网络层地址
网络层使用它的路由表找到下一跳(路由器)的逻辑地址,把这个地址传递给数据链路层
路由选择
路由器选择是指确定数据包的部分或全部路径。 当一个路由器接收到一个数据包时,检查路由表,决定这个数据包到最终目的地的最佳路线
如何更新路由表? 是由路由选择协议(RIP/OSPF/BGP)完成
网络层协议
IP(因特网协议)(主协议)
辅助协议
ICMP(因特网控制消息协议)
IGMP(因特网小组管理协议)
ARP(地址解析协议)
RARP(反向地址解析协议)
数据链路层
数据链路层负责数据帧的节点到节点的发送
数据链路层地址 |(通常被称为物理地址或介质访问控制地址-MAC地址)
静态方法
设备创建具有两列的表,用于存储网络层和数据链路层地址对
动态方法
设备可以广播一个含有下一个设备IP地址的特定数据包,并用这个IP地址询问邻近节点,邻近节点返回它的数据链路层地址
差错控制和流量控制
方法和传输层相同。但是,他只在节点出发点和节点到达点间实现
物理层
帧中的每个单位被转化为电磁信号,通过物理介质(无线或电缆)传播
7. 操作系统
8. 算法
9. 程序设计语言
10. 软件工程
11. 数据结构
12. 抽象数据类型
13. 文件结构
14. 数据库
15. 数据压缩
16. 安全
17. 计算理论
18. 人工智能