读了一遍《计算机科学导论》再重新入门

第一章:图灵模型:计算机被程序所控制,将输入数据进行处理,成为输出数据 冯诺伊曼模型:储存器、算数逻辑单元、控制单元和输入/输出单元;程序和数据存储在储存器中 计算机硬件:冯诺伊曼原型的四个部分计算机数据:储存数据和结构数据计算机软件:程序:包括指令的序列、算法、语言以及软件工程的设计以及编写原则、操作系统 第二章:小数的转换:连续乘2,并记录结果的整数和消暑部分,小数部分留下继续乘,整数部分放到结果中。 第三章:数据的存储类型: 存储整数

无符号表示法符号加绝对值表示法二进制补码表示法(从右边复制位,然后一直到有一被复制,然后反转其余的位)(作逆运算后加一)

  存储实数

浮点表示法:符号、位移量和定点数余码系统:将一个正整数统一加到每个数字中,将它们统一移到非负的一边IEEE标准:S:符号E:指数M:尾数(1.xxxxx小数点后面的数字)

  第四章: 算数移位运算:右移:对整数除以2左移:对整数乘以2 算数减法:减数作补码表示,然后和被减数相加

  第五章: 计算机组成 计算机子系统:

中央处理单元 CPU/中央处理单元的作用:进行数据的运算算数逻辑单元 逻辑运算 移位运算 算数运算 寄存器:用于临时存放住距的高速独立的存储单元 控制单元:控制子系统的操作 计算机指令周期:每条计算机指令都使用一个指令周期(85),步骤为:获取指令、译码、执行主储存器 主存:主存( 内存? )是存储单元的集合(65) 地址空间:所有在存储器中标示的独立的地址单元的总数称为地址空间 缓存:缓存含有一部分主存内容的副本,当CPU要获取主存的内容的时候先判断缓存中有没有相同内容,如果有则从缓存中获取 输入/输出子系统:让计算机和外界通信,并在断电的情况下存储程序和数据 非储存设备 键盘和监视器 打印机 储存设备 磁的:角速度、寻道时间、传送时间 光的 :CD-ROM ,CD-R ,CD-RW ,DVD

  子系统之间的互相连接,列出不同总线系统:

CPU和储存器互联 数据总线 地址总线 控制总线 IO设备互联 SCSI 火线 USB

  输入输出寻址的不同方法 (76)

IO独立寻址IO储存器映射寻址:指令集较小,但是占用存储地址

  同步CPU和内存的方法:

程序控制输入输出 中断控制输入输出 直接存储器存取

  计算机体系结构的趋势

复杂指令 - CISC 精简指令 - RISC

  改善吞吐量

流水线:在相同时间内执行不同指令的多个阶段 并行处理:计算机拥有多个控制单元、算数单元和内存单元

  6th计算机网络 达成双向通信的协议分层的首要原则:

保证每一个写一层可以进行两个对立且方向相反的工作两个站点中每一层的两个对象必须相同

  TCP/IP协议族:应用层(100 - 110)

客户机 - 服务器模式:通过名称进行区分,数据被打包为“消息”(99)WWW:万维网(具有连接分布在世界各地的文档中信息的储存库)客户端服务器统一资源定位器HTTP:超文本传输协议电子邮件的体系结构UA:用户代理MTA:信息传送代理MAA:信息访问代理TELNET:终端网络(远程登录协议);SSH:安全外壳域名系统客户机 - 客户机模式集中网络分散网络

  传输层:通过端口号区分,数据被打包为“分段数据报”

UDP协议TCP协议

  网络层:通过逻辑地址进行区分,数据被打包为“数据报”

使用了IP协议

  数据链路层:通过链路层地址进行区分,数据被打包为“帧”

节点对节点的通信(117)节点:两个端主机和路由器看作节点,它们之间的网络看成链接(118)

  物理层

模拟信号:连续的值数字信号:离散的值

  7操作系统 操作系统是计算机硬件和用户之间的一个接口,让其他程序更加方便有效的运行,并且能够方便的对计算机硬件和软件资源进行访问。 自举过程:CPU调用自举程序,自举程序将操作系统掉入内存 组成部分

内存管理 内存的调度意味着当程序运行时,一部分程序会停留在内存中,一部分放在硬盘上(136) 分区调度:内存进行分区,CPU在各个分区内交替服务 分页调度:内存进行大小相等的分区,同一个程序被拆开,分到了不同的区上,程序的载入不用进行等待连续区域的出现。 进程管理 程序=>作业(被选中只想倒运行结束)=>进程(运行中的程序) 作业调度器: 进程调度器 队列:作业队列,就绪队列,IO队列 死锁:B需要A的资源,A需要B的资源(操作系统没有对进程的资源进行限制:可以占有这个资源,即使在获取另外资源之前一直不回动它,占着茅坑不拉屎) 饿死:A同时需要两个资源,但是这两个资源先后被其他的进程占用(操作系统对进程的资源限制过大) 设备管理 维护设备用 文件管理

  第八章:算法 递归 第九章:程序设计语言(program language) 程序语言的翻译(168)- 编译:将整个源程序翻译成目标程序- 解释:一行一行的翻译;翻译成字节代码然后再次翻译 过程式模式(强制性模式):程序不定义过程,它只是触发或调用过程(170)面向对象模式:对象通过外部刺激来执行过程(172),相同类型的对象使用一组方法,为了创建这些方法,语言使用了称为“类”的单元。函数式模式:程序被看成一个数学函数说明式:根据逻辑推理的原则响应查询 程序可以通过下列两种方式之一来给子程序传递参数:- 传值- 传引用 10th软件工程

