思维之海

——在云端,寻找我的星匙。

《大学计算机——计算思维的视角》笔记

这是关于《大学计算机——计算思维的视角》的笔记。PDF

以下内容仅为预览

下面的内容从onenote版转换而来。要看还是看PDF吧。


一、绪论

1.信息社会与信息素养

人类社会发展回顾 农业社会——工业社会(蒸汽时代、电气时代)——信息社会(计算机时代)

农业社会:体力劳动、手工业。

工业社会:蒸汽动力——电力——生产关系的改变。

后工业社会:信息技术的快速发展。

信息社会:信息的全面流通,从根本上进行了革新。“信息化”。“知识社会”,应用创新增加。

特征:显现出不同的年代特征。从经济领域,信息、知识成为重要的生产力要素,智能化设备大量应用。

个人的能力素质:行为习惯、思维方式的内在特质。(价值观、品质、特征)

信息素养:

  • 信息意识(信息敏感度)

  • 信息知识(获取与利用)

  • 信息能力(解决与创造)

  • 信息道德(现实与伦理)

2.人类思维与逻辑学

大学教育:

不局限与知识培养。(哈佛大学学生培养8项标准,通识教育)

培养终身的思维方式。(哈弗文理学院,批判的态度接受知识,认知、使用、理解)

人类思维:(与生俱来)

感觉器官(直接),大脑(记忆、思维)。其中思维是事物的概括和间接反映。

特性:概括性、间接性、逻辑性(思维规则)。

分类:形象思维(文学艺术)、逻辑思维(理论抽象)、灵感和顿悟。

逻辑思维与逻辑学:

遵循一定的思维规律。

逻辑学:一门探索、阐述和确立有效推理规则的学问,是关于思维形式及其规律的学说。

  • 概念(抽象概括,词、词组,思维的基本单位)主词、谓词

  • 判断(概念之间的联系,语句)量词

  • 推理(一定的思维规则,归纳、演绎)

逻辑推理的形式:

  • 三段论(又称直言三段论,大前提、小前提、结论,演绎逻辑)

  • 假言推理(充分、必要、充要条件形式,if前件、then后件)

  • 选言推理(相容选言推理,p或者q)

逻辑思维规律:同一律、矛盾律、排中律。

数理逻辑:

莱布尼茨将思维符号化,称为数理逻辑。(2进制发明者)

布尔建立布尔代数,创立一套符号系统。

弗雷格引入量词(全称、特称、单称)。

3.计算思维

  • 科学研究与科学思维

  • 理论思维——理论科学(推理)推理和演绎,如数学

  • 实验思维——实验科学(实证)观察和总结,如物理学

  • 计算思维(普适性)

工具影响和改变人类的思维。有意和无意与计算机的联系。

运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。计算思维最根本的内容(本质),是抽象和自动化。

计算学科已经成为各学科求解问题的基本思想、方法和手段。

个人观点:借助计算机进行问题求解的思维意识,对计算、算法、数据及其组织、程序、自动化等核心的计算机科学概念的潜意识运用。

思维是一种潜移默化,是一种下意思、不自觉的行为。(大数据正是基于思维信息的收集)

问题——数学模型——数据结构、求解算法——程序——问题的解。

4.计算与计算科学

计算——数学(数与形的科学)【自然科学中的哲学,思维的训练】。

算数——工程数学——数值分析——计算科学。

数学的分类:纯粹数学、应用数学、计算技术(计算数学和计算机)。

二进制 + 数理逻辑 + 电路 = 最初的电子计算机。

5.学科交叉与融合

  • 计算机与计算数学

数学学科:纯粹数学、应用数学、计算技术(计算数学和计算机)。

计算机:搭起了数学与应用之间的桥梁。利用计算机的高速、高精度运算能力和自动化特性来寻找答案。

数学应用:传统的数学难题,四色定理、寻找最大的梅森素数、密码学研究……还有数学计算程序(MATLAB、Maple、Mathematic等)。

  • 计算物理

计算物理学。

计算机模拟仿真。

  • 计算化学

1998年,2013年诺贝尔化学奖,均颁布给了计算化学领域。

  • 计算机与生物学、医学

计算生物学、生物信息学、生物医学。

计算机应用:霰弹枪算法(Shotgun Algorithm)提高人类基因组测序速度。DNA计算机。

  • 社会计算

