计算机科学导论学习笔记个人文章

定义太广泛,没有说清楚可以处理的类型和数量

基于图灵模型的计算机:可编程数据处理器

程序用来告诉计算机对数据进行处理的指令集合输出数据依赖输入数据和程序两方面因素的结合作用1、相同的程序、不同的输入数据2、相同的输入数据、不同的程序3、相同的程序、相同的输入数据

能做任何可计算的运算

存储器:存储数据和程序算术逻辑单元:进行数字计算和逻辑运算的地方控制单元:对存储器、算术逻辑单元、输入/输出等子系统进行控制操作的单元输入/输出:输入负责从计算机外部接收输入数据和程序;输出负责将计算机处理的结果输出到计算机外部

完成某一任务的程序通过操作一系列开关或改变其配线来实现,程序及其响应数据以位模式(0和1序列)存储在内存中

一条接着一条指令按顺序执行

3大部分:计算机硬件、数据和计算机软件

基于冯·诺伊曼模型

冯·诺伊曼模型没有定义数据应如何存储在计算机中,不同类型的数据按照不同的方式以0和1序列的二进制形式存储在计算机内部

数据只能以一种形式(位模式)存储在计算机内部,在计算机外部可表现为不同形式,数据被组织成许多小的单元,再由这些小的单元组成更大的单元,有效地将数据组织成不同的实体和格式

内存中需要存放数据和程序

程序必须是有序的指令集,每条指令操作一个或多个数据项,每个程序可以是不同指令的不同组合

按照步骤解决问题的方法

机器语言→计算机语言

结构化程序的设计和编写,描述完成某一任务的应用程序,以及程序设计中所严格遵循原理和规则

有一系列指令对所有程序来说是公用的,为程序访问计算机部件提供方便的一种管理程序等

17世纪:布莱斯·帕斯卡发明加减运算计算机器Pascsline20世纪:尼克劳斯·沃思发明结构化程序设计语言Pascal17世纪后期:戈特弗里德·莱布尼茨发明能乘除运算又能加减运算的计算机器莱布尼茨之轮19世纪初期:约瑟夫-玛丽·雅卡尔发明利用存储和编程概念的机器提花织机,利用穿孔卡来控制1823年:查尔斯·巴比奇发明查分引擎进行简单数学运算和解多项式方程以及分析引擎1890年:赫尔曼·何勒里斯设计并制作有编程能力的机器,可以自动阅读、计数和排列存储在穿孔卡上的数据

所有计算机在外部进行编程ABC:实现解决线性方程的系统,完成特定任务的计算机,通过将信息进行电子编码ZI:通用的计算机MarkI:巨型计算机,使用电子部件和机械部件巨人:破译德国Enigma密码ENIAC:第一台通用的、完全电子的计算机

之前的存储单元仅存储数据,利用配线或开关进行外部编程EDVAC:第一台基于冯氏思想的计算机EDSAC:与EDVAC同时以及同类型

1950年以后基本都基于冯·诺伊曼模型

以商用计算机出现为主要特征,体积庞大,使用真空管作为电子开关,大机构

晶体管代替真空管,缩小了体积,节省了开支,中小型企业

集成电路(晶体管、导线以及其他部件做在一块单芯片上)出现,减小了成本和大小,小型计算机,软件行业诞生

微型计算机以及计算机网络出现

掌上电脑和台式电脑诞生,第二代存储媒体(CD-ROM、DVD)等改进、多媒体应用以及虚拟现实现象

随着科技发展,人们对于计算机的依赖逐渐增大

不是所有人都能拥有一台计算机或能支付起上网费用

包括依赖和社会公正,将社会分裂成两组群:以电子形式联系在一起的人和没有以电子形式联系在一起的人

通信的私密性通过网络安全来保证,费用和努力较大

盗取金钱以及病毒

algorithm(算法)dataprocessor(数据处理器)ArithmeticLogicUnit,ALU(算术逻辑单元)digitaldivide(数字化分裂)computerlanguages(计算机语言)inputdata(输入数据)controlunit(控制单元)instruction(指令)integratedcircuit(集成电路)program(程序)memory(存储器)softwareengineering(软件工程)operatingsystem(操作系统)Turingmodel(图灵模型)outputdata(输出数据)vonNeumannmodel(冯·诺伊曼模型)

数字系统(或数码系统)定义了如何用独特的符号表示一个数字,不同系统中数字的表示方法不同,分为位置化系统和非位置化系统

符号所占位置决定表示的值表示方法为:其值为:S是一套符号集;b是底(或基数),等于S符号集中的符号总数,下标表示该符号的位置,b的幂可以从一个方向由0到k-1,还可以从另一个方向由-1到-l,b的非负数幂与该数字的整数部分有关,负数幂与该数字的小数部分有关,±符号表示数字可正可负

b=10并且用10个符号表示一个数,符号集S={0,1,2,3,4,5,6,7,8,9},该系统中符号称作十进制数码或仅为数码计算机存储正负数的方式不同数字表示为:为渐变通常省略圆括号、底和正号(对于正数)

没有小数部分的整型数字数字表示为:值计算为:k为数码数量,b=10是底另一种在数字系统中显示整数的方法是使用位置量,用10的幂表示十进制数字,具体为:用数码k表示的十进制整数的最大值为:

带有小数部分的数字实数表示为:其值计算为:b=10是底,k是整数部分数码的数量,l是小数部分数码的数量,十进制小数点用于分割整数部分和小数部分

底b=2并且用两个符号来表示一个数,即S={0,1},该系统符号称为二进制数码或位(位数码)

整数表示为:其值计算为:b=2是底,k是数码的数量位置量表示为:数码k表示的二进制整数最大值为:

可带有小数部分的数字实数表示为:其值计算为:b=2是底,k是整数部分数码的数量,l是小数部分数码的数量,二进制小数点用于分割整数部分和小数部分

b=16并且用16个符号来表示一个数,字符集S={0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F},该系统中符号称为十六进制数码

可带有小数部分的数字实数表示为:其值表示为:b=16是底,k是整数部分数码的数量,l是小数部分数码的数量,十六进制小数点用于分割整数部分和小数部分

b=8并且用8个符号来表示一个数,字符集S={0,1,2,3,4,5,6,7},该系统中符号称为八进制数码

整数表示为:其值计算为:b=8是底,k是数码的数量位置量表示为:数码k表示的八进制整数的最大值为:

可带有小数部分的数字实数表示为:其值表示为:b=8是底,k是整数部分数码的数量,l是小数部分数码的数量,八进制小数点用于分割整数部分和小数部分

4种位置化系统中的数字比较

将数码乘以其在源系统中的位置量并求和便得到十进制数

需要两个过程:整数部分和小数部分

把数字从十进制数转换成其他进制前,需要知道数码的数量,通过关系可以得到整数数码的数量,N是该整数的十进制值

二进制中的4位恰好是十六进制中的1位其转换方法为:对应关系为:

二进制中的3位恰好是八进制中的1位其转换方法为:对应关系为:

使用二进制系统作为中介系统

设以为底的系统中使用k个数码,则在源系统中显示的最大数是,在目标系统中拥有的最大数是,因此≥,即≥,也就是:

每个符号有一个值,符号所占用的位置通常与值无关,每个符号的值时固定的数字表示为:其值为:

遵循特定的规则:

base(底)bit(位)binarydigit(二进制数码)decimaldigit(十进制数码)binarysystem(二进制系统)decimalsystem(十进制系统)hexadecimaldigit(十六进制数码)octalsystem(八进制系统)hexadecimalsystem(十六进制系统)placevalue(位置量)integer(整数)positionalnumbersystem(位置化数字系统)nonpositionalnumbersystem(非位置化数字系统)radix(基数)numbersystem(数字系统)real(实数)octaldigit(八进制数码)Romannumbersystem(罗马数字系统)

存储在计算机中的最小单位;是0或1

表示数据的不同类型,是一个序列,有时称为位流,通常长度为8的位模式被称为1个字节,有时用字这个术语来代表更长的位模式属于不同数据类型的数据可以以同样的模式存储于内存中

减少内存空间占用

可被当做小数点位置固定的数字:小数点固定在最右边,定点表示法用于存储整数,小数点是假定的,并不存储,用户(程序)可能将整数作为小数部分为0的实数存储,无符号和有符号整数在计算机中存储方式不同

