计算机系统基础
考情分析

计算机组成原理

冯诺依曼计算机组成

CISC与RISC指令集

缓存速度

时间局部性原理与空间局部性原理


DMA(直接存储访问)工作方式是在主存与外设之间建立起来的数据通路。
操作系统
操作系统是应用软件与硬件之间的接口。

操作系统分类


进程管理

进程与线程

同一进程可以共享的内存区域:内存地址空间,代码、数据、文件等。
进程状态切换的三态模型:

默认系统都是非抢占式的,无剥夺的。如果是抢占式调度,优先级高的抢着做。

常见的临界资源:打印机,缓冲区。

信号量是全局变量,信号量表示资源数量,信号量初值表示没有任何操作的时候,资源的总数。
信号量是复数的时候,表可以欠别人资源的个数,绝对值是排队进程数。
V操作有进程则唤醒进入就绪队列,注意不是直接执行。

开始前检查前驱,有几个前驱进程就要用P操作来检查几次,检查后继的时候,需要通知,有几个后继就要通知几次。

死锁与银行家算法


银行家算法:分配资源的原则:
- 当一个进程对资源的最大需求量不超过系统中的资源数时可以接纳该进程
- 进程可以分期请求资源,但请求的总数不能超过最大需求量
- 当系统现有的资源不能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源
系统可以正常执行:安全序列;死锁:不安全的序列。
存储管理

操作系统会将内存中的几个存储位置分配个某个进程来使用。
需要掌握:逻辑地址到物理地址的二进制形式和十六进制形式的转换

根据局部性原理:访问位为1的页面,尽量保留。
淘汰规则:先淘汰访问位为0的,如果有多个访问位为0的,则优先淘汰修改位为0的页,因为不用考虑数据一致性的问题。

段的逻辑地址:段号,段内偏移量。
如果段内偏移量大于段长逻辑地址转物理地址溢出。

磁盘管理
考点:1.平均存取时间 2.优化分布 3.移臂调度序列 4.单缓冲区与双缓冲区(流水线技术)


注意:磁头都是一起转动的。
读取数据的时间应包括以下三个部分:
- 找磁道的时间
- 找块(扇区)的时间,即旋转延迟时间
- 传输时间(磁头在对应扇区上移动的时候)
处理记录的时间等于:旋转延迟时间 + 数据传输时间 + 数据处理时间。
移臂调度算法:
- 先来先服务(FCFS)
- 最短寻道时间优先(SSTF)
- 扫面算法(SCAN)
- 循环扫面(CSCAN)算法
最常考的算法:最短寻道时间优先


文件系统

索引可能的含义:目的、指针、地址项、磁盘块号。
直接索引 0-9 号页。
一般索引节点表在内存索引块和数据块在磁盘。

0表示空闲,1表示占用。
系统性能


吞吐量:请求完成的数量。

性能设计方案


性能评估方法

重点掌握,基准程序法。


Web服务器的性能评估:
- 在Web服务器的测试中,反映其性能的的指标主要有:最大并发连接数、响应延迟和吞吐量等
- 常见的Web服务器性能评测方法有基准性能测试、压力测试和可靠性测试

嵌入式系统
嵌入式系统

嵌入式系统的组成

操作系统与硬件无关性,硬件无关性可以提高可移植性。
操作系统的易移植性依赖于硬件抽象层和板级支撑技术。



嵌入式软件设计层面的功耗控制主要可以从以下方面展开:
- 软硬件协同设计,即软件的设计要与硬件的匹配,考虑硬件因素
- 编译优化,采用低功耗优化的编译技术
- 减少系统的持续运行时间,可以从算法角度进行优化
- 用“中断”代替“查询”
- 进行电源的有效管理

嵌入式硬件

重点关注信号处理器。