社会系统是一个比自然系统更加复杂的系统。抽象、建模。

  • 信息社会的应用创新

理论创新被应用创新所替代。人人皆可创新。

————————————————————————————————————————————

二、计算与计算机

1.数、计算与计算工具

数的起源 语言的产生——“记数”、“计算”。
计算工具 算筹、算盘、纳皮尔筹、计算尺、机械式计算机、电子计算机。

2.计算机的产生和发展

—计算的自动化—

1642年,法国人Pascal发明加法器,历史上的第一步。(Pascal语言的命名就是纪念他)

巴贝奇与“差分机”

  • 研究动因:18世纪末,人工“数学计算用表”,大规模工程。

  • 1822年完成第一台差分机。差分,就是把函数表的复杂算式转化为差分运算,用简单的加法代替平方运算。

  • 灵感来源于织布机。

———分析机:通用数学计算机【当时制造水平、工艺使得精度达不到要求,最终宣告失败】

制表机:现代计算机的雏形

根据织布机的原理,利用穿孔卡片输入、输出。在1890年的美国人口普查中得到应用。

———IBM前身。

—计算机产生前夜—

机电式计算机 Mark-1,by 艾肯【采用机电方法而非机械】

—计算机产生的理论基础—

  • 二进制『莱布尼茨发明』

算法规则简单,便于数据存储和实现。

  • 数理逻辑

莱布尼茨设计了一种演算推论器。

  • 布尔代数

  • 计算模型

  • 图灵机

—电子计算机产生的诞生—

ENIAC——UNIVAC【标志计算机时代】——-巨人——ABC

—计算机的发展—

  • 分为4代。

电子管(真空管)——晶体管(半导体)——集成电路——(超)大规模集成电路(微处理器)。

集成电路的发展规模+++,受到限制。(摩尔定律受到时代局限)

新型计算机的研制。

3.数的表示和字符编码

—数的进制—

非进位数值、进位数值(值与位置相关)。

2、8、10、16进制。(8、16进制通常可以简化2进制书写)

—数的表示—

  • 机器数:数在计算机内部的表示。最高位为符号位,其表值称真值,这样形式称为数的原码表示。

反码:各位取反。补码:仅对于负数有效操作,保留符号位,其余各位取反,+1。

  • 计算机字:若干个二进制位作为整体来处理、保存或传送。分为数据字和指令字。特别的,对于数值数据,分为定点数(整数、纯小数)、浮点数(小数)。浮点数的表示不唯一,规定尾数必须以0.1开头,称为正规化,保证了唯一性 。存在溢出(数据存储)和机器误差(实数精度存储)。

—字符数据和字符编码—

输入与输出。ASCII码——>Unicode码。

4.计算机硬件系统

计算机体系结构:

  • 冯诺依曼计算机体系结构

  • 基于总线的微型计算机体系结构

  • 多处理器计算机结构

多核【封装在一个电路里,多个处理器核心,通过CPU内部总线通信】

多处理器【多个独立CPU,通过主板上的系统总线通信】

CPU:

本质——算术逻辑单元。

结构——运算器(ALU)、控制器、寄存器、内部总线。

性能指标——主频(电路上信号的变化,决定ALU运行速度)、外频(决定CPU与主板同步速度)、总线频率(CPU与内存数据交换速度),缓存(缓冲内存读取和CPU使用的速度差),CPU指令集,运算速度(每秒所能执行的指令数,一般用主频表示)。

存储器:

材料<——>物质。材料是有特殊用途的物质。

存储介质——磁介质、光盘、半导体元件。按功能可分为内存、外存。

输入输出(I/O):

输入输出系统:CPU与除主存之外的其他部件之间传输数据的软硬件机构的统称。

指令系统:

一条计算机指令通常由操作码和地址码两个部分构成。

5.计算机软件系统

系统软件——应用软件——用户。

系统软件:操作系统、编译器、数据库管理系统……与计算机硬件打交道。

应用软件:为用户需求设计的软件。

—操作系统的功能:

处理器、存储器管理,设备管理,文件管理,任务管理,用户管理,用户、计算机交互界面或操作接口。

文件:

  • 逻辑结构:有结构文件(多个记录构成)、无结构文件(字符流文件)。

  • 物理结构:文本文件、二进制文件。

人机界面:命令行CLI,图形界面GUI。