输出设备译解内存中位模式的位串并转换为一个十进制的无符号整数

n为存储单元中,可以存储的无符号整数范围为:

提高存储效率,不用存储整数符号,所有分配的位单元都可用来存储数字

用于在计算机中存储部分实数使用第一位(最高位)来表示符号:0表示正数、1表示复数,剩余的位表示这个数的绝对值,最大正数值时无符号最大数的一半,n位单元可存储的数字范围为:符号加绝对值表示法中有两个0,+0和-0

有正负两种溢出情况

用于存储部分实数以及采集模拟信号

存储位于n位存储单元中的有符号整数,首位(最左位)决定符号,最左位为0,表示该整数非负,最左位为1,表示该整数为负数

反码(取一个整数的反码)反转各个位补码(取一个整数的补码)首先,从右边复制位,直到有1被赋值;接着,反转其余的位对该数进行1次反码运算再加上1

二进制补码表示法仅有一个0

用于存储整数的标准表示法

带有整数部分和小数部分的数字

维持正确度或精度,允许小数点浮动,可在小数点左右有不同数量的数码,极大地增加了可存储的实数范围,由3部分组成:符号、位移量和定点数符号可正可负,位移量显示小数点应该左右移动构成实际数字的位移量,定点数是小数点位置固定的定点表示法用于表示很小或很大的十进制数,在称作科学记数法的表示法中,定点部分在小数点左边只有1个数码而且位移量是10的幂次

科学记数法(用于十进制)和浮点表示法(用于二进制)都在小数点左边使用了唯一的非零数码,称为规范化

二进制规范化后,只存储了符号、指数和尾数(小数点右边的位)三部分小数点和定点部分左边的位1并没有存储,是隐含的

用一个二进制位来存储(0或1)

小数点移动的位数,采用余码表示法

小数点右边的二进制数,定义了该数的精度,作为无符号整数存储,在尾数中如果在数字的右边插入多余的零,这个值会改变尾数是带符号的小数部分,像以符号加绝对值表示法存储的整数那样对待

指数是有符号的数,正的和负的整数都可以作为无符号数存储,为表示正的或负的整数,将正整数(称为一个偏移量)添加到每个数字中,将它们统一移到非负的一边,余码系统中所有整数都是正数

定义了几种存储浮点数的标准,最常用的两个为:单精度和双精度单精度用32位来存储一个浮点表示法的实数,符号占用1位(0为正,1为负),指数占用8位(使用偏移量127),尾数使用23位(无符号数)双精度用64位来存储一个浮点表示法的实数,符号位占用1位(0为正,1为负),指数占用11位(使用偏移量1023),尾数使用52位

符号、指数和尾数都设置为0

原始数字与还原后数字的差异

文本的片段是用来表示该语言中某个意思的一系列符号符号数量和位模式长度的关系

不同位模式集合被设计用于表示文本符号,每个集合称为代码,表示符号的过程称为编码常用代码

美国信息交换标准码,使用7位表示每个符号,可定义128种不同符号

使用32位,表示最大达4294967296个符号,代码不同部分被分配用于表示来自世界上不同语言的符号

不能记录一段间隔音频信号的所有值,可以记录其中一些值,选择数量有限的点来度量它们的值并记录采样率样本数量依赖于模拟信号中变化的最大数量

将样本的值截取为最接近的整数值的一种过程

量化的样本值编码为位模式一些用无符号整数表示,一些用有符号整数表示,可以使用符号加绝对值来表示

每个样本系统分配多少位,有时称为位深度

每样本位数量为B,每秒样本数为S,每秒需要音频存储S×B位,也称为位率R

当今主流标准是MP3,是一种有损压缩法

两种技术:光栅图或矢量图

图像是模拟数据,数据密度(色彩)因空间而变化,采样被称作扫描,样本称为像素

每英寸的方块或线条记录的像素数,扫描率称为解析度

表现像素的位的数量,依赖于像素颜色是如何由不同编码技术来处理

像素编码的技术之一,用24位来编码,每个三原色(RGB)表示为8位,每种颜色都由0到255之间的三位数字表示

每个应用程序从大的色彩集中选择一些颜色并对其建立索引,对选中的颜色赋值

JPEG(联合图像专家组)使用真彩色模式,通过压缩图像来减少位数,GIF(图像交换格式)使用索引色模式

不存储每个图像的位模式,一个图像被分解成几何图形的组合,每个几何图形由数学公式表达

应用于模式中的一个二进制位,或在两个模式中相应的两个二进制位的相同基本运算,可以在位层次上和模式层次上定义逻辑运算

应用布尔代数定义的运算操纵二进制位4中位层次上的运算:非(NOT)、与(AND)、或(OR)和异或(XOR)

一元操作符,输入0时输出1;输入1时输出0

二元运算符,如果两个输入都是1,则输出1;否则,输出0,只要输入中有一位是0,则不需要检查其他输入,结果必为0

二元运算符,如果两个输入都是0,则输出0;否则,输出1,只要输入中有一位是1,则不需要检查其他输入,结果必为1,有时被称为包含或运算符

二元运算符,如果两个输入相同,则输出0;否则,输出1,如果其中一个输入为1,结果就是与其他输入相应位相反xXOR1等价于NOTxxXOR0等价于x

对整个模式求反

把一个位模式的指定为复位(置0),利用第二个输入(掩码)来实现,掩码设置为:将需要复位的位置0其余位1,使模式与掩码进行与操作

把一个位模式的指定为置位(置1),利用第二个输入(掩码)来实现,掩码设置为:将需要置位的位置1其余位0,使模式与掩码进行或操作

把一个位模式的指定为反转,利用第二个输入(掩码)来实现,掩码设置为:将需要反转的位置1其余位0,使模式与掩码进行异或操作

移动模式中的位,改变位的位置,可分为逻辑移位运算和算数以为运算

应用于不带符号的数的模式

逻辑右移把每一位向右移动一个位置,最右位被丢弃,最左位填0;逻辑左移把每一位向左移动一个位置,最左位被丢弃,最右位填0

对位进行移位,没有位丢弃或增加,循环右移把每一位向右移动一个位置,最右位被回环,称、成为最左位;循环左移把每一位向左移动一个位置,最左位被回环,成为最右位

假定用二进制补码格式来表示带符号的整数算术右移相当于对整数除以2;算术左移相当于对整数乘以2,不改变符号位算术右移保留符号位,同时复制,放入相邻的右边的位中;算术左移丢弃符号位,接受它右边的位作为符号位,如果新的符号位与原先相同,则运算成功,否则发生上溢或下溢

加、减、乘、除等

A-B=A+(B的补码)

计算机组成部件分为三大类(或子系统):中央处理单元(CPU)、主存储器和输入/输出子系统

用于数据的运算,大多数体系结构中有三个组成部分:算术逻辑单元(ALU)、控制单元和寄存器组(快速存储单元)

对数据进行逻辑、移位和算术运算

与、或、非和异或,输入和输出都是二进制位模式

包括逻辑移位运算和算术移位运算逻辑移位运算:对二进制位模式进行向左或右的移位逻辑算术移位运算:应用于整数,用2除或乘一个整数

临时存放数据的高速独立的存储单元

保存运算的中间结果,被命名位R1到Rn

存放内存中取出的指令

通用寄存器,保存当前正在执行的指令

控制各个子系统的操作,通过从控制单元发送到其他子系统的信号来进行控制

存储单元的集合,每个存储单元都有一个唯一的标识地址,数据以称为字的位组的形式在内存中传入和传出,字可以是8位、16位、32位,甚至有的时候是64位,8位一般称为一个字节

所有在存储器中标识的独立的地址单元的总数称为地址空间

作为位模式的地址,以位模式存储数地址用无符号整数表示(不用负的地址),起始地址通常是0000000000000000(地址0),最后一个地址通常是1111111111111111(65535),通常如果一个计算机有N个字的存储空间,就需要有log2(N)位的无符号整数确定每一个存储单元

RAM和ROM

计算机主存的主要组成部分,可以使用存储单元地址来存取一个数据项,不需要存取位于它前面的所有数据项,具有易失性,当计算机断电后,存储在RAM中的信息将被删除,RAM可以分为SRAM和DRAM