分析阶段:面向过程分析数据流图实体关系图状态图面向对象分析用例图类图状态图设计阶段面向过程:结构图、 模块化面向对象:详细描述类的细节,定义对象的方法实现阶段:可操作、可维护、可迁移测试阶段:目的是发现错误

  11th数据结构 数组:节点有特定的名字(索引);索引直接定义了元素在实际存储上的相对位置; 记录:增加了域(属性) 链表:节点没有特定的名字;节点(域):数据 + 下一个节点的地址第一个节点:定义头指针并且指向第一个节点最后一个节点: 节点的数据 + 一个无地址的指针 12th抽象数据类型 抽象概念意味着:一个数据类型能做什么是已知的;如何去做是隐藏的 线性表:创建、入列、出列、检索、遍历、空 限制线性表a) 栈:倒转数据、配对数据项b) 队列:“操作系统和网络中都有队列的身影” 广义线性表:用于元素的存储1. 元素具有相同的类型2. 元素顺序排列,有第一个元素和最后一个元素3. 除第一个元素外每个元素有唯一的前驱,除最后一个元素外每一个元素有唯一的后驱4. 每个元素是一个带有关键(不重复)字段的记录5. 每个元素的(这个记录)按照关键值排序 树:包括一组有限的元素,称为节点,同时包括一组有限的有向线段,用来连接节点,称为弧。如果树是非空的,其中有一个节点没有进入的弧,该节点为根。树中的其他节点都可以沿着从根开始的唯一路径到达。 二叉树:赫夫曼编码、表达式树递归定义:是一棵空树或由一个根节点和两颗子树构成,而每棵子树也是二叉树。 遍历原则1)深度优先pre:根在子树之前被处理in:根在子树之间被处理post:根在子树之后被处理2)广度优先:先处理节点的子节点,然后进行下一层。 二叉搜索树:方便查找定义:每个节点的值大于左子树所有节点的关键值,小于右子树所有节点的关键值特质:1)使用中序遍历的时候创建了一个升序列表2)可使用折半查找 图:由一组节点和一组节点间的连线构成的 13th 文件结构 顺序文件其更新,需要涉及以下文件:

新主文件:结果旧主文件:历史内容事务文件:修改的操作错误报告文件:报告的错误

  随机存储文件

索引文件:由数据文件组成,数据文件由key值和其对应的磁盘地址组成 (238)倒排文件:同一个磁盘地址有多个key相对应散列文件:key值代入某个函数得到文件的磁盘地址散列方法直接散列法求模法数字析取法如果出现冲突开放寻址链表桶散列法

  目录:绝对目录和相对目录;在大多数操作系统中的目录被表示成为一个包含关于其他文件的信息的特殊文件类型 14th 数据库 数据库:组织内被应用程序使用的逻辑相一致的相关数据的集合 数据库管理系统的必要组成部分:硬件、软件、用户、规章、数据 数据库模型:层次模型、网状模型和关系模型 关系的操作:

一元操作插入删除更新选择投影二元操作连接并交差

  数据库的建立:

通过ER图建立实体,属性和关系建立实体表和关系表规范化:减少数据修改的时候对于数据库重建的需要;第一范式,第二范式

  数据库模型:

关系型数据库(⬆️):SQL语言允许使用这些关系操作,从关系型数据库中抽取更加复杂的信息分布式数据库(备份)面向对象数据库:XML语言用于从面相对象数据库中查询信息

  15th 数据压缩

无损压缩有损压缩

  后续略 16th 安全 信息:完整、可用、机密 后续略 17th 计算理论 三种基本语句:递增+递减+循环 => 能做高级语言所有的事情,但是效率要低 图灵机和简单语言的关系:图灵机模拟简单语言 图灵机的组成:读写头 控制器 磁带 斯德哥尔数:一个无符号数,其能被分配给任何用特定语言编写的程序 用格德哥尔数证明停机问题不可解决:停机问题:我们能编写一个程序来测试任何可以用格德尔数表示的程序是否会终止?证明过程:假设有一个程序(TEST),如果输入程序终止,则输入1,不终止,则输出0在test后增加一个判断,如何为1则无限循环,如果为0则不无限循环,记录为程序STRANGE将STRANGE自己调用自己,发现矛盾,说明TEST不存在。 多项式可解问题的复杂度要远远小于非多项式可解问题的复杂度,这导致了后者的输入数如果很大的话,计算机需要很长时间才能解决。