6.计算机的运行

启动:(矛盾的过程)

BIOS ROM(只读)芯片,保存系统的重要信息和设置系统参数的设置程序。

  • POST加电自检程序

  • BIOS设置程序(设置系统引导顺序等)

  • 系统自举装载程序

  • 中断服务程序

COMS RAM(可擦写,断电时丢失信息,一般独立电池供微弱电),存放BIOS中的设置信息。

读取主引导记录——硬盘启动——加载操作系统——执行用户程序。

7.计算机应用

数值计算、数据处理、计算机辅助、过程控制、-人工智能(相对于与生俱来的自然智能)。

图灵:“与人脑的活动方式极为相似的机器是可以制造出来的。”

————————————————————————————————————————————

三、问题求解与算法

1.问题与问题求解

  • 人类问题求解的思维过程

问题:需要解决但尚未解决的事。来源于科学研究、任务发布。

问题分析:问题归约、问题抽象、数学建模,其结果是问题的形式化、模型化。

提出假设。

检验假设:实践检验、理论验证。

  • 领域问题及形式化描述

问题的要素:现实 + 目标。

问题形式化:现实——>目标。

问题归约:将复杂的问题简化为相对简单的形式。

三要素:目标、算子集(若干操作)、基元问题集(有可描述解的问题)。

表示——与或图(通过与、或关系节点描述问题的解题步骤)。

问题求解策略:

  • 算法式(枚举、递归等)【逻辑方法,费时】

  • 启发式(手段目的分析、顺向推理 [数据驱动]、逆向推理)【不保证得到答案】

  • 问题抽象与数学建模

抽象:抽取本质特征(共性)。抽象具有层次性。

—事物抽象的方法:分离、提纯、简略。

应用知识从实际问题中抽象提取出数学模型。

—哥德堡七桥问题:有人提出如何一次走完7桥(Euler回路)。【数学抽象】

欧拉将七桥问题抽象为图的问题(一笔画),证明了7桥无解,同时开创了图论分支。

模型的分类:

  • 静态模型(代数方程),动态模型(微分、差分方程)。

  • 连续时间模型(微分方程),离散事件模型(差分方程)。

…………

  • 计算机求解问题

2.算法与算法分析

  • 算法描述

算法:为问题求解的精心设计的程序序列。

特征:确定性、可行性、有穷性。输入、输出。

描述方法:自然语言、流程图(如N-S图)、伪代码。

  • 算法分析

P问题:多项式时间;NP问题:非确定性多项式问题(能够判断已知的答案是否正确);NP完全问题:所有可能答案都能在多项式时间内验算;NP难度问题:可以用穷举法,但复杂度是指数关系。

—美国数据加密标准DES采用长度为64位的密钥(实际密钥56位,8位用于奇偶校验),采用穷举搜索密钥,设计算机每秒钟判断一亿个密码是否正确,则要穷举所有的可能密钥需要花费的时间约为22.85年。

3.算法设计与分类

—算法设计

  • 穷举法(枚举法)

通常为NP-hard问题,即非确定性多项式难解问题。“百钱买百鸡问题”,“0-1背包问题”。

  • 递推法

根据递推关系进行问题求解的方法。一般通过已知条件,根据特定的递推关系得出中间结论,直至得到问题的最终结果。

递推关系可以抽象为一种简单的数学模型。

顺推法:已知条件——>最终结果。

逆推法:已知结果——>初始条件。

“Fibonacci Sequence”、”储油点问题”。

  • 递归法(编程技术)

从已知出发,一步步推出未知项。思想上类似于“逆推法”,但它针对的是对待解问题的递归,把复杂的问题递推为简单的易解问题,然后一步步返回去得到解,属于一种编程技术。“Hanoi塔”。

  • 回溯法

在解空间中不断地 试探 — 回溯 。“老鼠走迷宫”,“八皇后问题”。

从本质上讲,回溯法也是一种穷举法,但回溯法每次测试的是解的一部分,而不是完整的解,提高了效率,可以利用递归编程找出问题所有的解。

  • 迭代法(编程技术)

“辗转相除法”、“二分法求非线性方程的解”。

  • 分治法

各个系统分而治之。“Merge Sort”。

  • 贪心法

从当前情况考虑局部最优解,不保证整体最优,可能是次优解。“0-1背包问题”。

  • 动态规划法