用传统的触发器门电路(有0和1两个状态的门)来保存数据,通电时数据始终存在,不需要刷新,速度快,价格贵

使用电容器,电容器充电时,状态为1,放电时,状态为0,内存单元需要周期性刷新,速度慢,价格便宜

由制造商写入,用户只能读不能写,特点时非易失性,电源断电后数据不会丢失,用来存储关机后也不能丢失的程序或数据

发货时时空白的,可以借助特殊的设备将程序存储在上面,程序存储后不能重写,用户用它来存储一些特定的程序

可对他编程,但需要用一种可以发出紫外光的特殊一起来对其进行擦写,需要拆下来擦除在重新安装

编程和擦除用电子脉冲,无需从计算机上拆下来

分为非存储设备和存储设备

使CPU/内存可以和外界通信,但不能存储信息

键盘:输入功能监视器:显示输出并同时响应键盘输入

产生永久记录的输出设备

分为磁介质和光介质两种

使用磁性存储位数据,有磁性表示1,无磁性表示0

由一张一张的磁片叠加而成,由薄磁膜封装起来,信息通过盘上每一个磁片的读/写磁头读写磁介质表面进行存取

大小不一,最普通的一种用厚磁膜封装的半英寸塑料磁带,通过磁头读写磁带上的数据

使用光(激光)技术存取数据,设备有诸如:只读光盘(CD-ROM)、可刻录光盘(CD-R)、可重写光盘(CD-RW)、数字多功能光盘(DVD)

使用与CD(光盘)相同的技术,区别是增强程度不同,CD-ROM更健壮,纠错能力强

可以让用户自己制作一张或更多盘片,只需要一次写入信息就可以多次读取

通常由称为总线的三组线路连接在一起,分别是:数据总线、地址总线和控制总线

由多根线组成,每根线每次传送1个位的数据,线的数量取决于该字的大小

允许访问存储器的某个字,线数取决于存储空间的大小

负责在中央处理器和内存之间传送信息,线数取决于计算机所需的控制命令的总数

通过输入/输出控制器或接口连接到总线

清除了输入/输出设备与CPU及内存在本质上的障碍,并行串行都可以,串行只有一根数据线连接到设备上,并行有数根数据线连接到设备上,使一次能同时传多个位

一个8、16或32线的并行接口,提供了菊花链连接,连接链的两端都必须有终结器,每个设备都必须有唯一地址(目标ID)

高速的串行接口,采用数据包的形式传送数据,传输速度高达50MB/秒,可在一条菊花链或树型连接上连接多达63个设备

串行控制器,用以连接与计算机相连的一些低速和高速的设备,多个设备可以被连接到一个USB控制器上,这个控制器称为根集线器,控制器能感知到树中其他集线器的存在,而其他集线器是被动的设备,只是简单地传送数据热交换:设备可以不关闭计算机而很容易被移除或连接到树中使用4根线的电缆,两根线(+5伏和地)用来为像键盘和鼠标这样的低压设备提供电压,高压设备要连接到电源上,集线器从总线获取电压,为低压设备提供电压;其他两根线(缠绕在一起,减小噪声)来传送数据、地址和控制信号,使用两种不同的连接头:A和B,A(下游连接器)是矩形的,用来连接到USB控制器或集线器,连接头B(上游连接器)是接近正方形的,用来连接到设备以包的形式传输数据,每个包含有:地址部分(设备标识)、控制部分、要被传送到其他设备的数据部分,只有具有数据包中定义的地址的那些设备会接受

读/写内存的指令和读/写输入/输出的指令完全不同,有专门的指令完成对输入/输出设备的读写操作、测试和控制,每个输入/输出设备有自己的地址

将输入/输出控制器中的每个寄存器看作内存中的某个存储字,没有单独的指令用来表示从内存或从输入/输出设备传送数据,有一个较小的指令集,所有对内存的操作指令都适用于输入/输出设备

利用重复的机器周期执行程序中指令,一步一条,从开始到结束,简化的周期包括:取指令、译码和执行

控制单元命令系统将下一条要执行的指令复制到CPU的指令寄存器中,被复制指令的地址保存在程序计数器中,复制完成后,程序计数器自动加1指向内存中的下一条指令

当指令置于指令寄存器后,指令将由控制单元负责译码,结果是产生一系列系统可以执行的二进制代码

译码后,控制单元发送任务命令到CPU的某个部件

CPU与输入/输出设备同步的方法:程序控制输入/输出、中断控制输入/输出、直接存储器存取(DirectMemoryAccess,DMA)

CPU等待I/O设备,数据传输通过程序中指令实现,当CPU遇到一条I/O指令就停止工作直到数据传输完毕,CPU不时地查询I/O驱动器状态;如果设备做好了传输准备,数据会被传送到CPU;否则,CPU继续查询I/O驱动器状态直到I/O驱动器准备好为止,数据在输入操作后被传送到内存,在输出操作前从内存取出

CPU告知I/O设备即将开始传输,不需要不停地查询I/O设备状态,I/O准备好时,中断CPU,在这个过程中,CPU还可以做其他事

用于在高速I/O设备间传输大量的数据块,需要一个DMA控制器来承担CPU的一些功能,DMA控制器中有寄存器,可在内存传输前后保存数据块CPU发送信息给DMA,包括传输类型、内存单元的起始地址以及传输的字节数,之后CPU可以做其他的事,准备好传输数据时,由DMA控制器通知CPU需要获取总线使用权,CPU停止总线并转交给DMA控制器使用,传输完成后,CPU继续进行正常操作,CPU只有在DMA和内存间传输数据时才空闲

使用大量的指令,包括复杂指令,程序设计容易,CPU和控制单元的电路复杂,复杂指令被转化成一系列简单操作然后由CPU执行,需要一个被称为微内存的特殊内存,负责保存机器集中的每个复杂指令的一系列操作微程序设计:使用微操作的程序设计

使用少量指令完成最少的简单操作,费时,复杂指令可以用简单指令模拟

可以拥有具有多个控制单元、多个算术逻辑单元和多个内存单元的计算机,能改善吞吐量

一个控制单元、一个算术逻辑单元和一个内存单元,指令顺序执行,每条指令可以存取数据流中一个或多个数据项

一个控制单元、多个处理单元和一个内存单元,处理器单元从控制单元接收相同指令,在不同数据项操作

多个指令流的多个指令作用于相同的数据项的体系结构,未被实现

多个指令流的多个指令作用于多个数据流,每条指令作用于一个数据项

三个组成部分:CPU、存储器和输入/输出子系统

三部分:数据寄存器、算术逻辑单元(ALU)和控制单元

具有电路,控制ALU的操作、对内存的存取和对I/O子系统的存取,有两个专用寄存器:程序计数器(PC、8位)和指令寄存器(IR、16位)

有256个16位的存储单元,既有数据又有程序指令,前64个存储单元被专用于程序指令,任何程序的程序指令都存储在连续的内存单元中

由一个键盘和一台监视器组成

具有16条指令集合的能力,指令由操作码和操作数两部分构成,操作码指明了在操作数上执行的操作的类型,每条指令由16位组成,被分成4个4位的域,最左边的域有操作码,其他3个域含有操作数或操作数的地址

三个阶段结束后,控制单元开始新的周期,处理过程一直继续直到CPU遇到HALT指令

计算:C=A+B

把程序和数据存储在内存中,从内存单元(00)16到(04)16存储5行程序

每条指令使用一个指令周期,需要5个指令周期

第一个周期开始时,PC指向程序的第一条指令,存放在内存单元(00)16中

PC指向程序的第二条指令,在内存单元(01)16中

PC指向程序的第三条指令,在内存单元(02)16中

PC指向程序的第四条指令,在内存单元(03)16中

PC指向程序的第五条指令,在内存单元(04)16中

网络是硬件和软件的组合,将数据从一个地方发送到另一个地方,硬件把信号从网络中一点传送到另一点的物理设备,软件由指令组成

网络在物理上的布置方式,是所有链路和设备(节点)间关系的几何表示四种可能的基本结构为:网状型、星型、总线型和环型星型拓扑:每个设备有专用的点对点链路,只与通常被称为集线器的中央控制器相连总线拓扑:使用多点链路,一根长电缆(总线)起骨干作用,把网络所有设备连接在一起,节点使用分支线和连接头(连接器)与总线相连环型拓扑:每个设备有专用的点对点链路,只与两边的设备相连,环中每个设备连接一个中继器信号:以一个方向沿着环从一个设备传输到另一个设备