单工:只能往一个方向传数据;双工:既可以发数据,也可以收数据;半双工:分时分享,同一时刻,只允许1个设备发送,但是允许多个设备接收。
总线通常分为以下几类:
- 芯片内总线。用于集成电路芯片内部各部分的连接元件级总线。用于一块电路板内各元器件的连接
- 系统总线,又称内总线。用于计算机各组成部分(CPU、内存和接口等)的连接
- 外总线,又称通信总线。用于计算机与外设或计算机与计算机之间的连接或通信

海明码可以纠正1个比特位的错误,通常认为90%以上只会出现一个比特位的错误。
嵌入式操作系统








嵌入式数据库
与传统的数据库相比,嵌入式数据库系统有以下几个主要特点:
- 嵌入式
- 实时性
- 移动性
- 伸缩性
嵌入式数据库分类
按照数据库存储位置的不同而进行分类是目前广泛采用的分类方法,它可以划分为三类:
- 基于内存方式(Main Memory Database System,MMDB)
- 基于文件方式(File Database,FDB)
- 基于网络方式(Netware Database ,NDB)

重点掌握基于网络的数据库。

计算机网络
计算机网络概述
网络延时 = 处理时延 + 排队延迟 + 发送延迟 + 传播延迟。
如果不考虑网络环境,服务器的延迟的主要因素是队列延迟和磁盘I/O延迟。





组网技术

以太网帧最小长度为64字节。


路由器和交换机的区别:
- 路由器连接不同子网,交换机连接的是同一个网络
- 交换机不能做路由功能,路由器可以做数据转发,但它还有其他的一些功能
- 路由器一个端口是一个广播域,交换机所有端口是一个广播域
TCP/IP协议族


HTTPS的默认端口:443
TCP端口号的作用是:对应用层进程的寻址。
Internet网络核心采取的交换方式为:分组交换。




网络规划与设计

数据库系统
数据库概述
数据库模式:外模式(视图级)、概念模式(表级别)、内模式(存储模式,文件级)。
外模式到概念模式的映射保证了逻辑独立性,概念模式到内模式保证了物理独立性。
聚簇索引的修改会影响内模式。
分布式数据库:数据在多个物理节点存放。
分布式数据库的特性:
- 数据独立性
- 集中与自治共享结合的控制结构
- 适当增加数据冗余度
- 全局一致性、可串行性和可恢复性
分布式数据库透明性分类
- 分片透明
- 位置透明
- 复制透明
- 逻辑透明
数据库设计阶段

概念结构设计阶段:
需求分析 -> 抽象数据 -> 设计局部ER模型 -> 合并局部模型消除冲突 -> 重构优化消除冗余 -> 逻辑设计
实体完整性:主键,唯一且非空
参照完整性约束:外键,要么为空,要么是其他关系的主键
候选码:是一个属性集合,可以只有一个属性,可以有多个属性。
关系代数
关系代数的结果:并交差 笛卡尔积 自然连接
笛卡尔积和自然连接
关系代数与查询语句
查询性能的考察
水平方向:元组行/记录/实例
垂直:属性列




性能问题:
1.运算对象尽可能先压缩
2.理论上自然连接的性能优于笛卡尔积
规范化理论
重点掌握:属性集合 函数依赖 公理体系 候选键和非候选键 主属性和非主属性的判断






要注意:候选键是单属性,也可以是多属性的集合。
主键说的是,实体完整性,外键说的是参照完整性。

通常找到入度为0的属性,就可以找到候选键。
如果没有入度为0的候选键,需要结合中间节点来判断候选关键字。

学会判断范式、消除1-3NF。


候选键:(学号,课程号);非主属性:学分、成绩。
如果候选键是单个属性,1NF的前提下,至少能达到第2范式。

如果没有非主属性,在1NF的前提下,至少满足第三范式。

模式分解

如果没有同名属性列,那么分解一定是有损的。

例1:没有保持函数依赖。
例2:保持函数依赖,但是有损,因为没有同名属性列。
如何判断是否有损:先求拆分的属性交集,再求属性的差集,判断是狗满足原来任意一个函数依赖。
数据控制
数据控制功能包括:
- 安全性
- 完整性
- 并发控制
- 故障恢复







系统工程与信息基础
系统工程



信息系统生命周期