应用背景:子问题重复+最优子结构。

4.搜索问题与查找算法

搜索问题:抽象——主关键字。

顺序查找、折半查找。

查找算法性能评价:时间复杂性、查全率、查准率。

5.排序问题及排序算法

如:扑克牌、身高、数字的排序。

稳定排序——已经排好序的任意两个元素,在排序过程中关系不被破坏。相对的是非稳定排序。

内部排序——被排序的记录较少,整个排序过程可以只在内存中完成。相对的是外部排序,需要外存。

分类:选择排序、交换排序、插入排序、归并排序、基数排序 [ O(d- n) ])。

基数排序:多关键字排序。

十进制技术分类:被分类的关键字值是十进制整数,每一位数字视为一个关键字。

—过程:把输出分为10个桶(0至9),整个分类过程分成d遍(d为被分类数字的最多位数)。

  • 对最低关键字进行桶排序[堆栈],再把排序结果作为第二次的排序依据进行循环。

6.网络搜索问题

  • 搜索引擎

鼻祖:Archic(档案检索系统),by Alan Ematage’s Group。

1代:目录搜索引擎,主题查询,树形结构,手工分类。

2代:蜘蛛程序,自动完成分类、目录,如Google,Baidu。网页快照,即使网页不再存在,也可能在搜索服务器上保有一定的资料。

—全文搜索引擎的构成:搜索器——>索引器——>检索器——>用户接口。

  • Page Rank排序算法(PR)

基于接入链接(Vote)的数量、重要性对网页进行评级。

网页链接关系:正向、反向。

计算思想:假定初始所有网页的排名相同,基于此进行迭代,可以证明收敛。Google28天才排序一次。

—可能的问题:可能导致死循环,还有二维矩阵相乘的问题(迭代)。

  • 启示

创新永无止尽。链接的价值度。

————————————————————————————————————————————

四、数据与数据结构

1.数、数据及数据结构

自然数,整数,分数,有理数,无理数,虚数。

  • 数据

对客观事物的符号表示。一切能传到计算机里保存的符号都可以称为数据。

  • 数据结构

数据之间的关系。

—数据类型:抽象,决定了在计算机中所占有的存储空间大小,决定了数据的性质。分为简单类和构造类。

——逻辑结构

  • 集合(数据元素关系十分松散)

  • 线性结构(元素间存在先后关系)

  • 树形结构(层次关系,元素称为”节点”)

  • 图状结构(多对多的关系,复杂、任意)

——存储结构(数据结构在计算机中的表示,又称物理结构)

​ ——存储数据 + 存储关系

  • 顺序存储(一组连续的地址空间存储元素,借助数据相对位置表示关系)

  • 链式存储(指针来存储关系,增加了存储空间要求,灵活)

2.线性结构

  • 排队问题及抽象

先到先服务(使用排队机)。

  • 线性表

具有n个元素( n > 0 )的有序序列。

基本操作:求表长度、取元素、定位、前移、后移、插入( 费时 )、删除。

—顺序存储结构:数组。

—链式存储:元素 + 指针。

  • 堆栈

后进先出表。一般使用顺序存储结构。

  • 队列

先进先出表。

3.树形结构

  • 层次关系

族谱、组织机构、问题决策……

  • 博弈与决策:可以利用图形表示,称为博弈树[Game Tree]/决策树。

  • 树形结构

表示:图、Venn图……

  • 二叉树

  • 常用操作、算法

前序、中序、后序遍历。

4.图结构

哥尼斯堡七桥问题——Euler迹——图论。

存储:邻接矩阵(O(n^2),密集)、邻接表(O(lgn)或O(n),稀疏)。对有向图还有逆邻接表(最大流问题中有应用)。

遍历:广度优先(队列)、深度优先(堆栈)。

支撑树(生成树):最小支撑树(生成树)——>Kruskal算法。

5.应用举例

  • 网络与最短通路问题

交通问题:定点代表城市,边代表长度、费用等

—有通路吗?最短路?

  • Dijkstra最短路径算法(图的邻接矩阵存储,无通路的边权设为无穷大)

  • 工程拓扑排序问题

子工程、加工工序之间受到约束,形成有向图的结果。拓扑排序序列不一定唯一。