为个人计算机或工作站间的资源共享而设计,共享的资源包括硬件、软件或数据大小可能由每个软件拷贝的许可用户数决定,或由访问操作系统的许可用户数决定

提供长距离的数据、图像、音频和视频信息的传输

大小介于LAN和WAN之间,为需要高速连接且终端点分布在一个城市或城市的一部分客户服务

两个或多个网络连接在一起,是一组连接在一起的通信设备

由成千上万个相互连接的网络组成

原始为4层:主机到网络层(或链路层)、互联网层(网络层)、传输层和应用层,当今的TCP/IP在最后多了一层物理层

允许用于(人或软件)访问网络,负责向用户提供服务

运行服务器程序的计算机称为服务器,运行客户端程序的计算机称为客户客户端程序和服务端程序间的通信称为进程到进程的通信

帮助客户找到服务器计算机的实际地址,网络中每台计算机有一个逻辑地址(IP地址),服务器应用层地址能帮助客户端找到服务器计算机的IP地址

负责整个消息的进程到进程的传输,建立客户和服务器计算机的传输层的逻辑通信,负责客户和服务器进程间的消息的逻辑传输

表示服务器进程

传输层的一个职责,为不同的进程做相同的工作,从进程中收集要发出的信息,并将到达的信息分发给进程,客户端进程使用传输层指定的临时端口号

传输层负责实现,消息在发送前存储在缓冲区中,如果传输层检测到网络拥塞,就暂缓发送

发送端的传输层监控接收端的传输层,检查接收者接收到的数据包是否过量

确保消息被目的传输层正确接收,在缓冲区(临时存储)中保留消息的副本,直到从接收者那里接收到包无损坏到达和次序正确的确认

完成多路复用和解多路复用,通过给包增加校验和检验差错控制,如果包损坏就丢弃该包,不通知发送者重新发送,传送更少的额外信息,是无连接协议,缺乏序号,每个包都是一个单独的实体

使用序号、确认号和校验和,具有多路复用、解多路复用、流量控制、拥塞控制和差错控制,是面向连接的协议,序号的使用维持了连接,数据包错误时,会重新发送,不适合音频和视频的实时传输

为一些预期的因特网服务而设计

负责源到目的地(计算机到计算机或主机到主机)的数据包发送,可能跨多个网络(链路),保证每个数据包从源点到最终目的地,负责单个数据包从源主机到目的主机的发送

使用路由表找到下一跳(路由器)的逻辑地址,把这个地址传给数据链路层,使用数据链路层需要的这个逻辑地址来找到下一个路由器的数据链路层地址

确定数据包的部分或全部路径,路由基于目的地之和可用的最佳路径来选择,当路由器接收到数据包时,检查路由表,决定这个数据包到最终目的地的最佳路线,路由表提供了下一路由器的IP地址,当数据包到达下一路由器时,下一路由器在做出新的决定,路由选择协议主要有:RIP、OSPF和BGP

IPv4负责从源计算机到目的计算机的数据包发送,是32位的IP地址标识,用点分十进制记法表示,把32位地址分解成4个8位的部分,每个部分写成0~255的十进制数,用三个点来隔开,可定义2^32个不同设备

因特网控制消息协议(ICMP):报告一定数目的差错给源计算机,检查因特网节点的状态因特网小组管理协议(IGMP):增加IP的多播能力IP本质是单播传输的协议同时还有地址解析协议(ARP)和反向地址解析协议(RARP)

从一个节点到另一个节点传输数据,用数据帧封装数据包

一个设备可以静态或动态地找到另一个设备的数据链路层地址静态方法:创建具有两列的表,用于存储网络层和数据链路层地址对动态方法:设备广播一个含有下一个设备IP地址的特定数据包,并用这个IP地址询问邻近节点,邻近节点返回它的数据链路层地址以太网协议使用48位地址,通常被写成十六进制格式(分成6部分,每部分两位十六进制数)数据链路层地址常被称为物理地址或介质访问控制(MAC)地址

从头至尾检查差错

完成在物理介质上传输二进制流所需要的功能,负责组成帧的单个二进制位从一个节点到另一个节点的传送,传送的单元是二进制位,帧中每个位被转化成电磁信号,通过物理介质传播,无需地址,传播方式为广播

为用户提供服务

两个实体间的信息交换,接收者不能是相应的服务器,消息传送代理(MTA)的客户端安装在用户计算机上,服务器安装在邮件服务器上,完成MTA客户端和服务端工作的应用程序称为简单邮件传输协议(SMTP),取消息使用消息访问代理(MAA),MAA客户端安装在用户计算机,服务器安装在邮件服务器上MTA客户端是推入程序,客户端推入(上载)消息MAA客户端是拉出程序,客户端拉出(下载)消息

客户端POP软件安装在接收者的计算机,服务器POP软件安装在电子邮件服务器上不允许用户在服务器上组织电子邮件用户在服务器上不能有不同的文件夹不允许用户在下载邮件前检查其内容

由本地部分和域名组成,中间用@符号隔开

赋予IP地址的一个名字,一个组织经常选择一个或多个主机来接收和发送电子邮件,赋予每个邮件服务器的名字(域名)来自于成为域名系统(DNS)的通用命名系统

用于从一台计算机拷贝文件到另一计算机在主机间建立两个连接:

FTP客户端由三部分组成:用户接口、客户端控制进程和客户端数据传输进程FTP服务端由两部分组成:服务器控制进程和服务器传输数据进程控制连接建立在控制进程间,数据连接建立在数据传世进程间两个FTP连接使用不同的策略和不同的端口号

连接分布在世界各地信息的知识库,是一种分布式客户/服务器服务,WWW提供的服务分布在许多地方,称为Web站点

包括三个部件:浏览器、Web服务器和超文本传输协议(HTTP)

由三部分构成:控制器、客户端程序和解释器控制器接收输入,空户端程序存取文档,解释器处理在因特网上使用的语言

存储所有属于Web站点的页面

存取万维网中数据的协议,使用纯文本、超文本、音频、视频等形式传输数据,被称为超文本传输协议因为效率

统一资源定位符(URL):一种用于指定因特网上任何类型的信息的标准URL定义了四件事:方法、主机、端口号和路径方法:存取文档使用的协议主机:信息所在的计算机端口号:服务器的端口号,被插在主机和路径之间,需要使用分号将它和主机名隔开路径:信息所在文件路径名,路径本身可以含有斜杠

WWW文档可分为三类:静态、动态和活动静态文档:内容固定,被创建、存储在服务器上,客户端只能得到文档副本

用于创建Web页面,允许文件本身中嵌入格式化指令,指令包含在文本中,任何浏览器都能读指令,并按浏览器运行其上指定计算机来格式化文本Web页面由两部分组成:头和体头包含页面的标题和浏览器要是用的其他参数页面实际内容在体部分,包含文本和标签,文本是包含在页面的实际信息,标签定义文档的外观图像标签定义了要存取的图像的地址(URL),制定了存取后图像应如何被插入超链接标签用来把文档连接在一起,任何项都可以通过称为锚的机制来指向另一个文档,使用和标签来定义

标签可以用来定义两个标签间文本的内容(类型)标签定义类型,文本定义值

任何只要浏览器请求文档的时刻,Web服务器就会创建动态文档,新文档是为每次请求创建的,动态文档的内容可以是随请求而变化的

创建和处理动态文档的技术,定义如何编写动态文档、如何将数据输入程序、如何使用输出结果的一种标准

最常见的有:使用Perl语言的超文本预处理程序(PHP)使用Java作为脚本语言的Java服务器页面(JSP)使用VisualBasic语言作为脚本语言的微软产品活动服务器页面(ASP)在HTML中嵌入SQL数据库查询的ColdFusion

在客户端运行程序和脚本的应用

创建活动文档的一种方式,使用Java编写,保存在服务器,编译好而准备运行,文档是字节编码(二进制)格式,客户端进程(浏览器)创建小程序的一个实例两种方法运行小程序:

文档的活动部分较小

提供两组或多组参与者间的交流,或一组参与者间(桌面视频会议)的交流

