9787560557700 epub 电子书 免费 下载地址
9787560557700epub电子书网盘下载地址一
- 文件名
- [百度网盘 下载] 9787560557700 epub格式电子书
- [阿里云盘 下载] 9787560557700 epub格式电子书
- [腾讯微云 下载] 9787560557700 epub格式电子书
- [坚果云 下载] 9787560557700 epub格式电子书
- [迅雷下载 下载] 9787560557700 epub格式电子书
- [华为网盘 下载] 9787560557700 epub格式电子书
- [天翼云盘 下载] 9787560557700 epub格式电子书
- [360云盘 下载] 9787560557700 epub格式电子书
- [夸克网盘 下载] 9787560557700 epub格式电子书
- [115网盘 下载] 9787560557700 epub格式电子书
- [蓝奏云 下载] 9787560557700 epub格式电子书
- [城通网盘 下载] 9787560557700 epub格式电子书
- [本地下载 下载] 9787560557700 epub格式电子书
9787560557700epub电子书网盘下载地址二
- 文件名
- [百度网盘 下载] 9787560557700 epub格式电子书
- [阿里云盘 下载] 9787560557700 epub格式电子书
- [腾讯微云 下载] 9787560557700 epub格式电子书
- [坚果云 下载] 9787560557700 epub格式电子书
- [迅雷下载 下载] 9787560557700 epub格式电子书
- [华为网盘 下载] 9787560557700 epub格式电子书
- [天翼云盘 下载] 9787560557700 epub格式电子书
- [360云盘 下载] 9787560557700 epub格式电子书
- [夸克网盘 下载] 9787560557700 epub格式电子书
- [115网盘 下载] 9787560557700 epub格式电子书
- [蓝奏云 下载] 9787560557700 epub格式电子书
- [城通网盘 下载] 9787560557700 epub格式电子书
- [本地下载 下载] 9787560557700 epub格式电子书
内容简介:
暂无相关简介,正在全力查找中!
书籍目录:
暂无相关目录,正在全力查找中!
作者介绍:
暂无相关内容,正在全力查找中
出版社信息:
暂无出版社相关信息,正在全力查找中!
书籍摘录:
暂无相关书籍摘录,正在全力查找中!
在线阅读/听书/购买/PDF下载地址:
原文赏析:
暂无原文赏析,正在全力查找中!
其它内容:
暂无其它内容!
精彩短评:
-
作者: Finally 发布时间:2023-06-19 20:57:31
史料考证是无穷无尽的,如果没有问题研究和思想考量,只会流于细枝末节
-
作者: 夜路 发布时间:2020-05-24 19:40:47
夫宁夏者,取西夏安宁之意也。塞上江南。
镇北堡、国强手抓羊肉、八宝茶、枸杞等记忆。
-
作者: 来都来了 发布时间:2022-02-19 17:12:35
很不错
-
作者: 纯情小腊鸭 发布时间:2024-01-27 15:40:07
互联网创业者的孙子兵法
-
作者: 寡人有疾 发布时间:2020-12-29 21:42:50
带孩子读
-
作者: 偷偷上豆瓣 发布时间:2023-01-04 07:22:28
“我要发一场洪水,摧毁一切不好的东西。”
深度书评:
-
[韩]崔真英:作者的话
作者:文治图书 发布时间:2022-01-20 10:35:56
在透着一丝凉意的夜晚,为我生火、对我温暖微笑,还为我写了跋文的玄进姐姐。
与我一起打磨加工“李夕夜”故事的崔贤佑。
耐心将“李夕夜”的故事读到最后的各位读者,谢谢大家。
以及,2017 年10 月到12 月在《文学3》文学网站上连载的“李夕夜”的故事,2019 年的1 月到3 月又被我拿出来重新写了一遍。2017 年的我并不是很了解夕夜,现在也无法拍胸脯保证我知道夕夜的所有事情,但不能说我完全不懂她的故事。
有时候,书中的人物会率先来找我。我知道这句话有多奇怪,但确实如此。夕夜曾经停留在我四点钟或八点钟方向的一个难以凝视又难以无视的地方,然后如同久等了一般走过来,站在我的正面。她从未和我介绍过她自己。“我认识你,你肯定也应该认识我才对。”她只是这样地看着我。而我只能故作镇定,其实心里早已乱了套,思考自己是不是来得太晚了。其实我也知道夕夜一直都在那里,她躲着所有人,独自长大,果然,我这次也来晚了。
不管是在写书的时候还是在写完之后,我都害怕夕夜感到孤单。虽然我一直都很想和她说说话,她有时候却会觉得我很烦。她并没有勉强自己回答我的问题,我会为她的选择而庆幸。也许,我害怕的并不是夕夜会孤单,只是不想让挂念夕夜的自己孤单。
现实中的某个“夕夜”,身边可能不会有“夕旎”和“胜浩”这样的人存在,更不会有阿姨那样的成年人陪伴,很多人肯定是无法向任何人倾诉、只能独自承担,或者一个人在旁观和质疑中坚持着。正因为我知道这一点,所以每次描写可能会让夕夜感到安慰的情节,我都和描写夕夜痛苦时一样犹豫。
有人曾经说过:“即便遇到令自己受到伤害的事,也要找一找自己的问题。实在找不到的话,就要学会理解别人,把他们的过错当成失误。”因此我一直相信,只要做好自己就什么问题都不会出现,把“成熟懂事”当成他人给予我的称赞。我根本不知道自己想要什么,就长成了大人。成年后,我才明白我想要成为的不是一个追究责任或回避事实的人,而是一个敢于承认自身错误、告诉我“这并不是你的错”的人。而我甚至没有机会思考“我也要成为那样的大人”便长大了。现在,我遇到事情依然会先找自己的问题,因为我已经长成了必须这样做的成年人。若是偶尔遇到让我再次沉浸在熟悉的情绪中,哭到虚脱却依然睡不着的夜晚,我会认为无法动弹的状态反而还是一种幸运。
我告诉夕夜,我已经变成了这样一个人。
我也要成为一个努力的人,我不停地告诉她。
并且,夕夜今天也在记录着生活。她在看、在听,偶尔也会撒开脚步跑起来,全力跑起来。夕夜知道我们的存在,我们无法对她视而不见。
崔真英
2019 年秋
-
边看边做的读书笔记
作者:夜星 发布时间:2017-02-01 15:58:47
计算机科学导论-读书笔记
第一章 绪论
一、学习目标
1、定义计算机的图灵模型,
2、定义计算机的冯诺依曼模型
3、描述计算机的三大部分:硬件、数据和软件
4、列举与计算机硬件、软件、数据相关的话题
5、与计算机使用相关的一些社会问题和职业道德问题
6、说出计算机的简明历史
二、图灵模型
1、数据处理器:首先计算机是一个数据处理器,可以认为计算机是一个接收输入数据、处理数据并产生输出数据的黑盒。
定义过于广泛,且没有说明所处理的类型,以及是否可以处理一种以上的类型。
2、图灵模型:
相对于数据处理器,该模型添加了一个额外的元素——程序(用来告诉计算机对数据进行处理的指令集合)
程序
输入数据→计算机→输出数据
这种模型中输出数据依赖于输入数据和程序。
3、通用图灵机:对现代计算机的首次描述,该机器只要提供了合适的程序就能做任何运算。
三、冯诺依曼模型
1、4个子系统
基于冯诺依曼模型建造的计算机分为4个子系统:存储器、算术逻辑单元、控制单元和输入/输出单元。
存储器:用来存储的区域,在计算机的处理过程中存储器用来存储数据和程序。
算术逻辑单元:ALU 用来进行计算和逻辑运算的地方
控制单元:对存储器、算术逻辑单元、输入/输出等子系统进行控制操作的单元。
输入/输出:输入子系统负责从计算机外部接收输入数据和程序;输出子系统负责将计算机的处理结果输出到计算机外部。也包括辅助存储设备。
2、存储的程序概念:
冯诺依曼模型要求程序必须存储在内存中。
现代计算机的存储单元主要是用来存储程序以及响应数据,这意味着数据和程序应该具有相同的格式。实际上它们都是以位模式存储在内存中的,
3、指令的顺序执行
冯诺依曼模型中的一段程序是由一组数量有限的指令组成。
四、计算机组成
1、计算机硬件、数据、计算机软件
2、数据:存储数据、组织数据
3、计算机软件:必须存储程序、指令的序列、算法、语言、软件工程、操作系统
五、历史
1、机械计算器:
17世纪:Pascsline、Pascal语言(结构化的程序设计语言)
17世纪后期:莱布尼兹计算机器
1823年,差分机、后来--分析机
2、电子计算机
早期电子计算机:存储单元仅仅用来存放数据,利用配线或开关进行外部编程 ENIAC
基于冯诺依曼模型的计算机:EDVAC
3、 第一代计算机:商用计算机,真空管作为电子开关
第二代计算机:晶体管代替真空管,Fortran、Cobol语言
第三代计算机:集成电路,小型计算机
第四代计算机:微型计算机,桌面处理器出现,Altair 8800
第五代计算机:掌上电脑与台式电脑
六、问题
1、社会问题:依赖、社会公正、数字化分裂
2、道德问题:隐私、版权、计算机犯罪
七、计算机科学
1、分为两个领域
系统领域:计算机体系结构、计算机网络、安全问题、操作系统、算法、程序设计语言、软件工程
应用领域:数据库和人工智能
2、本书分为五个部分:数据表示与运算(234)、计算机硬件(56)、计算机软件(78910)、数据组织与抽象(11121314)、高级论题(15161718)
第二章 数字系统 P25
一、本章目标
1、理解数字系统的概念;
2、分清非位置化和位置化数字系统;
3、描述十进制系统、二进制系统、十六进制系统、八进制系统
4、将二进制、八进制或十六进制数字转换为十进制系统
5、将十进制数字转化为二进制、八进制或十六进制系统
6、二进制和八进制、二进制和十六进制数字相互转化
7、查找在各种系统中代表特定数值所需的数码
二、数字系统
1、数字系统定义了如何用独特的符号来表示一个数字
2、位置化数字系统;在数字中符号所占据的位置决定了其表示的值
符号集、底数(基数)、正负号
三、十进制系统 decimal
1、底为10,符号集 0、1、2、3、4、5、6、7、8、9
1、十进制常省略圆括号、底和正号(对于正数)
四、二进制系统 binary
1、底为2,符号集 0、1
五、十六进制系统 hexadecimal
1、底 16,符号集 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F
A-F分别等于 10-15
六、八进制系统 octal
1、底 8,符号集 0、1、2、3、4、5、6、7
七、进制转换
1、其他进制到十进制,数码乘以其在源系统中的位置量并求和。
2、十进制到其他进制
十进制数的整数部分为源,已转好的整数部分的数为目标。先创建空目标,接着反复除源并得到商和余数。余数插入目标的左边,商变为新的源。
转换35为二进制
0-1-2-4-8-17-35
1 0 0 0 1 1
二进制数为 100011
小数部分的转化可以使用连乘法,取十进制小数部分为源,已转换好的整数部分的数为目标。先创建一个空目标,接着反复乘源并得到结果,结果的整数部分插入目标的右边,而小数部分称为新的源。
转换0.625为二进制
0.625-0.25-0.50-0.0
1
0
1
二进制数为(0.101)
3、数码的数量
k=log(b)N,N是该整数的十进制数量,
如 k=log(10)234=[2.37]=3,有三位;
k=log₂234=log234/log2=[7.8]=8,数码有8位。
4、二进制-十六进制的转换
2-16: 100 1110 0010 ,从右起,4位一组,高位补零,十六进制为4E2
16-2:24C,2:0010,4:0100,C:1100,结果 0010 0100 1100.
5、二进制-八进制 与2-16相似。
6、八进制-十六进制,利用二进制做中介
八、非位置化数字系统
罗马数字
第三章 数据存储 P41
一、本章目标
1、5种不同的数据类型
2、不同的数据如何以位模式存储在计算机内部
3、整数如何以无符号格式存储在计算机中
4、整数如何以符号加绝对值格式存储
5、整数如何以二进制补码格式存储
6、实数如何以浮点格式存储在计算机中
7、文本如何通过各种不同的编码系统存储在计算机
8、音频如何通过采样、量化和编码存储在计算机中
9、图像如何通过光栅和矢量图模式存储在计算机中
10、视频如何通过以图像随时间变化的表示来存储在计算机中
二、数据类型
1、数据类型:数字、文本、音频、视频
2、计算机内部的数据
位(bit)是存储在计算机中的最小单位,是0/1
为了表示数据的不同类型,使用位模式,长度为8的位模式称为一个字节,byte
3、存储数字
3.1 整数 整数可以使用定点表示法存储在内存中
先将整数转为二进制数,如果二进制位数不足n位,则在二进制整数的左边补0,如果二进制整数大于n位,则发生溢出
如:
7存储在8位存储单元中,7的二进制是111,则存储时为 00000111
将258存储在16位存储单元中,258的二进制是100000010,补零后为 0000 0001 0000 0010
3.2 译解无符号整数
3.3 溢出
3.4 无符号整数的应用
3.5 符号加绝对值表示法
最左位用于定义整数的符号,0表示正整数,1表示负整数,所以有+0和-0.
3.6 二进制补码表示法
3.6.1 最左位决定符号,如果是0,该整数为正,如果是1,该整数为负。
3.6.2 以二进制补码格式存储整数,
首先将整数变为n位的二进制数,如果整数是正数或零,原样存储,如果是负数,计算机取其补码存储。
3.6.3 从二进制补码格式还原整数
如果最左位是0,计算机不做操作,再转换为十进制。
如果最左位是1,计算机取其补码。再转换为十进制。
3.6.4 溢出
3.7 存储实数
实数是带有整数部分和小数部分的数字。
带有很大的整数部分或很小的小数部分的实数不应该用定点表示法存储。
3.7.1 浮点表示法 符号+位移量+定点数
3.7.2 符号、指数和尾数
在一个二进制数规范化之后,只存储该数的3部分信息,符号、指数和尾数,如 1000111.0101 规范化后,只存储+,6,和 0001110101.
3.8 余码系统
3.9 IEEE标准
单精度(余127码) 1位表示符号,8位表示指数,23位表示尾数
双进度(余1023码) 1位表示符号,11位表示指数,52位表示尾数
4、存储文本
ASCII码(美国信息交换标准码) 表示2^7=128 种符号
Unicode,使用32位存储
5、存储音频
5.1 采样、量化、编码
5.2 声音编码标准 MP3(MPEG layer3)
6、存储图像
光栅图与矢量图
6.1 光栅图:
解析度:在图像处理中的扫描率称为解析度。
色彩深度、真彩色-1600万色 与 索引色-256色
编码标准:JPEG(真彩色)、GIF(索引色)
6.2 矢量图
几何模型、面向对象图像
7、存储视频
视频是图像在时间上的表示(称为帧)。
第四章 数据运算 P64
一、学习目标
1、列出在数据上进行的三类运算
2、在位模式上进行一元和二元逻辑运算
3、区分逻辑移位运算和算术移位运算
4、在位模式上进行逻辑移位运算
5、以二进制补码形式存储的整数上进行算术移位运算
6、以二进制补码形式存储的整数上进行加法和减法运算
7、以符号加绝对值形式存储的整数上进行加法和减法运算
8、以浮点格式存储的实数上进行加法和减法运算
二、逻辑运算
逻辑运算是指那些应用于模式中的一个二进制位,或在两个模式中相应的两个二进制位的相同基本运算。
1、位层次上的逻辑运算
假设0代表逻辑“假”,而1代表逻辑”真“。
可以应用布尔代数中定义的运算去操纵二进制位。
非(NOT):一元操作符,一个输入,输出位是输入位的相反。
与(AND):二元运算符,两个输入,如果输入都是1,则输出为1,其他情况,输出都是0.对于x=0或1,x AND 0→0,0 AND x → 0.
或(OR):二元运算符,如果输入都是0,输出为0,其他情况,输出为1.
对于x=0或1,x OR 1 →1,1 OR x → 1.
异或(XOR):二元运算符。如果输入都是1,则输出为0。换种说法,当输入相同时,则输出为0;输入不同时,则输出为1.
2、模式层次上的逻辑运算
相同的4个运算符(NOT/AND/OR/XOR)可以被应用到n位模式。效果就是对NOT运算来说,把每个运算符应用于每个位;对于其他3个运算符就是把每个运算符应用于相应的位对。
可以用来修改位模式。
2.1 求反,NOT
2.2 使指定的位复位/把一个位模式的指定位复位(置0):AND
2.3 对指定的位 置位 :OR
2.4 使指定的位反转:XOR
3、移位运算
逻辑移位运算和算术移位运算
3.1 逻辑移位运算应用于不带符号位的数的模式。这些移位运算可能会改变数的符号。
逻辑移位:逻辑右移运算把每一位向右移动一个位置,最右位丢弃,最左位填0。逻辑左移运算把每一位向左移动一个位置,最左位丢弃,最右位填0。
循环移位:循环移位运算(旋转运算)对位进行移位,但没有位被丢弃或增加。循环右移(或右旋转)把每一位向右移动一个位置,最右位被回环,成为最左位。循环左移(或左旋转)把每一位向左移动一个位置,最左位被回环,成为最右位。
3.2 算术移位运算假定位模式是用二进制补码格式表示的带符号位的整数。算术右移被用来对整数除以2;而算术左移被用来对整数乘以2.算术右移保留符号位,但同时也把它复制,放入相邻的右边的位中,因此符号被保存。算术左移丢弃符号位,接受它的右边的位作为符号位。如果新的符号位与原先的相同,那么运算成功,否则发生上溢或下溢,结果是非法的。
4、算术运算
包括加减乘除等,适用于整数和浮点数。
4.1 整数的算术运算,所用类似加减乘除等的算术运算均适用于整数,虽然整数的乘法(除法)能通过重复的加法(减法)来实现,但程序是低效的。
4.1.1 二进制补码整数的加减法:二进制补码表示法的一个优点是加法和减法之间没有区别,当遇到减法运算时,计算机只简单地把它转变为加法,但要为第二个数求二进制的补。
A-B=A+B的补码
当我们进行计算机数字的算术运算时,要记住每个数字和结果应该在分配的二进制位的定义范围之内。
4.1.2 符号加绝对值整数的加减法
先检查运算,如果是减法,改变第二个整数的符号,变成两符号整数的加法。
4.2 实数的算术运算
第五章
计算机组成 P80
一、学习目标
1、列出计算机的三个子系统;
2、描述计算机中央处理单元(CPU)的作用;
3、描述典型计算机中指令周期的取指令—译码—执行阶段;
4、描述主存和它的地址空间;
5、区分主存和缓存;
6、定义输入/输出子系统;
7、理解子系统间的互相连接,列出不同总线系统;
8、描述输入/输出寻址的不同方法;
9、区分设计计算机体系结构的两种主要趋势;
10、理解计算机是如何使用管道改善吞吐量的;
10、理解并行处理是如何能改善计算机的吞吐量的。
二、中央处理单元
计算机的组成部分可以分为三大类(或子系统):中央处理单元(CPU)、主存储器和输入/输出子系统。
1、CPU用于数据的运算。有三个组成部分:算术逻辑单元(ALU)、控制单元、寄存器组(快速存储单元)
1.1 算术逻辑单元(ALU)对数据进行逻辑、移位和算术运算
1.2 寄存器是用来临时存放数据的高速独立的存储单元。
1.2.1 数据寄存器,现在的计算机在CPU中使用多个或几十个寄存器来提高运算速度。
1.2.2 指令寄存器,CPU的主要职责是:从内存中逐条地取出指令,并将取出的指令存储在指令寄存器中,解释并执行指令。
1.3 控制单元
控制单元控制各个子系统的操作。控制是通过从控制单元发送到其他子系统的信号来进行。
三、主存储器
是计算机的第二个主要子系统,是存储单元的集合。每一个存储单元都有唯一的标识,称为地址。数据以称为字的位组的形式在内存中传入和传出。字可以是8位、16位、32位,甚至是64位。如果字是8位的话,,一般称为一个字节。
1、地址空间:
所有在存储器中标识的独立的地址单元的总数称为地址空间。
1.1 作为位模式的地址:内存地址用无符号二进制整数定义。
如果一个计算机有N个字的存储空间的话,那就需要用log(2)N 位的无符号整数来确定每一个存储单元。
2、 存储器的类型
2.1 RAM 随机存取存储器(RAM)是计算机中主存的主要组成部分。可以使用存储单元地址来随机存取一个数据项,而不需要存取位于它前面的所有数据项。与ROM的区别在于,用户可读写RAM。另外,RAM是易失性。当系统断电后信息(程序或数据)将丢失。分为
SRAM,静态RAM。使用传统的触发器门电路来保存数据。速度快,价格贵。
DRAM,动态RAM。使用电容器来保存数据。速度慢,便宜。
2.2 ROM
只读存储器(ROM)的内容是由制造商写进去的。用户只能读但不能写,优点是非易失性。可以用ROM来存储那些在开机时运行的程序。
分为
PROM,可编程只读存储器
EPROM,可擦除的可编程只读存储器,用户可以对它进行编程。需要拆下来擦除再重新安装。
EEPROM,电可擦除的可编程只读存储器。对它的编程和擦除用电子脉冲即可。
3、存储器的层次结构
寄存器-高速缓存存储器-内存
4、高速缓存存储器
存取速度要比主存快,但是比CPU及其内部的寄存器要慢。
通常计算机花费80%的时间来读取20%的数据,相同的数据往往被存取多次。
四、输入/输出子系统
计算机的第3个子系统是称为输入/输出(I/O)子系统的一系列设备。分为非存储设备和存储设备。
1、非存储设备
使CPU/内存可以与外界通信,但不能存储信息。
1.1 键盘和监视器
键盘提供输入功能,监视器显示输出并同时响应键盘的输入。还包括鼠标、操纵杆等
1.2 打印机
一种用于产生永久记录的输出设备,是非存储设备。
2、存储设备
又称辅助存储设备。
2.1 磁介质存储设备
包括
2.1.1 磁盘,由一张一张磁片叠加而成的,磁片由薄磁膜封装。信息是通过盘上每一个磁片的读/写磁头读写磁介质表面来进行读取和存储的。
表面结构:盘面都被划分为磁道,磁道又分为扇区。磁道通过磁道内部间隔隔开,扇区通过扇区内部间隔隔开。
数据存取。磁盘是一个随机存取设备。在某一时间可以读取的最小存储区域只能是一个扇区。
性能,
取决于角速度(定义了磁盘的旋转速度)、寻道时间(定义了读/写磁头寻找数据所在磁道的数据)、传送时间(定义了将数据从磁盘移到CPU/内存所需要的时间)
2.1.2 磁带
表面结构:磁道、块
数据存取:顺序存取设备
性能:慢,廉价。
2.2 光存储设备
使用光(激光)技术来存储和读取数据。CD是利用光存储技术来保存音频信息,相同(稍加改进)后的技术被用来存储计算机上的信息。
2.2.1 只读光盘(CD-ROM)
2.2.2 可刻录光盘(CD-R):写一次,读多次
2.2.3 可重写光盘(CD-RW):可擦写光盘
2.2.4 数字多功能光盘(DVD):更大存储容量的数字存储媒介
五、子系统的互连
1、CPU与存储器的连接
CPU和内存之间通常是由称为总线的三组线路连接在一起,分别是数据总线、地址总线和控制总线。
1.1数据总线,由多根线组成,每根线上每次传送一个位的数据,线的数量取决于该字的大小。如果计算机的字是32位,那么需要32根线的数据总线以便同一时刻能同时传送32位的字。
1.2 地址总线,允许访问存储器中的某个字,地址总线的线数取决于存储空间的大小。如果存储器容量为2的n次方个字,那地址总线一次需要传送n位的地址数据,需要n根线。
1.3 控制总线
负责在CPU和内存之间传送信息。如果计算机有2的m条控制命令,那么控制总线就需要有m根。
2、I/O设备的连接
I/O设备是机电、磁性或光学设备,而CPU和内存是电子设备,前者的操作速度慢很多,需要有中介来处理这种差异。I/O设备通过一种被称为输入/输出控制器或接口的器件连接到总线上的。
2.1 控制器
串行控制器只有一根数据线连接到设备上,而并行控制器则有数根数据线连接到设备上。常用的有SCSI、火线和USB。
2.1.1 SCSI,小型计算机系统接口,8、16、32线的并行接口。菊花链连接,两端必须有终结器,且设备必须有唯一的地址。
2.1.2 火线,IEEE标准1394规定的串行接口,俗称火线。是高速串行接口。可在一条菊花链或树形连接上连接最多63个设备,不需要SCSI控制器中那样的终结器。
2.1.3
USB(通用串行总线),串行控制器。多个设备可以被连接到一个USB控制器上,这个控制器也称为根集线器。设备可以不需要关闭计算机很容易地被移除或连接到树中,这称为热交换。当集线器被从系统中移除时,与此集线器相连的所有设备和其他集线器也被移除。
通过USB的数据是以包的形式传输的,每个包含有:地址部分(设备标识)、控制部分、要被传送到其他设备的数据部分。所有设备都将接收到相同的包,但只有具有数据包中所定义的地址的那些设备将接受它。
3、输入/输出设备的寻址
3.1 I/O独立寻址,用来读写内存的指令与用来读写输入输出的指令是完全不同的。有专门的指令完成对输入输出设备的测试、控制以及读写操作。每个输入输出设备有自己的地址。
3.2 I/O存储器映射寻址
在I/O存储器映射寻址中,CPU将输入/输出控制器中的每一个寄存器都看作是内存中的某个存储字。换言之,CPU没有单独的指令来表示是从内存或者从输入/输出设备传送数据。
六、程序执行
当今,通用计算机使用称为程序的一系列指令来处理数据。
1、机器周期
CPU利用重复的机器周期来执行程序中的指令,一步一条。一个简化的周期包括3步,取指令、译码和执行。
1.1 取指令
控制单元命令系统将下一条要执行的指令复制到CPU的指令寄存器中,被复制指令的地址并保存在程序计数器中。复制完成后,程序计数器自动加1指向内存中的下一条指令
1.2 译码
机器周期的第二阶段是译码阶段。当指令置于指令寄存器后,该指令将由控制单元负责译码。指令译码的结果是产生一系列系统可以执行的二进制代码
1.3 执行
指令译码完毕后,控制单元发送任务指令到CPU的某个部件,或者是CPU让算术逻辑单元将两个输入寄存器中的内容相加并将结果保存在输出寄存器。
2、输入/输出操作
因为I/O设备的运行速度比CPU要慢很多,因此CPU的操作在某种程度上必须和输入/输出设备同步。三种方法被设计用于同步,分别为:程序控制输入/输出、中断控制输入/输出、直接存储器存取。
2.1 程序控制输入/输出,采取最简单的一种同步,CPU等待I/O设备。
2.2 中断控制输入/输出,首先CPU告知I/O设备即将开始传输,但是CPU并不需要不停地查询I/O设备的状态。
2.3 直接存储器存取(DMA)
用于在高速I/O设备间传输大量的数据块,例如磁盘、内存。需要一个DMA控制器来承担CPU的一些功能。
七、不同的体系结构
1、CISC
复杂指令集计算机(complex instruction set computer),设计策略是使用大量的指令,包括复杂指令。
指令集的复杂性使得CPU和控制单元的电路非常复杂。解决方案,程序在两个层面上运行,CPU不直接执行机器语言指令,CPU只执行被称为微操作的简单操作,复杂的指令被转化为一系列简单操作然后由CPU执行。例子,奔腾系列处理
2、RISC
精简指令集计算机(reduce instruction set computer),设计策略是使用少量的指令完成最少的简单操作,复杂指令用简单指令子集模拟。
3、流水线
早期计算机中,每条指令的三个阶段都需要串行完成。
现代计算机使用称为流水线的技术来改善吞吐量(在单位时间内完成的指令总数)。流水线理念是如果控制单元能同时执行两个或三个阶段,那么下一条指令就可以在前一条指令完成前开始。
4、并行处理
并行处理理念是计算机可以具有多个控制单元、多个算术逻辑单元和多个内存单元。像流水线一样,并行处理能改善吞吐量。
并行处理涉及多种不同的技术。计算机组织被分为四类(SISD/SIMD/MISD/MIMD)
4.1 SISD组织
单指令流,单数据流(SISD)组织表示计算机有一个控制单元、一个算术逻辑单元和一个内存单元。指令被顺序执行,每个指令可以存取数据流的一个或多个数据项。
4.2 SIMD组织
单指令流,多数据流(SIMD)表示计算机有一个控制单元、多个处理单元和一个内存单元。所有处理器单元从控制单元接收相同的指令,但在不同的数据项上操作。
4.3 MISD组织
多指令流,单数据流(MISD)体系结构是属于多个指令流的多个指令作用于相同的数据项的体系结构。从未被实现过。
4.4 MIMD组织
多指令流,多数据流(MIMD)是属于多个指令流的多个指令作用于多个数据流(每个指令作用于一个数据项)。
八、简单计算机
1、三个组成部分:CPU、存储器和输入/输出子系统。
1.1、CPU
分成三部分:数据寄存器、算术逻辑单元(ALU)和控制单元。
1.2、主存
既有数据,又有程序指令。
1.3、输入/输出子系统
2、指令集
指令由两部分构成,操作码和操作数
3、处理指令
机器周期,三阶段。
4、例子 C=A+B
第六章 计算机网络 P111
一、学习目标
1、描述网络标准、物理结构和网络分类
2、区分互联网internet与因特网Internet
3、描述作为因特网网络模型的TCP/IP协议族
4、定义TCP/IP协议族中的各层以及它们的关系
5、讨论因特网的客户/服务器体系结构
6、描述三种因特网早期应用:电子邮件、文件传输和远程登录
7、理解作为因特网最常见应用的万维网及其组成
8、区分三种因特网文档类型:静态文档、动态文档和活动文档
9、列出其他因特网应用,如视频会议、分组讨论和聊天
二、引言
1、网络是硬件和软件的组合,把数据从一个地方发送到另一个地方。
2、网络标准
2.1 性能,传输时间和响应时间。
2.2 可靠性,发送的准确性、发生故障的频率
2.3 安全,保护数据,防止非授权访问、损坏和修改
3、物理结构
3.1 连接类型
网络由两个或两个以上通过链路连接的设备构成。链路是数据从一个设备传输到另一个设备的通信通道。点对点连接与多点连接
3.2 物理拓扑
网络的拓扑是所有链路和设备间关系的几何表示,基本结构是网状型、星型、总线型、环型
高速局域网最常使用的拓扑是星型拓扑
4、网络分类
4.1 局域网,LAN,为个人计算机或工作站间的资源共享而设计的。
4.2 广域网,WAN,提供长距离的数据、图像、音频和视频信息的传输。
4.3 城域网,MAN,大小结余LAN与WAN之间的网络,用来为那些需要高速连接且终端点分布在一个城市或城市一部分的客户服务。
5、互联网 internet
网络是一组连接在一起的通信设备,而互联网是能够互相通信的两个或多个网络。路由器是发送数据包(消息),并使其在互联网中传输的连接设备。
6、因特网,Internet
由成千上万个互相连接的网络组成。使用ISP的服务。
三、TCP/IP协议族
为了分解完成任务所需的服务,因特网创建了一组规则,称为协议。协议允许使用不同技术的局域网和广域网互相连接到一起,从一点向另一点传送消息。控制因特网的一组协议称为TCP/IP协议族。
原始的TCP/IP协议族被定义成4层,网络与链路层、网络层、传输层和应用层。
如今的TCP/IP协议通常被定义成5层,物理层、数据链路层、网络层、传输层、应用层。
四、层
1、应用层:负责向用户提供服务。
应用层允许用户访问网络,是唯一一个大多数因特网用户能够看到的层。
1.1 客户/服务器体系结构
运行服务器端程序的计算机称为服务器,而运行客户端程序的计算机称为客户,服务端程序需要一直运行,而客户端程序只在需要时运行。
客户端程序和服务端程序间的通信称为进程到进程的通信,因为运行在这种体系结构中程序称为进程。
1.2 应用层地址
为了标识一个特殊的HTTP站点,客户使用统一资源定位符(URL)。服务器应用层地址不是用来发送消息的,只是帮助客户找到服务器计算机的实际地址。
网络中的每台计算机都有一个称为逻辑地址或IP地址的地址。
2、传输层:负责客户和服务器进程间的消息的逻辑传输。
传输层负责整个消息的进程到进程的传输——建立客户和服务器计算机的传输层的逻辑通信。
2.1 传输层的地址(端口号)
服务器计算机可能同时运行多个进程,当消息到达服务器时,它必须被指向正确的进程,我们需要另一个地址来标识服务器进程,这称为端口号。
2.2 多路复用和解多路复用
传输层为不同的进程做相同的工作,从进程中收集要发出的消息,并将到达的消息分发给进程。传输层使用端口号完成多路复用和解多路复用。
2.3 拥塞控制
传输层负责实现拥塞控制,物理上传送数据包的下层网络可能发生交通拥塞,可能引起网络丢弃(失去)一些数据包。消息在发送前存储在缓冲区中,如果传输层监测到网络上有拥塞,它就暂缓发送。
2.4 流量控制
传输层还负责实现流量控制,发送端的传输层能监控接收端的传输层,检查接受者接收到的数据包是否过量。
2.5 差错控制
在消息的传输过程中,有可能被损坏、丢失、重复或乱序。传输层的发送负责确保消息被目的传输层正确接收。
2.6 传输层协议
三种传输层协议,UDP/TCP/SCTP
2.6.1 UDP
用户数据报协议,三个协议中最简单的。速度快、效率高。
UDP不提供属于单个消息的数据包间的逻辑连接,被称为无连接协议。
2.6.2 TCP
传输控制协议,支持传输层所有职责的协议,没有UDP快和高效。TCP使用序号、确认号和检验和。提供多路复用、解多路复用、流量控制、拥塞控制和差错控制。因为TCP在两个传输层间提供逻辑连接,所以被称为面向连接的协议。
TCP是数据通信中完美的传输层协议,但不适合音频和视频的实时传输。
2.6.3 SCTP
流控制传输协议,结合了UDP和TCP的优点,像UDP一样,SCTP适合用于音频和视频的实时传输,像TCP一样,SCTP提供差错控制和流量控制。
3、网络层:负责单个数据包从源主机到目标主机的发送
网络层负责源到目的地的数据包发送,可能跨多个网络。网络层保证每个数据包从源点到最终目的地。
3.1 网络层地址
从客户端到服务器的数据包和从服务器返回的数据包需要网络层地址。
网络层使用它的路由表找到下一跳的逻辑地址,把这个地址传递给数据链路层,使用数据链路层需要的这个逻辑地址来找到下一个路由器的数据链路层地址。
3.2 路由选择
网络层的一个特殊的职责:路由选择。路由选择是确定数据包的部分或全部路径。
路由基于目的地址和可用的最佳路径来选择的。
3.3 网络层协议
TCP/IP 协议族支持一个主协议(IP)和几个辅助协议,帮助IP完成它的职责。
3.3.1 网络层的主协议是因特网协议(IP),有IPv4和IPv6两个版本,IP提供了尽力而为服务。
3.3.2
辅助协议
4、数据链路层:负责数据帧的节点到节点的发送
网络层数据包可能在从源到目的地的传输中经过多个路由器。从一个节点到另一个节点传送数据是数据链路层的职责。
4.1 数据链路层地址
与IP地址不同,数据链路层的地址不是通用的。每个数据链路协议可能使用不同的地址格式和大小。以太网协议使用48位地址,常被写成十六进制格式,分为6部分,每部分两位十六进制数,如
07:01:02:11:2C:5B
数据链路层地址常被成为物理地址或 介质访问控制(MAC)地址。
4.2 差错控制和流量控制
方法与传输层相同
5、物理层
完成在物理介质上传输二进制流所需要的功能。
物理层传送的单元是二进制位,物理层的传播方式是广播。
6、层的总结
在应用层,进程交换消息;在传输层,数据单元被称为段、用户数据报或包;在网络层,数据单元被称为数据报;在数据链路层,数据单元被称为帧。最后,在物理层,数据单元是二进制位。
各层的另一个特性:封装。
五、因特网应用
1、电子邮件
1.1 邮件访问协议
POP,邮局协议
IMAP,因特网邮件访问协议
1.2 地址
一个电子邮件处理系统必须有唯一的地址系统来分发邮件。SMTP使用的地址系统由两部分组成:本地部分和域名,中间用@符号隔开。
1.3 多用途因特网邮件扩充协议(MIME)
允许非ASCII数据通过SMTP传输的补充协议,MIME不是一个电子邮件协议,不能替代SMTP,只是SMTP的扩展
2、文件传输协议
FTP是因特网上最常见任务的标准机制,用于从一台计算机拷贝文件到另一计算机。
FTP与其他客户/服务器应用不同,它在两主机间建立两个连接。一个连接是用来传输数据的;另一个连接是用来控制信息(命令和响应)的。命令和数据的分开传输使得FTP效率更高。
3、远程登陆——TELNET
TELNET是多用途的客户/服务器程序,允许用户访问远程计算机上的任何应用程序。
4、万维网
分布式客户/服务器服务
4.1 超文本和超媒体
在超文本环境中,信息存储在一组用链接概念连接在一起的文档中,一个项通过链接与另一个文档相关。正在浏览文档的用户可以通过选择链接到另一个文档的项。
4.2 万维网的组成
浏览器、Web服务器和超文本传输协议(HTTP)
4.2.1 浏览器 通常由三部分构成:控制器、客户端程序和解释器。控制器接收来自键盘或鼠标的输入,使用客户端程序存取文档,文档被存取之后,控制器使用一个解释器在屏幕上显示文档。
4.2.2 服务器 服务器存储所有属于Web站点的页面
4.2.3 超文本传送协议(HTTP)
4.2.4 地址 HTTP使用定位符来访问分布在全世界的文档。
URL 定义了四件事,方法、主机、端口号和路径
4.3 静态文档
4.3.1 HTML,超文本标记语言
用于创建Web界面的语言
4.3.2 XML,可扩展标记语言
在XML中,标签可以用来定义两个标签间文本的内容(类型)。
4.4 动态文档
任何时刻只要浏览器请求文档,Web服务器就会创建动态文档。
4.4.1 CGI,通用网关接口
创建和处理动态文档的技术。
4.4.2 动态文档的脚本技术
使用HTML来创建包含固定部分的文档,并嵌入一个脚本,即某种类型的源代码,让服务器可以运行这段代码来提供变化的部分。
常见的有,使用Perl语言的超文本预处理程序(PHP),使用Java作为脚本语言的Java服务器页面(JSP),使用Visual Basic语言作为脚本语言的活动服务器页面(ASP)
5、活动文档
对于许多应用来说,需要在客户端运行程序或脚本。这些应用被称为活动文档。
有Java小程序、JavaScript
5、其他因特网应用
5.1 视频会议
5.2 分组讨论
5.3 聊天
第七章 操作系统 P140
一、学习目标
1、理解操作系统在计算机中的作用
2、给出操作系统的定义;
3、理解把操作系统调入内存的自举过程
4、列出操作系统的组成部分
5、讨论操作系统中内存管理区的作用
6、讨论操作系统中进程管理器的作用
7、讨论操作系统中设备管理器的作用
8、讨论操作系统中文件管理器的作用
9、理解三种常见操作系统的主要特点:UNIX、Linux和Windows NT
二、引言
1、计算机系统由硬件和软件组成。硬件是计算机的物理设备,软件则是使得硬件能够正常工作的程序的集合。软件又分为操作系统和应用程序。应用程序使用计算机硬件来解决用户的问题,操作系统则控制用户对硬件的访问。
2、操作系统是计算机硬件和用户(程序和人)的一个接口,使得其他程序更加方便有效地运行,并能方便地对计算机硬件和软件资源进行访问。
3、自举过程
很小一部分内存用ROM构成,其中存有称为自举程序的小程序,职责是把操作系统本身装入RAM内存。
三、演化
1、批处理系统
保证计算机所有资源被从一个作业转换到另一个作业
2、分时系统
多道程序:将多个作业同时装入内存,并且仅当该资源可用时分配给需要它的作业。
分时:资源可以被不同的作业分享。每个作业可以分到一段时间来使用资源。
调度:给不同的程序分配资源,,并决定哪一个程序什么时候使用哪一种资源。
进程:内存中等待分配资源的程序
3、个人系统
单用户操作系统,如DOS(磁盘操作系统)
4、并行系统
同一计算机安装多个CPU,每个CPU可以处理一个程序或者程序的一部分,意味着很多任务可以并行完成而不是串行处理
5、分布式系统
一个作业可以由多台计算机共同完成,通过互联网连接即可。
6、实时系统
是指在特定时间限制内完成任务。
四、组成部分
现代操作系统至少具有以下四种功能:内存管理器、进程管理器、设备管理器、文件管理器。操作系统还有这样一个部分,称为用户界面或命令解释程序。
1、用户界面
指用来接收用户(进程)的输入并向操作系统解释这些请求的程序。UNIX的用户界面被称作命令解释程序(shell),其他操作系统中,则被称为窗口,以指明它是一个由菜单驱动的并有着GUI的部件。
2、内存管理器
现代计算机系统的一个重要职责是内存管理。有单道程序和多道程序。
2.1 单道程序
在单道程序中,大多数内存用来装载单一的程序,仅仅一小部分用来装载操作系统。
2.2 多道程序
在多道程序中,同一时刻可以装入多个程序并且能够同时被执行。
2.2.1 分区调度
多道程序的第一种技术成为分区调度。在这种模式中,内存被分为不定长的几个分区。每个部分或分区保存一个程序。CPU在各个程序之间交替服务。
2.2.2 分页调度
分页调度提高了分区调度的效率。在分页调度下,内存被分成大小相等的若干个部分,称为帧,程序则被分为大小相等的部分,称为页。页和帧的大小通常是一样的。
2.2.3 请求分页调度
分页调度不需要程序装载到连续的内存中,但仍需要程序整体载入内存中运行。在请求分页调度中,程序被分成页,但是页可以依次载入内存,运行,然后被另一个页代替。换句话说,内存可以同时载入多个程序的页。
2.2.4 请求分段调度
类似分页调度。在请求分段调度中,程序将按程序员的角度划分成段,被载入内存中,执行,然后被来自同一程序或其他程序的模块所代替。
2.2.5 请求分页和分段调度
请求分页和分段调度结合了两者的优点以提高系统效率。
2.3 虚拟内存
虚拟内存意味着请求分页调度、请求分段调度,或两种都要。
3、进程管理器
3.1程序、作业和进程
程序是程序员编写的一组稳定的指令,存在硬盘上。
作业:从一个程序被选中执行,到其运行结束并再次成为一个程序的这段过程中,该程序称为作业。
进程:是一个执行中的程序。该程序开始执行但还未结束。换言之,进程是一个在内存中运行的作业。
3.2 状态图
一个程序当被操作系统选中时就称为作业并且称为保持状态,直至它载入内存之前都保持这个状态。当内存可以整体或部分载入这个程序时,作业转换成就绪状态,并变成进程。它在内存中保持这个状态直至CPU运行它;这时它转成运行状态。进程可以进入等待状态、就绪状态、终止状态。
3.3 调度器
将一个作业或进程从一个状态改变为另一个状态,进程管理器使用了连个调度器:作业调度器和进程调度器。
3.3.1 作业调度器
将一个作业从保持状态转入就绪状态,或是从运行状态转入终止状态。
3.3.2 进程调度器
将一个进程从一个状态转入另一个状态。
3.3.3 其他调度器
一些操作系统使用其他类型的调度器使进程之间的转换更为有效。
3.4、队列
为处理多个进程和作业,进程管理器使用队列(等待列表)。与每一作业或进程相关的是存有这些作业和进程信息的作业控制块或进程控制块。进程管理器在队列中存储作业或进程控制块,作业或进程仍保存在内存或硬盘中。
一个操作系统有很多个队列。如作业队列、就绪队列和I/O队列。
3.5、进程同步
所有的进程管理的思想都是使得拥有不同资源的不同进程同步。
3.5.1 死锁
当操作系统没有对进程的资源进行限制时将会发生死锁。
四个必要条件:互斥、资源占有、抢先、循环等待。
3.5.2 饿死
4、设备管理器
设备管理器(或者是输入/输出管理器)负责访问输入/输出设备。当一个进程访问输入/输出设备时,在该段时间内这些设备对其他进程而言是不可用的。设备管理器负责让输入/输出设备使用起来更有效。
监视所有的输入/输出设备,以保证它们能够正常运行。
为每一个输入/输出设备维护一个队列
控制访问输入/输出设备的不同策略。
5、文件管理器
控制文件访问
管理文件的创建、删除和修改
给文件命名
管理文件的存储
负责归档和备份
五、主流操作系统
1、UNIX
是多用户、多道程序、可移植的操作系统,被设计来方便编程、文本处理、通信。
1.1 UNIX结构
由四个部分构成:内核、命令解释器、一组标准工具和应用程序。
1.1.1 内核
是UNIX的心脏,包含操作系统的最基本部分:内存管理、进程管理、设备管理和文件管理。
1.1.2 命令解释器
是UNIX中对用户最可见的部分。接收和解释用户输入的命令。
1.1.3 工具
工具是UNIX标准程序,为用户提供支持过程。常用的三个工具是:文本编辑器、搜索程序和排序程序。
1.1.4 应用
不是操作系统发布中的标准部分,但提供了对系统的扩展能力
2、Linux
初始内核(与UNIX小子集相似),具有传统UNIX的所有特性。
2.1组成
内核:负责处理所有属于内核的职责
系统库:含有一组被应用程序使用的函数(包括命令解释器),用于与内核交互。
系统工具:是使用系统库提供的服务,执行管理任务的各个程序。
2.2 网络功能
支持标准因特网协议,支持三层:套接字接口、协议驱动和网络设备驱动。
2.3 安全
身份验证和访问控制
3、Windows NT/2000/XP
3.1 设计目标
可扩展性、可移植性、可靠性、兼容性和性能
3.2 体系结构
硬件抽象层(HAL)为上层隐藏了硬件的差异。
内核
执行者:为整个操作系统提供服务。由六个子系统构成:对象管理器、安全引用监控器、进程管理器、虚拟内存管理器、本地过程调用工具和输入/输出(I/O)管理器。
环境子系统
第八章 算法 P157
一、学习目标
1、定义算法,并与问题求解关联;
2、定义三种结构(顺序、选择和循环),并描述它们在算法中的作业;
3、描述UML图和当表示算法时,它们是如何使用的;
4、描述伪代码和当表示算法时,它们是如何使用的;
5、列出基本算法和它们的应用;
6、描述排序的概念,理解三种原始排序算法背后的机制;
7、描述搜索的概念,理解两种常见搜索算法背后的机制;
8、定义子算法和它们与算法的关系;
9、区分迭代和递归算法
二、概念
1、
算法是一种逐步解决问题或完成任务的方法。
算法接收一组输入数据,同时产生一组输出数据。
2、三种结构
程序必定是由顺序、判断和循环这三种结构组成。
2.1 顺序
2.2 判断
2.3 循环
三、算法的表示
1、UML,统一建模语言,使用大图的形式掩盖了算法的所有细节,只显示算法从开始到结束的整个流程
2、伪代码,是算法的一种类似英语的表示法。
四、定义
算法是一组明确步骤的有序集合,它产生结果并在有限的时间内终止。
1、有序集合:算法必须是一组定义完好且排列有序的指令集合。
2、明确步骤:算法的每一步都必须有清晰的定义。
3、产生结果:算法必须产生结果,否则无意义。
4、在有限的时间内终止:算法必须能够终止。
五、基本算法
1、求和
三个逻辑部分
将和(sum)初始化
循环,在每次迭代中将一个新数加到和(sum)上
退出循环后返回结果。
2、乘积
同样三个逻辑部分,与求和相似。
3、最大和最小
通过判断结构找出两个数中的较大值(较小值),然后把这个结构放在循环中。
4、排序,选择排序/冒泡排序/插入排序
4.1 选择排序:使用两重循环,外层循环每次扫描时迭代一次。内层循环在未排序列表中寻找最小的元素。
4.2 冒泡排序:使用两重循环,外层每次扫描中迭代一次;每次内层循环则将某一元素冒泡置顶部.
4.3 插入排序:外层循环每次扫描迭代,内层循环则寻找插入的位置。
4.4 其他排序算法:
快速排序、堆排序、希尔排序、桶式排序、合并排序等
5、查找
5.1 顺序查找
用于查找无序的列表。来查找较小的列表或是不常用的列表。
从表头开始查找,当找到目标元素或确信查找目标不在列表中时,查找过程结束。
5.2 折半查找
用于查找有序列表。
从一个列表的中间的元素来测试,这能够判别出目标在列表里的前半部分还是后半部分。如果在前半部分,就不需要查找后半部分。如果在后半部分,就不需要查找前半部分。换句话说,可以通过判断排除一半的列表。
重复这个过程直到找到目标或目标不在这个列表里。
六、子算法
根据三层结构理论,可以为每个可解的问题创建算法。结构和编程的原则要将算法分成几个单元,称为子算法。
结构图:显示了算法中不同模块之间的关系。
七、递归
编写解决问题的算法有两种途径,迭代与递归。递归是算法自我调用的过程。
1、迭代,如果算法的定义没有包含算法本身,则叫做迭代法
2、递归,如果算法的定义中有其本身,则是递归。递归容易理解,效率相比较低。
第九章、程序设计语言 P176
一、学习目标
1、描述从机器语言到高级语言的编程语言演化;
2、理解如何使用解释器或编译器将高级语言中的程序翻译成机器语言
3、区分四种计算机语言模式;
4、理解过程式模式和在模式中程序单元与数据项间的交互;
5、理解面向对象模式和在这种模式中程序单元与对象间的交互;
6、定义函数式模式,理解它的应用;
7、定义说明式模式,理解它的应用;
8、定义过程式和面向对象语言中的常见概念
二、演化
计算机语言是指编写程序时,根据事先定义的规则(语法)而写出的预定语句的集合。计算机语言已经从机器语言演化到高级语言。
1、机器语言
在计算机发展的早期,唯一的程序设计语言是机器语言。
机器语言是计算机硬件唯一能理解的语言。
2、汇编语言
用带符号或助记符的指令和地址代替二进制代码的语言被称为符号语言,这些助记符语言后来被称为汇编语言。
用于将汇编语言代码翻译成机器语言的特殊程序是汇编程序。
3、高级语言
高级语言使程序员能够将精力集中在应用程序上,其设计目标就是使程序员摆脱汇编语言繁琐的细节。有BASIC、COBOL、Pascal、Ada、C、C++、Java.
高级语言被转化为机器语言的过程称为解释或编译。
三、翻译
高级语言为了在计算机上运行,需被翻译成机器语言。高级程序被称为源程序,被翻译成的机器语言程序称为目标程序。有两种方法:编译和解释。
1、编译
编译程序通常把整个源程序翻译成目标程序。
2、解释
解释是指把源程序中的每一行翻译成目标程序中相应的行,并执行它的过程。
2.1 解释程序的第一种方法( Java语言之前的第一种方法)
源程序的每一行被翻译成被其使用的计算机上的机器语言,该行机器语言被立即执行。有错误,过程显示消息,其余的过程终止,程序被改正后再次重头解释和执行。
2.2 Java使用的解释程序
Java源程序首先被编译,创建Java的字节代码,字节代码然后能被任何运行JVM虚拟机的计算机编译或解释。
3、翻译过程
编译在执行前翻译整个源代码,而解释一次只翻译和执行源代码中的一行。
3.1 词法分析器
词法分析器一个符号接一个符号地读源代码,创建源语言中的助记符表。
3.2 语法分析器
语法分析器分析一组助记符,找出指令。
3.3 语义分析器
语义分析器检查语法分析器创建的句子,确保它们不含有二义性。
3.4 代码生成器
在无二义性的指令被语义分析器创建后,每条指令将转化为一组程序将要在其上运行的计算机机器语言。这个由代码生成器完成。
四、编程模式
模式是一种计算机语言看待要解决问题的方式。分为4种模式:过程式、面向对象、函数式和说明式。
1、过程式模式
在过程式模式中,程序被看成操纵被动对象的活动主体。
代表有,FORTRAN/COBOL/BASIC/C/Pascal/Ada
过程式模式下,程序就是活动主体,该主体使用称为数据或数据项的被动对象。为了操纵数据,活动主体发布动作,称之为过程。
过程式模式程序由三部分构成:对象创建部分、一组过程调用和每个过程的一组代码。
1.1 FORTRAN(FORmula TRANslation) 第一代高级语言。特征:高精度算法、处理复杂数据能力、指数运算。
1.2 COBOL(COmmon Bussiness-Oriented Language),设计目标:作为商业编程语言使用。
特征:快速访问文件和数据库、快速更新和数据库、生成大量的报表、界面友好的格式化的输出。
1.3 Pascal
设计思想:通过强调结构化编程方法来教初学者编程。现在的过程式语言归功于该语言。
1.4 C语言
最初用于编写操作系统和系统软件。
C有高级指令和低级指令,是非常有效的语言,指令短。
1.5 Ada
特征:有其他过程式语言那样的高级指令、有允许实时处理的指令、具有并行处理能力。
2、面向对象模式
面向对象模式处理活动对象,而不是被动对象。在过程式模式中的过程是独立的实体,但面向对象模式中的方法是属于对象领地。
代表有:Smalltalk/C++/Visual Basic/C#/Java
2.1 类
相同类型的对象需要一组方法,为了创建这些方法,面向对象语言使用称为类的单元。
2.1.1 方法
总体上,方法的格式与有些过程式语言中用的函数非常相似。每个方法都有它的头、局部变量和语句。
2.1.2 继承性
在面向对象模型中,作为本质能从另一个对象继承,这个概念称为继承性。
2.1.3 多态性
在面向对象模式中的多态性是指我们可以定义一下具有相同名字的操作,而这些操作在相关类中做不同的事情。
2.2 C++
比C语言更高级的一种计算机编程语言。使用类(class)来定义相似对象的通用属性以及可以应用于它们本身的各种操作。
C++语言的设计遵循三条基本原则特性:封装、继承和多态。
2.3 Java
在C和C++的基础上发展而来,移除了一些特性,从而健壮性更好。是完全面向类操作。
3、函数式模式
在函数式模式中程序被看成是一个数学函数,主要实现以下功能:
定义一系列可供任何程序员调用的原始(原子)函数
允许程序员通过若干原始函数的组合创建新的函数。
相对于过程式语言具有两方面优势:支持模块化编程并且允许程序员使用已经存在的函数来开发新的函数。
代表有:LISP/Scheme
3.1 LISP
表处理解释语言(LISt Programming,LISP)
3.2 Scheme
LISP没有统一标准化,实际使用的标准有MIT在20世纪70年代早期开发,称为模式。
4、说明式模式
说明式模式依据逻辑推理的原则响应查询。
代表有:Prolog
栗子
human(John)
mortal(human)
用户询问
? -mortal(John)
程序响应 yes
五、共同概念
1、标识符
过程式语言的共同特点之一就是都具有标识符。
标识符允许给程序中的数据和其他对象命名。
2、数据类型
数据类型定义了一系列值及应用于这些值的一系列操作。每种数据类型值的集合称为数据类型的域。大多数语言都定义了两类数据类型:简单数据类型和复合数据类型。
2.1 简单数据类型
简单数据类型是不能分解成更小数据类型的数据类型。有:
整数类型是不包括小数部分的完整的数。
实数类型是带小数部分的数字。
字符类型是语言使用的潜在字符集中的符号
布尔类型是只取两个值(真/假)的数据类型
2.2 复合数据类型
复合数据类型是一组元素,其中每个元素是简单数据类型或复合数据类型。有:
数组是一组元素,元素的类型相同。
记录是一组元素,元素的类型可以不同。
3、变量
变量是存储单元的名字。
3.1 变量声明
大多数过程式语言和面向对象语言要求变量在使用前被声明。
3.2 变量初始化
变量在声明和定义时可以进行初始化,即在变量中存储一个值。
4、字面值
字面值是程序中使用的预定义的值。
5、常量
常量是一个可以存储值的命名的位置。同样是有类型。
6、输入和输出
几乎所有的程序都需要输入和(或)输出数据。
6.1 输入
数据或者通过语句或者通过预先定义的函数完成输入。
6.2 输出
数据或者通过语句或者通过预先定义的函数来完成输出。
7、表达式
表达式是由一系列操作数和运算符简化后的一个单一数值。
7.1 运算符
运算符是用来完成一个动作的特定语言的语法记号。每一种语言都有运算符,在语法或规则等方面的使用是严格定义的。有:
算术运算符,如+ - * / ++ --
关系运算符,如< <= > >= == !=
逻辑运算符,如! && ||
7.2 操作数
操作数接收一个运算符的动作。
8、语句
每条语句都使程序执行一个相应动作,被直接翻译成一条或者多条计算机可执行的指令。
8.1 赋值语句
赋值语句给变量赋值。使用 符号←定义赋值
8.2 复合语句
复合语句是一个包含0个或多个语句的代码单元,也被称为块。一般包括一个左大括号、一个可选语句段以及一个右大括号。
8.3 控制语句
控制语句与选择和重复有关。
选择语句由两路和多路选择语句。
重复语句,C/C++/Java中有while、for、do..while三种语句
9、子程序
完成单一任务的这些过程的子集能集合在一起,放在它们自己的程序单元中,也就是子程序。
9.1 局部变量
当子程序每次被调用时这些局部对象或局部变量被创建,当控制从子程序返回时被销毁。
9.2 参数
子程序可能需要作用于主程序创建的对象,在此时程序使用参数。在主程序中称为实际参数,在子程序中称为形式参数。
有传值和传引用两种方式。
9.3 传值
在传值参数中,主程序和子程序的通信是单向的,从主程序到子程序,主程序传递实际参数的值,存储到子程序中相应的形式参数中。从子程序到主程序没有参数的通信。
9.4传引用
传引用被设计来允许子程序改变主程序中变量的值。在传引用中,变量被主程序和子程序共享。
9.5 返回值
子程序可以被设计成返回一个或几个值。
9.6 实现
子程序概念在不同的语言中不同,在C/C++中,子程序被实现为函数。
第十章 软件工程 P196
一、学习目标
1、理解软件工程中的软件生命周期的概念;
2、描述两种主要的开发过程模型:瀑布模型和增量模型
3、理解分析阶段,描述在分析阶段两种独立的方法:面向过程分析和面向对象分析;
4、理解设计阶段,描述在设计阶段两种独立的方法:面向过程设计和面向对象设计;
5、描述实现阶段,识别这阶段中的质量问题;
6、描述测试阶段,区分白盒测试和黑盒测试;
7、识别软件工程中文档的重要性,区分用户文档、系统文档和技术文档。
二、软件生命周期
软件生命周期是软件工程中的一个基础概念。软件和其他产品一样,周期性重复着一些阶段。
软件最初由开发者开发。软件在使用中经常需要修改。使用和修改,这两个步骤一直进行下去,直到软件过时。
1、开发过程模型
开发过程包括四个阶段:分析、设计、实现和测试。开发过程有多种模型,最常见的:瀑布模型和增量模型。
1.1 瀑布模型
软件开发过程的一种非常流行的模型就是瀑布模型,在这种模型中,开发过程只有一个方向的流动。
优点:在下一个阶段开始前每个阶段已经完成。
缺点:难于定位问题。
1.2 增量模型
在增量模型中,开发者首先完成整个系统的简化版本。然后加入细节,测试系统,定位问题。
三、分析阶段
开发过程始于分析阶段,这个阶段生成规格说明文档,文档说明了软件要做什么,而没有说明如何去做。
1 面向过程分析
如果实现阶段使用过程式语言,那么面向过程分析就是分析阶段使用的方法。这种情况下的规格说明可以使用多种建模工具。
1.1 数据流图
数据流图显示了系统中数据的流动。使用四种符号:方形盒表示数据源或数据目的,带圆角的矩形表示过程(数据中的动作或操作),末端开口的矩形表示数据存储的地方,箭头表示数据流。
1.2 实体关系图
见数据库设计。
1.3 状态图
状态图通常用于当系统中的实体状态在响应事件时将会改变的情况。
2 面向对象分析
如果实现使用面向对象语言,那么面向对象分析就是分析过程使用的。
2.1 用例图
用例图给出了系统的用户视图:它显示了用户与系统间的交互。
用例图使用四种组件:系统、用例、动作者和关系。
系统(用矩形表示)执行功能。系统中的行动由用例(圆角矩形)表示,
动作者是使用系统的某人或某事,用线条任务表示。
2.2 类图
分析的下一步就是创建系统的类图。更多细节查阅软件工程方面的书。
2.3 状态图
类图完成后,可以为类图中的每个类准备状态图。
四、设计阶段
设计阶段定义系统如何完成在分析阶段所定义的需求。
1 面向过程设计
面向过程设计中,既要有设计过程,也要有设计数据。
1.1 结构图
在面向过程设计中,说明模块间关系的常用工具是结构图。
1.2 模块化
模块化意味着将大项目分解成较小的部分,以便能够容易理解和处理。
当系统被分解成模块时,主要关心两点:耦合和内聚。
1.2.1 耦合:软件系统中模块间的耦合必须最小化。
耦合是对两个模块互相绑定紧密程度的度量。越紧耦合模块,独立性越差。为了让模块尽可能独立,松散耦合是希望的
松散耦合的模块更可能被重用,
松散耦合的模块不容易在相关模块中产生错误,
松散耦合的模块允许我们只修改需要改变的模块,而不会影响到不需要改变的模块。
1.2.2 内聚:软件系统模块间的内聚必须最大化
模块化的另一个问题是内聚。内聚是程序中处理过程相关紧密程度的度量。
2 面向对象设计
在面向对象设计中,设计阶段通过详细描述类的细节来继续。
五
网站评分
-
书籍多样性:8分
-
书籍信息完全性:7分
-
网站更新速度:3分
-
使用便利性:7分
-
书籍清晰度:4分
-
书籍格式兼容性:8分
-
是否包含广告:7分
-
加载速度:5分
-
安全性:5分
-
稳定性:6分
-
搜索功能:3分
-
下载便捷性:9分
下载点评
- 格式多(434+)
- 已买(626+)
- 体验好(198+)
- 体验还行(58+)
- 一般般(651+)
- 推荐购买(164+)
- 五星好评(404+)
- 中评多(426+)
- 还行吧(341+)
下载评价
-
网友 冷***洁:
( 2025-01-01 12:02:47 )
不错,用着很方便
-
网友 詹***萍:
( 2025-01-03 17:53:27 )
好评的,这是自己一直选择的下载书的网站
-
网友 宫***凡:
( 2025-01-02 06:08:24 )
一般般,只能说收费的比免费的强不少。
-
网友 屠***好:
( 2025-01-25 21:28:29 )
还行吧。
-
网友 邱***洋:
( 2025-01-25 19:45:58 )
不错,支持的格式很多
-
网友 益***琴:
( 2025-01-24 02:47:29 )
好书都要花钱,如果要学习,建议买实体书;如果只是娱乐,看看这个网站,对你来说,是很好的选择。
-
网友 戈***玉:
( 2025-01-07 19:08:49 )
特别棒
-
网友 国***舒:
( 2025-01-21 12:39:17 )
中评,付点钱这里能找到就找到了,找不到别的地方也不一定能找到
-
网友 蓬***之:
( 2025-01-01 18:01:36 )
好棒good
-
网友 焦***山:
( 2025-01-26 20:59:33 )
不错。。。。。
-
网友 隗***杉:
( 2025-01-11 14:29:41 )
挺好的,还好看!支持!快下载吧!
-
网友 冯***丽:
( 2025-01-02 18:15:02 )
卡的不行啊
-
网友 孙***夏:
( 2025-01-22 11:26:16 )
中评,比上不足比下有余
喜欢"9787560557700"的人也看了
-
微反应心理学 捕捉本能反应,窥探微妙的情绪真相 pdf epub azw3 2024 下载
-
工程项目投资与融资 第2版 宋永发 石磊 林婧 刘莎 窦玉丹 编著 机械工业出版社 【新华书店正版图书书籍】 pdf epub azw3 2024 下载
-
金融专业知识与实务(中级)历年真题及押题模拟试卷 2022 立信会计出版社 pdf epub azw3 2024 下载
-
【预订】Kid Songs Around the World: A Mama Lisa Book pdf epub azw3 2024 下载
-
【中商原版】司法心理学 研究与应用 双册不分售 港台原版 柯特 巴托尔 安妮 巴托尔 商周 pdf epub azw3 2024 下载
-
完全掌握 新韩国语能力考试TOPIK语法 初级中高级全收录 韩语topik韩国语语法大全语法标准教程topik自学书籍 华东理工大学 pdf epub azw3 2024 下载
-
浙江戏曲艺术资源的数字化保护和开发 曾奇琦 著 pdf epub azw3 2024 下载
-
变局:中国智库专家视角9787513662178 正版新书正浩图书专营店 pdf epub azw3 2024 下载
-
圣才教育:银行业专业人员职业资格考试 风险管理(中级)过关必做1000题(含历年真题)(第2版) pdf epub azw3 2024 下载
-
2020 MBA、MPA、MPAcc、MEM管理类联考田然综合十年真题套卷 pdf epub azw3 2024 下载
- 陕西公务员考试中公2018陕西省公务员录用考试专用考试套装 行政职业能力测验+申论+历年真题精解行政职业能力测验+历年真题精解申论+全真模拟预测试卷行政职业能力测验+全真模拟预测试卷申论(共6册) pdf epub azw3 2024 下载
- 加菲猫全集(1-10册)(64开本) pdf epub azw3 2024 下载
- 全新正版图书 猫武士二部曲.4艾琳·亨特中国少年儿童出版社9787514849394 儿童小说长篇小说英国现代小学生蔚蓝书店 pdf epub azw3 2024 下载
- 男性保健150问 性保健分册 pdf epub azw3 2024 下载
- 工业4.0:中国式工业 4.0 的转型之路 pdf epub azw3 2024 下载
- 谁是谁的救赎 pdf epub azw3 2024 下载
- 双响炮 pdf epub azw3 2024 下载
- 舞蹈学·第二辑 pdf epub azw3 2024 下载
- 箱庭疗法【正版书籍】 pdf epub azw3 2024 下载
- 恐龙小Q 去旅行-看世界名胜古迹(适合6-14岁) pdf epub azw3 2024 下载
- 捷联式惯性导航系统新型初始对准技术 pdf epub azw3 2024 下载
- 剑桥国际英语教程录像教师用书2 pdf epub azw3 2024 下载
- 国际篮联裁判员手册3人执裁基础 中国篮协协会著 北京体育大学出版社 体育理论 体育运动基础理论知识裁判判定规则理论手册 篮球规则书籍 pdf epub azw3 2024 下载
- 社会工作法规与政策(中级2017社会工作者职业水平考试考点精讲真题自测) pdf epub azw3 2024 下载
- 2021版全国监理工程师职业资格考试红宝书 建设工程进度控制(土木建筑工程)历年真题解析及预测 pdf epub azw3 2024 下载
- 2021版监理工程师 教材 建设工程进度控制(土木建筑工程) pdf epub azw3 2024 下载
- 从邂逅到相识:孔子与亚里士多德相遇在明清 pdf epub azw3 2024 下载
- 带本英语书畅游世界 中国纺织出版社 pdf epub azw3 2024 下载
- 明清贵州700进士 pdf epub azw3 2024 下载
- 司法改革论评.2022年.第1辑:总第33辑 pdf epub azw3 2024 下载
书籍真实打分
故事情节:6分
人物塑造:3分
主题深度:9分
文字风格:5分
语言运用:4分
文笔流畅:4分
思想传递:5分
知识深度:5分
知识广度:7分
实用性:8分
章节划分:9分
结构布局:8分
新颖与独特:3分
情感共鸣:7分
引人入胜:6分
现实相关:6分
沉浸感:3分
事实准确性:7分
文化贡献:8分