AOV网络(Acitivity on Vertex):无权有向图,定点代表Acitivity,有向边代表优先顺序。

  • AOV网络拓扑分类算法(计算每个定点的入度,取出并删去最高者,循环)

  • 工程关键路径问题

工程的工期、产品的生产周期。

AOE(Acitivity on Edge):有权有向图,定点代表事件,有向边代表活动,有向边的权代表活动的持续时间(时间可以为0)。

—关键路径:AOE网络中,某些活动可以并行进行,最短时间由最长路的长度限制(木桶效应)。

  • 计算事件的最早最迟时间,再计算活动的最早最迟时间——>在关键路径上,活动(边)的最早最迟时间的差为0。

—-通常可以缩短关键活动的工期以缩短整个工程的工期,但并不绝对,因为所有的活动是在AOE网络相互耦合的,可能牵一发而动全身,甚至使关键路径发生变化。

————————————————————————————————————————————

五、计算机程序

1.计算机程序概述

  • 自然语言与形式语言

自然语言有歧义(二义性),因此需要形式化的语言。

  • 计算机程序设计语言

一组基本符号,和语法规则。

—机器语言(指令,计算机直接执行,可读性差,可移植性差)

—汇编语言(机器语言的助记符语言,本质上仍然面向机器,不能直接运行,通用性差)

—高级语言(可读性好)

  • 50年代:FORTRAN,ALGOL,LISP,COBOL

  • 60年代:Basic

  • 70年代:(结构化编程)Pascal,C,Smalltalk,Prolog

  • 80年代:(面向对象)C++,Ada,Perl

  • 90年代:Python,Visual Basic,Java,Delphi,C#

计算机程序Program:有目的地控制计算机的一组指令序列。源程序(解释型、编译型)、可执行程序。

计算机软件Software:管理文档,技术文档。

计算机应用Application:软件系统,运行环境。

—-软件系统开发:需求分析,设计,编码,测试,运行和维护

———软件的开发环境:编译器,类库/函数库,连接(静态、动态 [ DDL库 ] ),编辑器,调试工具。

2.C/C++程序设计语言

程序设计语言:数据和数据类型、运算符和表达式、程序语句和语句块、函数。

-C语言:ALGOL 60基础上推出CPL——>B——>C——->Unix.

程序语句:高级语言书写的指令语句。

—赋值语句=赋值表达式+分号。

语句块:若干程序语句,可以看作逻辑上的一个语句。

—-函数:结构化编程(分治策略)。

3.类与对象

面向对象的思想,利于升级和维护。OOP,面向对象编程。

  • 类:包含数据和方法的数据结构。共有、私有、保护型。成员变量、成员函数(构造函数、析构函数)。

  • 对象:用类来声明的数据结构,一个类的具象/外延。

-封装与抽象

-继承和派生

-多态

-接口

4.数据存储与管理

  • 数据文件及其操作

文本文件——字符编码 [ 可用记事本打开 ] ;二进制文件——01比特串。

—用Debug查看文件存储的内容。

  • 数据库与数据库管理系统

数据管理:对数据的高效组织。人工管理——>文件集中管理——>数据库管理。

数据库管理系统:只负责数据库的建立、维护的系统软件。包括数据定义语言、数据操作语言等。

数据库:在DBMS的支持下以一定组织方式将相关数据组织在一起所形成的能为多个用户共享与应用程序相互独立的数据集合。以文件的形式存储在外存中。分为层次、网状、关系模型。

—实体、记录和数据项。

  • 结构化查询语言SQL—— Transact-SQL [ 增加了数据库的编程功能 ]

关系型数据库管理系统的标准语言。

  • 数据定义语言

  • 数据操作语言(查询、插入、删除和 修改/更新 操作)

  • 查询(最复杂的一类语句,如SELECT语句 [FROM、WHERE、ORDER BY子句])

  • 插入(INSERT语句)

  • 删除(DELETE语句)

  • 修改/更新(UPDATE语句)

  • 数据控制语言

5.Web应用

  • 计算机应用模式的演变

集中 ——> C/S ——> B/S

  • 集中式计算模式

设备昂贵,计算机未普及。集中中心负责计算,需要输入和输出。对大数据、高性能计算具有重要意义。

  • 客户/服务器(C/S)模式