允许一组用户讨论感兴趣的共同话题,有两个服务器程序在服务器上运行:订阅者服务器和邮件服务器

订阅服务器接受组的成员资格,用户给服务器发送一个包含SUBSCRIBE请求的电子邮件,被订阅者服务器扫描,如果允许,那么用户被注册,通过返回电子邮件告诉用户注册情况,典型的订阅命令为:SUBSCRIBEmailer-server-e-mail-addressuser-e-mail-address

订阅后,用户可以向组发送标有邮件服务器地址的电子邮件

用户向订阅者服务器发送UNSUBSCRIBE命令,典型的取消命令为:UNSUBSCRIBEmailer-server-e-mail-addressuser-e-mail-address

双方或多方交换文本、音频和视频

设计目标:

计算机被加电时,CPU计数器被设置为自举程序的第一条指令,并执行程序中的指令,把操作系统本身(需要启动计算机的那部分)装入RAM内存,装入完成后,CPU中程序计数器被设置为RAM中操作系统的第一条指令

用穿孔卡片进行输入数据,用行式打印机输出结果,用磁带设备作为辅助存储介质,每个运行的程序叫做一个作业,保证计算机所有资源被从一个作业转换到另一个作业

单用户操作系统,例如:DOS

在一个计算机中安装多个CPU,每个CPU可以处理一个程序或程序的一部分

程序可以在一台计算机上运行一部分而在另一台计算机上运行另一部分

接收用户(进程)的输入并向操作系统解释这些请求的程序,一些操作系统也称为命令解释程序或窗口

分为单道程序和多道程序两大类

大多数内存用来装在单一的程序(数据作为程序的一部分),仅一小部分装在操作系统,运行结束后,程序区域被其他程序取代

同一时刻可以装入多个程序并且能够同时被执行,CPU轮流服务非交换范畴:程序在运行期间始终驻留在内存中交换范畴:程序可以在内存和硬盘间多次交换数据

内存被分为不定长的及各分区,每个部分或分区保存一个程序,交替服务,一个程序开始,执行一些指令,直到有输入/输出操作或分配给程序的时限到达为止

内存被分成大小相等的若干部分,称为帧,程序被分成大小相等的部分,称为页,页和帧的大小通常一样,并且与系统用于从存储设备中提取信息的块大小相等,程序在内存中可以不连续,连续的页可以占用不连续的帧

程序被分成页,页可以依次载入内存、运行,被另一个页代替,内存可以同时载入多个程序的页,同一个程序的连续页可以不载入同一个帧,一个页可以载入任何一个空闲帧

程序按程序员角度划分成段,可被来自同一程序或其他程序的模块代替

内存分为多个帧,一个模块分为多个页,依次装入内存运行

程序运行时,一部分程序驻留在内存中,一部分放在硬盘上,实行请求分页调度、请求分段调度或两种都有

由程序员编写的一组稳定的指令,存在硬盘或磁带上,可能不会成为作业

从一个程序被选中执行,到其运行结束并再次成为一个程序的过程中,该程序称为作业,不是所有程序都是作业,但作业都是程序

一个执行中的程序,在内存中运行的作业,每个进程都是作业,但作业未必是进程

显示每个实体的不同状态

讲一个作业或进程从一个状态改变为另一个状态,进程管理器使用两个调度器:作业调度器和进程调度器

将一个作业从保持状态转入就绪状态,或从运行状态转入终止状态,从作业中创建一个进程和终止一个进程

讲一个进程从一个状态转入另一个状态

一些操作系统使用其他类型的调度器使进程之间转换更为有效

资源可以被多个用户(进程)同时使用,会产生两个问题状态:死锁和饿死

发生在操作系统对进程分配资源有太多限制的时候

负责访问输入/输出设备

由四个主要部分构成:内核、命令解释器、一组标准工具和应用程序

UNIX系统的核心,包含操作系统做基本的部分:内存管理、进程管理、设备管理和文件管理

对用户最可见的部分,接收和解释用户输入的命令,需要请求内核运行

UNIX标准程序,为用户提供支持过程,常用的三个工具为:文本编辑器、搜索程序和排序程序

由系统管理员、专职程序员或用户编写,提供对系统的扩展能力

支持套接字接口、协议驱动和网络设备驱动三层

提供了传统上为UNIX定义的安全特性

NT使用分层体系结构

算法是一种逐步解决问题或完成任务的方法

顺序结构、判断和循环

算法的图形表示法,只显示算法从开始到结束的整个流程

算法必须是一组定义完好并且排列有序的指令集合

算法每一步都必须有清晰的定义

算法必须产生结果,否则算法没有意义,结果可以使被调用的算法返回的数据或其他结果

算法必须能够终止(停机)

通过判断结构找到两个数中的较大(较小)值,并把这个结构放在循环中

数字列表分为两个子序列:已排序和未排序的,找到未排序子列表中最小的元素并把它和未排序数据中第一个元素进行交换,通过每次选择和交换,这样每次排序列表中将增加一个元素而未排序列表中将减少一个元素,每次把一个元素从未排序列表移到已排序列表就完成了一次分类扫描,一个含有n个元素的列表需要n-1次扫描完成数据的重新排列,使用两重循环

数字列表分为两个子序列:已排序和未排序的,未排序的子列表中,最小的元素通过冒泡的方法选出来并移到已排序的子序列中,含有n个元素的列表需要n-1次扫描完成数据的重新排列,使用两重循环

数字列表分为两个子序列:已排序和未排序的,每次扫描中,未排序子列表的第一个元素被取出,转换到已排序的子列表中,并插入到合适的位置,含有n个元素的列表需要n-1次扫描完成数据的重新排列,使用两重循环

根据需要排序的数据类型来进行排序算法的选择

在列表中确定目标所在位置的算法

用于查找无序的列表,可以用来查找较小的列表或不常用的列表,从表头开始查找,当找到目标元素或确信查找目标不在列表中时,查找过程结束

用于查找有序的列表,需要使用三个引用:first、mid和last,每次需要计算mid,并将目标与mid相比较,直到目标等于mid对应的值或first大于last

将算法分成几个单元子算法至少有两个优点:

结构图:是一种编程工具,一种高层设计工具,显示算法中不同模块之间的关系,一般在设计阶段使用

算法自我调用的过程

算法的定义没有包含算法本身

算法的定义包含算法本身,直接或间接调用本身

计算机语言:编写程序时,根据事先定义的规则(语法)而写出的预定语句的集合

由“0”和“1”的字符串组成,计算机唯一识别的语言,依赖于计算机

用带符号或助记符的指令和地址代替二进制代码,汇编程序用于将汇编语言代码翻译成机器语言

必须被转化为机器语言,转化过程称为解释或编译

高级语言程序被称为源程序,被翻译成的机器语言程序称为目标程序

把整个源程序翻译成目标程序

把源程序中的每一行翻译成目标程序中相应的行,并执行,解释的两种趋势:Java语言之前被有些程序使用的和Java使用的解释程序

把程序看成是操纵被动对象的活动主体,主体使用称为数据或数据项的被动对象,作为被动对象的数据项存储在计算机的内存中,活动主体通过发布动作(过程)操纵数据由三部分构成:对象创建部分、一组过程调用和每个过程的一组代码

处理活动对象,对象只需要接收合适的外部刺激执行其中一个动作能把所有的被文件执行的过程(方法)打包在一起,方法被相同类型的所有对象共享,也被从这些对象继承的其他对象共享

程序被看成是一个数学函数,把一组输入映射到一组输出的黑盒子主要实现的功能:

支持模块化编程并允许程序员使用已经存在的函数开发新的函数

依据逻辑推理的原则响应查询,后来发展成为一阶谓词演算最著名的说明性语言:Prolog

允许给程序中的数据和其他对象命名

定义了一系列值以及应用于这些值的一系列操作,每种数据类型值的集合称为数据类型的域

存储单元的名字,每个存储单元(或字)在计算机中都有一个地址,变量有类型

程序中使用的预定义的值,大多数语言中,可以有整数、实数、字符和布尔字面值,还可以有字符串字面值

由一系列操作数和运算符简化后的一个单一数值

在过程式语言中极为重要,使程序更结构化、更容易,在增量程序开发中,程序员可以通过在每一步增加一个子过程一步步测试程序