信息系统建设原则



信息系统的分类




决策支持系统DSS

专家系统


政府信息化与电子政务


企业信息化与电子商务

信息化是指在国家宏观信息政策指导下,通过信息技术开发、信息产业的发展、信息人才的配置,最大程度利用信息资源以满足全社会的信息需求 ,从而加锁社会各个领域的共同发展以推进信息社会的过程。
信息化的主体是全体社会成员(政府、企业、团体和个人),时域是一个长期过程,空域是经济和社会的一切领域,手段是先进社会生产工具。
企业信息化涉及三类创新

信息化需求的3个层次

企业信息化方法










数据库与数据仓库:
| 数据库 | 数据仓库(特点) |
|---|---|
| 面向应用:按应用组织数据 | 面向主体:按主题组织数据 |
| 零散的:一个应用对应一个数据库 | 集成的:整个企业对应的一个数据仓库 |
| CRUD:增删改查是常态 | 相对稳定的(非易失的):查询为主、基本无修改与删除 |
| 解决当下应用问题 | 反映历史变化(时变的):各个阶段信息都有,并可预测未来趋势 |











数字化转型与智能制造


软件工程
软件过程模型
敏捷开发中,增量与迭代经常一起出现。
螺旋模型强调风险。
喷泉模型的主要特点:不严格区分阶段,面向对象。
基于构件的软件工程

敏捷方法-XP(极限编程)
4大价值观:
- 沟通【加强面对面沟通】
- 简单【不过度设计】
- 反馈【及时反馈】
- 勇气:接受变更的勇气
12条过程实践规则:
- 简单设计
- 测试驱动
- 代码重构
- 结对编程
- 持续集成
- 现场客户
- 发行版本小型化
- 系统隐喻
- 代码集体所有制
- 规划策略
- 规范代码
- 40小时工作制

敏捷方法:
- 极限编程(XP):价值观(交流、朴素、反馈、勇气)、近螺旋式的开发方法
- 水晶方法:提倡“机动性”的方法,拥有对不同类型的项目非常有效的敏捷过程
- SCRUM:侧重于项目管理
- 特征驱动开发方法(FDD):认为有效的软件开发需要3要素(人、过程、技术)。定义了6钟关键的项目角色:项目经理、首席架构设计师、开发经理、主程序员、程序员和领域专家
- 开放式源码:程序开发人员在地域上分布很广(其他方法强调集中办公)
- ASD方法:其核心是三个非线性的、重叠的开发阶段:猜测、合作与学习
- 动态系统开发方法(DSDM):倡导以业务为核心
逆向工程

实体关系模型:ER模型,UML模型。
与逆向工程相关的概念有重构、设计恢复、再工程和正向工程
- 重构/重组:重构是指再【同一抽象级别】上【转换系统描述形式】
- 设计恢复:设计恢复是指借助工具从已有程序中抽象出有关数据设计、总体结构设计和过程设计等方面的信息
- 逆向工程:逆向工程是分析程序,力图在源代码更高抽象层次上建立程序的表示过程,逆向工程是设计的恢复过程
- 正向工程:正向工程是指不仅从现有系统中恢复设计信息,而且使用该信息去改变或重构现有西永,以改善其整体质量
- 再工程/重构工程:再工程是对现有系统的重新开发过程,包括逆向工程、新需求的考虑过程和正向工程三个步骤
净室软件工程

净室工程的核心:正确性验证。
净室工程的缺点:
- 太理论化,正确性验证的步骤比较困难且耗时
- 开发小组不进行传统的模块测试,这是不现实的
- 脱胎于传统软件工程,不可避免带来传统软件工程的一些弊端
需求工程


需求获取的方法


核心:行为模型、数据模型、功能模型




需求阶段:哪些东西该做,哪些东西不该做。
开发阶段:具体的解决方案,具体该如何实现。
UML主要考察:构造块的内容。

搞清楚是静态图还是动态图以及具体的概念。

严格定义法:有瀑布模型的思想
原型法:有原型法的思想