把计算机应用一分为二,通过网络来进行数据分享,两个主体协同操作 [ 客户端(主动) + 服务器(被动) ] 。是所有网络应用的基础。可实现分布式计算。但必须在每一个客户端安装大量的应用软件,维护和升级困难。

  • 浏览器/服务器(B/S)模式

浏览器——>服务器。不再需要在客户端装各种各样的软件,只需要装一个浏览器即可。

Web浏览——Web服务——数据库。(实质仍采用C/S方式)

功能:HTML、TXT 和 脚本(客户端运行的程序)。【不含脚本的称静态网页】

  • Web应用与传统程序的差异

  • 程序构成不同

  • 运行环境不同(服务端+客户端)

  • 用户界面不同(网页型,实质是程序)

————————————————————————————————————————————

六、计算机网络

1.计算机网络技术

—计算机的通信和资源共享。

  • 计算机网络的产生与发展

  • 终端连接网络(哑终端,如SAGE)

  • 计算机之间的连接(智能终端,具有独立的计算资源)

  • 网络互联(主要问题:标准问题)

  • 计算机网络分类

  • 局域网(物理短距离,总线型、星型与树形,服务一个单位或系统)

  • 广域网(更大的地理范围,借助电信运营商构建通信网络,如电话线上网、宽带接入)

  • 城域网(介于局域网和广域网之间,目的构建一种通信网,采用宽带局域网,为城市服务)

  • 开放系统互联(OSI)参考模型

  • 应用层(接入计算机网络的实体称为OSI系统,应用层负责提供接口,使程序能够使用网络服务)

  • 表示层(提供通用的数据格式,是不同系统的数据格式能相互识别)

  • 会话层(负责在网络中两个节点之间建立、维持和终止通信)

  • 传输层(数据分为数据段,负责数据的可靠传输和流量控制)

  • 网络层(将传输层的数据分段封装,根据数据包的目标网络地址实现网络间的路由【路径选择】,将数据沿路径传送到目标网络)

  • 数据链路层(将网络层的数据包封装成特定的数据帧Frame,通常由网络接口实现)

  • 物理层(将数据帧对应的比特流转换为电、光等信号,提供计算机及网络设备的物理接口,并在媒体中传输)

—-数据封装 + 解封装。

  • 网络协议Protocol(实质是一种程序,也是一种特定的数据格式)

TCP,IP。

  • TCP/IP协议模型

  • 应用层,传输层,Internet层,网络接入层。

—简化了OSI,将上3层合为应用层,下2层合为网络接入层,传输层和Internet层不变。

IP地址:网络标识+主机表示。

-主机位全0的地址为网络地址。

—广播地址:当一个数据包中的接收方的IP地址为广播地址时,将有多于一台主机接收到相同的数据包。

  • 直接广播:针对某个指定网络的广播。主机位全1的地址。

  • 本地广播:针对发送方所在局域网的广播。32位全部为1的地址。(对 Ivp4)

—私有地址(专用地址)。

—子网掩码:划分广播域,提高网络通信效率。

地址渐渐不够用——> Ivp6。

  • 网络设备及其功能

  • 网卡

—将计算机连接到网络中。一般1、2层设备,严格来说是2层设备。

  • 中继器

  • 集线器

  • 桥连接器

  • 交换机

—能够在通信系统中完成信息交换功能的设备。”网桥“链路层设备。

  • 路由器

—网络层互联设备,用于连接多个逻辑上分开的网络。”没有显示器和键盘的计算机“。存储一个路由表。

  • 宽带路由器(宽带网关)

—本身没有路由器的功能。多个设备可以共享IP地址。

2.互联网

ARPA网——>互联网——>万维网。

连接到网络:

  • 网络接口(局域网、广域网连接)

  • 通过局域网连接

—-配置网络连接的TCP/IP:本地连接,IP地址、子网掩码、默认网关(必要,端口的IP地址)、DNS服务器(把域名变成IP地址)。

  • 调制解调器连接(安装调制解调器、新建网络连接)

  • 无线上网卡连接(非无线网卡,属于无线广域网卡,可以在无线电话信号覆盖的任何地方使用,利用SIM卡连接到互联网,有USB接口,要安装自带的程序)

  • 宽带接入与Internet连接共享(安装宽带路由器)

3.网络服务

—-计算机应用:计算机程序的拓扑结构体。

下为典型的客户/服务器模式。