在软件生命周期中,开发过程包括四个阶段:分析、设计、实现和测试开发过程模型

生成规格说明文档,说明软件要做什么,可以使用两种独立的方法,依赖于实现阶段使用的是过程式编程语言,还是面向对象语言

定义系统如何完成在分析阶段所定义的需求,系统所有的组成部分都被定义

既要有设计过程,也要有设计数据,整个系统被分解成一组过程或模块

类是由一组变量(属性)和一组方法组成

为面向过程设计中的模块编写程序或编写程序单元,实现面向对象设计中的类

面向过程开发中,通常使用纯过程语言;在面向对象情况下,使用面向对象语言

高质量的软件系统是一个能满足用户需求、复合组织操作标准和能高效运行在其开发的硬件上的一个软件,如果需要取得高质量的软件系统,必须定义质量的一些属性软件质量可以划分成三个广义的度量:可操作性、可维护性和可迁移性

目的为了发现错误,需要良好的测试策略

基于软件内部结构,检查软件所有的部分是否全部设计出来,假定测试者知道软件的一切,使用白盒测试至少保证以下4条标准:

不知道程序的内部也不知道程序如何工作情况下的测试

是一个持续的过程

告诉用户如何一步步使用软件包,通常包含一个教程指导用户熟悉软件包的各项特性

定义软件本身,让原始开发人员之外的人能够维护和修改软件包,在系统开发的所有4个阶段都应该存在

描述了软件系统的安装和服务

元素的顺序集合,通常元素具有相同的数据类型,索引表示元素在数组中的顺序号,顺序号从数组开始处计数,数组元素通过索引被独立给出地址,可以使用循环读写和处理数组中元素,有些语言从0开始数组索引

一维数组索引定义了元素在实际存储上的相对位置,二维数组表示行和列,大多数计算机使用行主序存储

当需要进行的插入和删除操作数目较少,而需要大量的查找和检索操作时,数组是合适的结构

定义元素的集合同时定义元素的属性

数组和记录数组都表示数据项的里列表,数组是记录数组的一种特例,每个元素只带一个域的记录

有序数据的集合,每个元素包含下一个元素的地址,数据部分包含可用信息,并被处理,链将数据连在一起,包含一个指明列表中下一个元素的指针,一个指针变量标识该列表中的第一个元素,列表的名字就是该指针变量的名字头指针为空的链表是空链表链表中元素称为节点,节点至少包括两个域的记录:一个包含数据,另一个包含链表中下一个节点的地址

区别是数据项连接在一起的方式,记录数组中,连接工具是索引;链表中,连接工具是指向下一个元素的链(或指向下一元素的地址)数组的元素在内存中时一个接一个中间无间隔存储的,列表是连续的;链表中节点的存储中间是有间隔的,节点的链部分把数据项连接在一起

链表是一种动态数据结构,表从没有节点开始,然后当需要新节点时,逐渐增长,节点容易删除,不需要移动其他节点,额外的开销是为每个节点含有一个额外的指针域,如果需要大量的插入和删除,那么链表是合适的结构,但搜索一个链表比搜索一个数组要慢

数据类型的定义和应用操作定义是抽象数据类型(ADT)背后的一部分概念,隐藏数据上的操作时如何进行的

许多编程语言已经定义了一些简单的抽象数据类型作为语言的整数部分

对于一个ADT,用户不用关心任务是如何完成的,而关心能做什么,包含了一组允许程序员使用的操作的定义,这些操作的实现是隐藏的抽象意味着:

应用程序只能通过接口访问公有操作,接口是公有操作和传给或从这些操作返回的数据的列表,私有操作是抽象数据类型内部用户使用的

使用抽象数据类型,首先要实现,把它们存储在库中

一种限制线性列表,表的添加和删除操作只能在一端实现,称为栈顶,如果插入一系列数据到栈中,然后移走它们,那么数据的顺序将被倒转,这种倒转属性也正是栈被称为后进先出(LIFO)数据结构的原因

定义:一种只能在一端存取的数据项表,该端称为栈顶操作:

既可以使用数组也可以使用链表来实现

一种线性列表,表中数据只能在尾部的一端插入,在头部的一端删除,是先进先出(FIFO)结构

定义:队列是一种线性列表,该表中的数据只能在称为头部的一端删除,并且只能在称为尾部的一端插入操作:

在所有的操作系统以及网络中都有队列的身影,例如完成对作业或对系统设备的处理

可以使用数组或者链表来实现数组实现中,有三个域的记录:

插入和删除等操作可以再任何地方进行的表具有以下特性:

定义:一个有序的数据项表,所有的项具有相同的类型操作:

可应用于元素被随机存取或顺序存取的情况

既可以使用数组也可以使用链表来实现数组实现中,有两个域的记录:

一组有限的元素,称为节点(或顶点),同时包括一组有限的有向线段,用来连接节点,称为弧,有一个节点没有进入的弧,称为根,其他节点都可以沿着从根开始的唯一路径到达,该路径是指一系列相邻连接的节点序列顶点可以分成三类:根、叶子和内部从一个给定节点可以直接到达的节点称为子节点;从其出发子节点可以直接到达的节点称为双亲;具有相同双亲的节点称为兄弟节点;节点的子孙是指从该节点出发可以到达的所有节点,从其出发所有的子孙都可以到达的节点称为祖先

没有一个节点所含有的子树的个数超过两个,任何一个节点只可能有0、1或2棵子树,这些子树被称为左子树和右子树

二叉树是一颗空树或由一个根节点和两棵子树构成,而每棵子树也是二叉树

二叉树的遍历

既可以使用数组实现也可以使用链表实现

一种具有额外特性的二叉树,每个节点的关键字值大于左子树中所有节点的关键字值,而小于右子树中所有节点的关键字值采用中序遍历时,被访问的元素以升序排列可以对二叉搜索树使用折半查找

与具有相同操作的广义线性表所定义的抽象数据类型类似

即可以使用数组也可以使用链表来实现,链表更为常见并效率更高,使用带有两个指针的节点:左指针和右指针

由一组节点(称为顶点)和一组顶点间的连线(称为边或弧)构成的一种抽象数据类型,节点可以有一个或多个双亲,可能是有向的或无向的有向图:连接两个顶点的边都有一个从顶点到另一个顶点的方向无向图:边没有方向

决定了如何检索记录:顺序的或随机的

顺序地存取记录(一个接一个,从头到尾),使用顺序文件结构

存取某一特定记录而不用检索其之前的所有记录,使用随机存取的文件结构,两种文件结构都允许随机存取:索引文件和散列文件

记录只能按照顺序从头到尾一个接一个地进行存取,记录被一个接一个地存储到辅助存储器(磁带或磁盘)中,并在最后的记录加上EOF(文件末尾)的标志更新顺序文件必须定期更新,反映信息的变化

由数据文件组成,是带索引的顺序文件,索引本身很小,只占两个字段:顺序文件的键和在键盘上相应记录的地址

用一个函数来完成索引到地址的映射,无需额外的文件,用函数来寻找地址,不需要索引和伴随它的所有开销

有多于一个的键被散列为地址中的同一个地址,将列表中一些映射为同一地址的键称为同义词,由散列算法产生的地址称为内部(起始)地址,包含所有内部(起始)地址的区域称为主区

用来组织文件,被表示为含有其他文件信息的一种特殊文件类型,告诉操作系统文件在辅助存储设备上的位置,以及文件的其他信息目录被组织成树的抽象数据类型(ADT),除根目录外每个目录都有双亲,包含在另一个目录中的目录称为包含目录的子目录UNIX操作系统中的目录目录结构的顶部是一个称为根的目录,名字是根,但在与目录有关的命令中,被输入为正斜杠(/),每个目录可以包含子目录和文件

绝对路径名:从根目录到文件的文件路径,是斜线字符(/)分隔的所有目录的列表相对路径名:相对于工作目录的路径

存储在存储设备上的文件是一个位的序列,可被应用程序翻译成一个文本文件或二进制文件

一个字符文件,在内存存储器中不能包含整数、浮点数或其他数据结构,必须把它们转换成对应的字符格式

用计算机的内部格式存储的数据集合,数据可以是整型(包含其他表示成无符号整数的数据类型)、浮点型、字符型或其他数据结构(除了文件),只有当被程序正确地解释时才有意义