客 户 机  应 用  (《大学计算机——计算思维的视角》笔记/clip_image003.png )  TCP  I P  网 络 接 口  网 络 1  路 山 器  IP  网 络 接 口  网 络 2  服 务 器  应 用  ( 应 用 层 协 议 )  TCP  网 络 接 口

———-应用程序:具有通信功能的程序,实现特定的应用层协议。如Web浏览器,http://网址[:端口号]/路径/文件名[参数表]

———-应用层协议:对用户应用程序进行封装,产生通信数据。如HTTP、FTP、DNS。

———-客户机:客户机程序[程序层面]、客户机计算机[用户层面]。

———-服务器:服务器程序,服务器主机(安装服务器程序的主机)。

  • 域名和DNS域名解析服务

DNS服务将域名(便于记忆)解析成IP地址。

—计算机域名:具有层次结构的计算机命名方式,与计算机IP地址相对应。”主机名.域名“。最右为顶级域名(如 .com .net .org .cn .fr[法国] .ay[意大利]……),然后依次称为二级、三级……域名。域名注册可以通过很多服务机构进行注册。

DNS域名解析:由一系列的DNS服务器计算机共同完成,这些计算机按照域构成层次结构。

——-具体解析过程:用户往首选DNS服务器发出域名解析请求——启动解析(自顶向下)——将IP地址返回给用户。为了减缓服务器压力,有了DNS缓存(有时服务器临时更换了IP地址,那么需要清除保存的DNS缓存,再重新域名解析)。

本地域名解析:如windows里的hosts文件,自动将输入的域名更换为hosts里保存的对应IP地址。

DNS缓存:本地DNS缓存(显示命令:ipconfig/displaydns;清除命令:ipconfig/flushdns),减少互联网访问。

——使用”ping 某域名”可以测试本地机器是否可以和网络上某域名可以连通。

———先清除,再ping某域名,再显示,就可以看到某域名的解析IP地址(实际上为了安全,做了数据处理,是看不到的)了。

  • Web服务与浏览器/服务器模式

——网站<——>Web应用系统——

统一资源定位符URL:

​ 服务器://网址[:端口号][/[文件路径/文件名]][?参数名=参数值&参数名=参数值…]

—-各部分含义——服务类型(对应TCP/IP的应用层协议,表明要链接的服务器类型,如http,ftp等),网址(服务器的域名或IP地址),端口号(指定一个特定的服务,服务器根据端口号来分配相应的服务器程序,一般有设默认的端口号【可省略】),文件路径(网页相对于主目录的相对路径),文件名(指定要下载的网页文件),参数(给网页文件的脚本程序使用,参数之间用 & 隔开)。

端口:通信OSI封装,多个服务器通过使用端口来区分(没有程序名)。

—-分类:知名端口(21端口-FTP服务,25端口-SMTP服务,80端口-HTTP服务,135端口-(远程过程调用)服务等),动态端口(范围从1024到65535)。

下为浏览器/服务器应用模式。

IITTP 请 求  11111) 请 求  数 据 库  Internet  服 务 器  浏 览 器  服 务 器  HTML 或  HTML 或  XML 文 档  XML 文 档  . 在 用 户 端 , 在 浏 览 器 地 址 栏 中 , 用 户 输 入 要 访 问 的 网 页 网 址 URL'} . 回 车 确 认 。  . web 服 务 器 根 据 URL 中 指 定 的 网 址 、 路 径 和 网 页 文 件 , 调 出 相 应 的 网 页 文 件 。  如 果 用 户 要 浏 览 的 页 面 是 普 通 的 ] 页 面 , web 服 务  送 给 用 户 。  如 果 是 服 务 器 页 ( jsp,a.sp 等 ) , web 服 务 器 将 扌 巴 该 r  令  ( 如 Tonicat ) , 由 应 用 服 务 器 执 行 页 面 中 的 服 务 器  页 面 返 给 web 服 务 器 , web 服 务 器 再 将 页 面 发 送 到  . 在 用 户 端 , 文 档 在 浏 览 器 中 打 开 , 即 完 成 网 页 浏 览 。

  • 电子邮件服务

  • SMTP——管理邮件传输代理之间进行的电子邮件交换