数据的存储传统上是使用单独没有关联的文件,有时称为平面文件,现在将所有这些平面文件组合成一个实体——一个数据库

定义、创建、维护数据库的一种工具,允许用户控制数据库中数据的存取,由5部分构成:硬件、软件、数据、用户和规程

包含三层:内层、概念层和外层

决定了数据在存储设备中实际存储位置,处理低层次的数据存取方法和如何在存储设备间传输字节,内层直接与硬件交互

定义数据的逻辑视图、数据模式,数据库管理系统的主要功能都在该层,把数据内部视图转化为用户所看到的外部视图,是中阶层,使用户不必与内层打交道

直接与用户(最终用户或应用程序)交互,将概念层的数据转化为用户所熟悉的格式和视图

定义了数据的逻辑设计,描述了不同数据之间的联系

数据被组织成一颗倒置的树,每个实体可以有不同的节点,但只能有一个双亲,最顶端有一个实体,称为根

实体通过图来组织,部分实体可通过多条路径来访问,没有层次关系

数据组织成称为关系的二维表,没有任何层次或网络结构强加于数据上,但表或关系相互关联

数据通过关系的集合表示关系关系是二维表,数据的外部视图就是关系或表的集合,但并不代表数据以表的形式存储,数据的物理存储与数据的逻辑组织的方式毫无关系关系数据库管理系统的关系的特征:

描述成在数据库查询语言SQL(结构化查询语言)中定义

是一元操作,应用于一个关系,在表中插入新的元组

insertintoRELATION-NAMEvalues(...,....,...)value子句定义了要插入的相应元组的所有属性,字符串的值要用引号括起来

是一元操作,根据要求删除表中相应的元组

deletefromRELATION-NAMEwherecriteria删除条件是由where子句定义的

是一元操作,应用于一个关系,用来更新元组中的部分属性值

updateRELATION-NAMEsetattribute1=value1,attribute2=value2,...wherecriteria要改变的属性值定义在set子句中,更新的条件定义在where子句中

是一元操作,应用于一个关系并产生另一个新关系,元组(行)是原关系元组的子集,根据要求从原表中选择部分元组

select*fromRELATION-NAMEwherecriteria*(星号)代表所有的属性都被选择

是一元操作,应用于一个关系并产生另一个新关系,属性是原表中属性的子集,得到的信管系中的元组属性减少,元组的数量保持不变

selectattribute-listfromRELATION-NAME新关系的列名被显式地列出

是二元操作,基于共有的属性把两个关系组合起来

selectattribute-listfromRELATION1,RELATION2wherecriteria属性表是两个输入关系的属性组合,条件明确定义作为相同属性的属性

是二元操作,将两个关系组合并成一个新的关系,两个关系必须有相同的属性

select*fromRELATION1unionselect*fromRELATION2交是二元操作,两个关系必须有相同的属性,新关系中的每个元组必须是两个原关系中共有的成员

select*fromRELATION1intersectionselect*fromRELATION2差是二元操作,应用于具有相同属性的两个关系,新关系是那些存在第一个关系中而不在第二个关系中的元组

select*fromRELATION1minusselect*fromRELATION2数据库设计实体关系模型建立实体关系(E-R)图表示那些信息需要保存的实体和实体间的关系

关系可以是一对一、一对多、多对一和多对多

是一个处理过程,通过此过程给定的一组关系转化成一组具有更坚固结构的新关系,允许数据库中表示的任何关系,允许像SQL使用由原子操作组成的回复操作,要移出插入、删除和更新操作中的不规范,减少新的数据类型被加入时对数据库重建的需要定义了一组层次范式

基于关系模型,数据库中的数据存储在一些通过因特网(或一些私有的广域网)通信的计算机上,每台计算机(或站点)拥有部分或全部数据库,数据或是分别存储在每个站点或是为每个站点所复制

试图保留关系模型优点的同时允许应用存取结构化数据,定义了对象和它们的关系,每个对象可以具有属性并以域的形式表达,通常使用的查询语言是XML

发送或存储更少的位数,一般有两类方法:无损压缩和有损压缩

数据的完整性受到保护,原始数据与压缩和解压后的数据完全一样,并且是完全相反的两个过程,处理过程中没有数据丢失,冗余的数据在压缩时被移走,在解压时再加回去

最简单的压缩方法,可压缩由任何符号组成的数据,不需要知道字符出现频率的有关知识(赫夫曼编码需要),当数据中由0和1表示时十分有效将数据中连续重复出现的符号用一个字符和这个字符重复的次数代替,使用固定位数的数字(2位)来表示数

对出现更为频繁的字符分配较短的编码,对出现较少的字符分配较长的编码,在给每个字符分配位模式前,首先根据每个字符的使用频率给它们分配相应的权值

给每个分支分配1位,从根开始,给左分支分配0,给右分支分配1,然后在其他各个节点重复这一模式

基于字典的编码的一类算法的例子,是用其发明者的名字命名的,在通信会话的时候将产生一个字符串字典(一个表),如果接收和发送双方都有这样的字典,那么字符串可以由字典中的索引代替,减少通信的数据传输量

一幅图像可以通过一个二维数组(表)来表示图像元素(像素),一张灰度图像被分成许多8×8的像素块,减少计算量,将图像变换成一个数的线性(矢量)集合来揭示冗余,这些冗余(缺乏变化的)可以通过使用前学过的无损压缩的方法除去

T(0,0)是其他值的平均值,称之为DC值(直流)T(m,n)中其余的值称为AC值

MPEG方法将帧分成三类:I-帧、P-帧、B-帧

传统的对称密钥密码术分为两大类:传统对称密钥密码和现代对称密钥密码

面向二进制位,明文、密文和密钥都是二进制位的串

有不同的密钥:私钥和公钥

对称密钥密码术中,秘密的记号必须双方共享非对称密钥密码术中,记号不共享,每一方创建自己的记号

在对称密钥密码术中,符号被置换或替代在非对称密钥密码术中,对数字进行操作

一种方法是通过使用指纹,文件和指纹对的电子等价物就是消息和摘要对,消息要通过一个称为密码散列函数的算法保证消息的完整性文件/指纹和消息/消息摘要是相似的,文件和指纹在物理上链接在一起,消息和消息摘要可以单独不链接

由密码散列函数创建的摘要通常称为修改检测码,代码能检测出消息中的任何修改,对于消息验证,需要消息验证码

作为消息发送者的身份

使得一方证明另一方身份的一种技术,一个实体可以是一个人、一个过程、一个客户端或一个服务器,身份需要证明的实体称为要求者,试图证明要求者身份的一方称为证明者

每个实体需要创建一对密钥,并把公钥安全地分发给团体,定义了创建密钥的过程和安全密钥分发

使用可信的第三方,被称为密钥分发中心(KDC),每个人与KDC建立一个共享的密钥,一个双方间的会话对称密钥只被使用一次

公钥密码术中,每个人有权访问每个人的公钥,公钥对公众可用

可仅用三条语句定义一种语言,包括:递增语句、递减语句和循环语句

对变量加1,格式为:

incr(x)递减语句对变量减1,格式为:

decr(x)循环语句在变量值不为0时,重复进行一个动作(或一系列动作),格式为:

while(x){decr(x)Bodyoftheloop}简单语言的威力图灵机图灵机组成部件对简单语言的模拟邱奇-图灵论题如果存在一个能完成一个符号操纵任务的算法,那么也存在一台完成这个任务的图灵机

一个无符号数能被分配给任何用特定语言编写的程序,这个数称为哥德尔数

可以通过唯一的正整数来表示用简单语言编写的任何程序

并不是所有的数字都能解释为合法程序

停机问题无法解决

无法用计算机解决的问题

能够用计算机解决的问题

依赖于输入的数目

人工智能是对程序系统的研究,该程序系统在一定程度上能模仿人类活动,如感知、思考、学习和反应

提出了机器具有智能的一个定义,该测试的方法是简单地比较人类的智能行为和计算机的智能行为

能够智能地感知环境、从环境中学习并与环境进行交互的系统

使用有向图表示知识,顶点表示概念,边表示两个概念之间的关系

数据结构用来表示相同的知识

表示复杂的事实