`POP3——即邮局协议,当用户在邮件客户软件中执行接收命令时将邮件发送到客户端

—-邮件服务器需要安装SMTP和POP3协议。

  • 邮件客户

——传统的邮件客户程序,如OutlookExpress:设置邮件账户,设置邮件服务器(SMTP和POP3)地址;

——基于Web的邮件客户程序,浏览器

4.网络与信息安全

  • 信息安全

包括信息的保密性、真实性、完整性、未授权拷贝和所寄生系统的安全性。

安全问题分为网络信息安全和网络系统安全。

安全目标:保密性,完整性,可用性,可控性,不可否认性(发生的信息交换行为不能被否认)。

  • 信息安全的主要威胁

  • 非人为因素:自然灾害、意外事故等

  • 人为因素:信息泄露,信息窃取(数据窃听,流量分析),冒名顶替,篡改信息,行为否认(抵赖),授权侵犯(内部攻击),恶意攻击(目前最大的信息安全威胁)。

  • 信息安全措施

  • 信息安全技术

  • 技术产品

  • 数据加密技术(明文<——>密文)

  • 密码学(密码编码学、密码分析分)

  • 无条件安全的密码体制,计算上安全的密码体制(NP-hard)

—-常规密码密钥体制(对称)

—-公开密码密钥体制(非对称,加密密匙PK和解密密匙SK不同,通过PK来推导SK在计算上是不可行的,特点:保密通信,数字签名【加密和解密算法可以对调,通过SK加密,其他人用公有密钥PK可以解密,实现对信息X的数字签名,保证通信双方是可信的,避免相互猜疑 <报文核实、不可抵赖、不可篡改> 】)

  • 病毒与木马

  • 病毒——寄生性,潜伏性,传染性,破坏性。

  • 木马——带有恶意性质的远程控制软件,采用C/S模式。

5.互联网社会效应

  • 新兴的传播媒介(网络媒体)

  • 网络通信

网络 = 通信子网 + 资源子网。

网络社区与论坛。(社区的网络化、信息化)

即时通信:IM(ICQ[I SEEK YOU]),MSN,腾讯QQ等。

  • 网络社交

利用互联网开展的一系列社会交往活动。导致了网络群体的形成。

工具:即时通信,网络论坛,RSS简易信息聚合【”推”技术,让用户获取网站内容的最新更新,类似于订阅杂志】,Blog博客,社交网站(SNS)【六度分隔理论】,微博【基于用户关系的信息平台】……

特点:虚拟(道德感的弱化),多元(影响个人的价值取向),自由(没有中心,没有阶层,没有等级关系),异化(使人趋向孤立、冷漠和非社会化)

  • 电子商务Electronic Business

阿里巴巴b2b模式,京东商城b2c模式,淘宝c2c模式。(b:商家business;c:消费者consumer)

  • 网络娱乐

  • 网络游戏:具有娱乐功能的程序软件。分为客户端(网游)、浏览器(页游)形式。

  • 网络文学:以网络为载体的文学。

  • 网络视频:以流媒体(将数据包特殊压缩转换,流式传输,实现边下载边播放)为播放格式的,可以在线直播或点播的声像文件。

  • 启示

. 艾 萨 克 . 牛 顿 (《大学计算机——计算思维的视角》笔记/clip_image006.png )  . 约 翰 . 道 尔 顿 ( 1766 年 、 1844 年 )  . 迈 克 尔 . 法 拉 第 ( 1791 年 、 1867 年 )  . 詹 姆 斯 . 克 拉 克 . 麦 克 斯 韦 ( 1831 年 -  1879 年 )  . 海 因 里 希 . 鲁 道 夫 . 赫 兹 ( 1857 年 -  1894 年 )  -  路 易 斯 . 巴 斯 德 ( 1822 年 、 189S 年 )  . 阿 尔 弗 雷 德 . 伯 纳 德 . 诺 贝 尔 ( 1833 年 -  1896 年 )  -  德 米 特 里 . 伊 万 诺 维 奇 . 门 捷 列 夫 ( 1834 年 、 1907 年 )  . 马 克 斯 . 普 朗 克 ( 1858 年 、 1947 年 )  . 阿 尔 伯 特 , 爱 因 斯 坦 ( 1879 年 、 1955 年 )

20世纪原始理论创新减少,人类的科技发展、工业制造水平已进入相当高的水平。

我们需要应用创新,只要能想到就能做到。(对比巴贝奇的分析机受限于当时制造水平而失败)