使用一组规则来表示知识,能用来从已知的事实中推导出新的事实,表示当指定条件满足时什么为真,是一组“if……then……”语句,形式为:

ifAthenB或A→BA为前提,B为结论,每条规则都是独立处理的,与其他规则没有关联

专家系统建立在预先定义的相应领域专家经验基础上,从人类专家身上抽取知识,通常由知识工程师完成

基于事例,在事例中事实被收集或度量,然后进入系统,被推理机使用

理解通过感官接收到了什么

人工智能的一个研究领域,处理通过像摄像机这样的智能体的人工眼睛而获得的对对象的感知,从外部世界获得二维图像,然后创建在场景中的这个对象的三维描述

分成四个连续的步骤:语音识别、语法分析、语义分析和语用分析

使用状态集合来求解问题,开始于一个起始状态,经过中间状态,最后到达目标状态,搜索过程所使用的的全部状态的集合称为搜索空间搜索方法

试图使用神经元网络模仿人脑的学习过程

神经元有三部分组成:胞体、轴突和树突胞体中含有细胞核:是处理器树突起到输入设备的作用:接收其他神经元的输入轴突起到输出设备的作用:把输出送到其他神经元神经键是神经元的轴突和其他神经元的树突的连接点神经元具有两种状态:兴奋和抑制,如果接收的信号总量达到一个阈值,身体就兴奋,触发一个输出信号,该信号传给轴突,最终传给其他的神经元,否则,神经元仍然处于抑制状态,不触发或产生输出

一个类似于单个生物神经元的人工神经元,带有一组具有权重的输入,对输入求和,把结果与阈值进行比较,如果结果大于阈值,感知器触发,输出1;否则,不触发,输出0

几个层次的感知器组合起来,每一层的输出变成下一层的输入,第一层称为输入层,中间层称为隐藏层,最后一层称为输出层,输入层中的节点不是神经元,是分配器,隐藏的节点通常用来给上一层的输出加上权重

THE END
1.158元的掌上电脑,当年由两大巨头联合打造,如今物是人非对于80后来说,“掌上电脑”这个名词肯定不会陌生,它的英文全称是PersonalDigitalAssistant,也被简化为“PDA”。当年微软主推Windows Mobile系统,诞生了很多经典机型,但今天咱们挑个冷门机型来怀旧。 它就是富士通西门子推出的LOOX 500掌上电脑,这个牌子是1999年由日本富士通和德国西门子合资搞出来的,它们的关系有点像索尼https://xueqiu.com/9343667827/314857453
2.适配掌上电脑系列光电头TP适配掌上电脑系列光电头TP-HHT的文档下载:PDFDOCTXT 关于珠海泰易电子技术有限公司商铺首页|更多产品|联系方式|黄页介绍 主要经营:通讯光电头 ; 校验光电头 ; 电表台 ; 自动化测试设备 ; 电能计量配套 ; 生产线测试设备和工装 珠海泰易电子技术有限公司成立于2002年,是集电能计量技术产品研发、生产、销售及配套服https://product.11467.com/info/794503.htm
3.参数评测论坛华硕系列专用皮套掌上电脑配件报价适用型号:华硕系列掌上电脑 原厂配件:否 查看详细参数>> 产品简介:采用真皮材料,做工考究,手感好,专注每一个细节,是保护PDA产品的最佳选择。 同品牌最热产品 华硕系列皮套 参考价:¥120 华硕系列专用皮套 参考价:¥80 接下来您可以 关于华硕 华硕 华硕电脑股份有限公司创立于1989年,为全球知名的主板制造商,并跻身https://product.yesky.com/product/114/114256/
4.HPiPAQ100系列经典掌上电脑利用HP iPAQ 100 系列经典掌上电脑的 Wi-Fi 连接特性可以浏览因特网。 连接与浏览因特网 如要连接与浏览因特网,请执行下列步骤。 点击Start。 点击Internet Explorer。出现 URL。 输入网站地址,然后点击 URL 旁边的箭头开始浏览网站。 其他支持选项 惠普微信服务 https://support.hp.com/cn-zh/document/c01329689
5.惠普新品Hx4700系列iPAQ掌上电脑热点揭露科技时代昨天读到一篇文章,对Hx4700 系列HP iPAQ掌上电脑又多了解了一些信息。感谢佚名的作者,让我们知道Hx4700 系列HP iPAQ 掌上电脑是新HP iPAQ中唯一具有VGA显示屏的设备(其它的都是QVGA显示屏)。 图为:惠普新品Hx4700系列iPAQ掌上电脑 据说Hx4700的特征有: https://tech.sina.com.cn/other/2004-05-20/0716364268.shtml
6.2024年无线掌上电脑项目可行性研究报告.docx例如,苹果公司的iPhone系列通过不断的技术更新,不仅提升了处理器性能和电池续航能力,还在人工智能、人脸识别等功能方面进行了重大突破,满足了用户对多场景应用的需求。预测性规划方面,技术的迭代推动行业对未来发展的预见与布局。以5G技术为例,其高速度、低延迟的特点为无线掌上电脑提供了更广阔的应用空间。据GSMA预测,https://www.renrendoc.com/paper/361762864.html
7.终于有人讲清楚了树莓派是什么想要获得更安全、更隐匿的互联网使用效果?就可以将树莓派电脑链接到无线路由器上,创建Tor代理来匿名化你的流量数据,防止其他人追踪到你,黑客基本防护手段,必学啊。 8.一款掌上电脑 如果觉得自己动手能力极强的小伙伴,完全可以把一款任天堂GBASP掌上游戏机、老式PDA改装成树莓派掌上电脑,运行Linux系统,拥有QWERTY全肩https://m.elecfans.com/article/620717.html
8.笔记本电脑便携式电脑、笔记型电脑、掌上电脑 目 录 1发展历程 2配置配件 替代型 主流型 轻薄型 超便携 翻转型 外壳 液晶屏 处理器 散热系统 定位设备 硬盘 内存 电池 声卡 显卡 3功能用途 检修流程 检修原则 检修法 4注意事项 保养方法 防水 防手指静电 防冷凝水 https://baike.sogou.com/v135718.htm
9.2024年笔记本电脑排行榜什么笔记本电脑好宏碁笔记本电脑口碑怎么样 宏碁笔记本电脑值得入手吗 宏碁(Acer)成立于1976年,是一个国际化的电脑品牌,总部位于中国台湾,主要从事于研发、设计和销售消费型个人电脑,如笔记本电脑、一体机、桌上型电脑等。宏碁的笔记本电脑产品线非常丰富,包括掠夺者系列、蜂鸟系列、暗影骑士系列、传奇系列等多个系列,涵盖了不同使用场https://www.cnpp.cn/china/list_375.html
10.电脑硬件知识入门之主板篇认识主板csdn华硕是全球著名的主板和显卡生产商,同时也是全球领先的3C解决方案提供商之一,产品涵盖笔记本电脑、主板、显卡、服务器、光存储、有线/无线网络通讯产品、LCD、掌上电脑、智能手机等全线3C产品。 TOP2:技嘉主板(GIGABYTE) 技嘉创立于1986年,是中国台湾的电脑硬件生产商之一,以主板、显卡产品为主力。技嘉主板为Intel公司https://blog.csdn.net/shaoyezhangliwei/article/details/64122361
11.IT之家荣耀笔记本 X Plus 系列新品 12 月 2 日发布,全新浅海蓝配色11 28 8.8 英寸笔记本电脑:GPD Pocket 4 掌上电脑 4999 元起预售11 27 OneGx 2 掌上迷你游戏本结构确认:虚拟键盘 + 可拆卸实体键盘组合11 27 机械革命发布 CODE AI 程序员笔记本:酷睿 Ultra7-155H,预装智谱 CodeGeeX NANO 编程助手11 26 https://ithome.com/
12.笔记本电脑的进化史Atari Portfolio (1989年):Atari Portfolio发布于1989年6月,它是第一款商业级的掌上电脑,用了128KB RAM和256KB ROM。它支持扩展卡,可运行各种程序。 IMB 5100(1975年):虽然,要把一个重达50磅(约合22.7公斤)的“笔记本”(laptop)放到你的大腿(lap)上可不是什么令人舒服的事儿,但IBM 5100却以第一款消费级商https://www.kedo.net.cn/c/885/885210.shtml