文章目录
- 1、计算机系统知识
- 1.1、计算机系统基础知识
- 1.1.1 计算机系统硬件基本组成
- 1.1.2 中央处理单元
- 1.1.3、数据表示
- 1.2、计算机体系结构
- 1.2.2、存储系统
- 1.2.3、输入输出技术
- 2、程序设计语言基础知识
- 2.1、程序设计语言概述
- 2.1.1、程序语言的基本概念
- 2.2、语言处理程序基础
- 2.2.3、解释程序基本原理
- 6、结构化开发方法
- 6.2、结构化分析方法
- 7、面向对象技术
- 7.2、UML(统一建模语言)
- 10、网络与信息安全基础知识
- 其他
1、计算机系统知识
1.1、计算机系统基础知识
1.1.1 计算机系统硬件基本组成
- 存储程序原理:程序和数据统一存储在同一个存储器中,这是冯·诺依曼体系最核心的思想。计算机通过读取存储器中的指令来自动执行任务,无需人工干预。
- 五大部件组成:计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分构成。
- 运算器:负责执行算术和逻辑运算,核心是算术逻辑单元(ALU)。
- 控制器:作为指挥中心,通过指令计数器、指令寄存器等协调各部件按序工作。
- 存储器:分为主存(RAM/ROM)和外存(硬盘、U盘等),用于存放程序和数据。
- 输入设备:如键盘、鼠标,将外部信息转换为二进制信号输入计算机。
- 输出设备:如显示器、打印机,将处理结果以人类可识别的形式输出。
- 二进制表示:所有指令和数据均采用二进制形式表示,便于电子电路实现。
- 顺序执行:指令按存储顺序依次执行,由程序计数器(PC)控制下一条指令的地址。
- 指令结构:每条指令由操作码和地址码组成,操作码指明操作类型,地址码指明操作数地址。
1.1.2 中央处理单元
微程序:微程序是计算机控制器中用于解释执行机器指令的一组微指令序列,它存储在控制存储器中,通过逐条执行微指令来完成一条机器指令所对应的全部硬件操作。它位于计算机层次结构的最底层(通常被称为微程序级或硬联逻辑层之上)。
1.1.3、数据表示
- 进位标志(CF) = 最高位(符号位)的进位输出值。
- 溢出判断(OF) = Cn ⊕ Cn-1(最高位进位 ⊕ 次高位进位)
1.2、计算机体系结构
1.2.2、存储系统
- SRAM(静态随机存取存储器)和DRAM(动态随机存取存储器)
| 对比维度 | SRAM(静态RAM) | DRAM(动态RAM) |
|---|---|---|
| 存储原理 | 双稳态触发器(6个晶体管) | 1个晶体管 + 1个电容 |
| 是否需要刷新 | ❌ 不需要 | ✅ 需要(每隔几毫秒刷新一次) |
| 速度 | 快(纳秒级) | 较慢(有刷新延迟) |
| 集成度 | 低(单元结构复杂,占面积大) | 高(单元结构简单,占面积小) |
| 成本 | 高 | 低 |
| 容量 | 小 | 大 |
| 功耗 | 静态功耗低,高频时功耗大 | 整体功耗较低 |
| 典型应用 | CPU高速缓存(L1/L2/L3 Cache) | 主存(内存条) |
- 记忆口诀
SRAM = 静态 = 稳定 = 快但贵 → 做Cache
DRAM = 动态 = 要刷新 = 慢但便宜 → 做主存
- 单层单面DVD(DVD-5)的容量:4.7GB
1.2.3、输入输出技术
- 计算机系统中信息交换的传输方式总结
| 信息交换情形 | 传输方式 | 原因分析 |
|---|---|---|
| CPU与内存储器之间交换信息 | 同步传输 | 两者工作速度高度匹配,由系统时钟统一控制,无需额外的握手信号协调。 |
| CPU与PCI总线交换信息 | 同步传输 | PCI总线是高速并行总线,设计用于连接高速外设,依赖统一的时钟信号进行数据传输。 |
| CPU与I/O接口交换信息 | 同步传输 | I/O接口作为CPU与外设的桥梁,其与CPU的通信通常受系统时钟控制,以保证高速数据交换的效率。 |
| I/O接口与打印设备间交换信息 | 异步传输 | 打印机属于低速设备,其工作状态(如“准备就绪”)不可预测,且与主机速度不匹配。必须通过“握手”信号(如选通、应答)来协调数据传输,确保数据不丢失。 |
2、程序设计语言基础知识
2.1、程序设计语言概述
2.1.1、程序语言的基本概念
- 形参和实参的差别
| 对比项 | 形参 | 实参 |
|---|---|---|
| 位置 | 函数定义中 | 函数调用中 |
| 本质 | 变量(占位符) | 具体的值或表达式 |
| 内存 | 调用时才分配 | 调用前就已存在 |
| 作用 | 接收数据 | 传递数据 |
greet("Alice")# "Alice" 就是实参defgreet(name):# name 就是形参print("Hello, "+name)2.2、语言处理程序基础
2.2.3、解释程序基本原理
- Python 四种内置数据结构速查表
| 类型 | 是否可变 | 是否有序 | 元素可重复 |
|---|---|---|---|
| list | 可变 | 有序 | 可重复 |
| tuple | 不可变 | 有序 | 可重复 |
| dict | 可变 | 插入有序 | 键唯一 |
| set | 可变 | 无序 | 不可重复 |
6、结构化开发方法
6.2、结构化分析方法
笔记1:
- 在结构化分析方法中,系统建模被划分为三个核心维度:
- 功能建模:使用数据流图(DFD)描述系统中数据的流动、处理与存储,反映系统“做什么”的逻辑功能。
- 数据建模:使用实体-关系图(E-R图)描述系统中的数据对象、属性及其相互关系,构建系统的静态数据结构。
- 行为建模:使用状态转换图(STD)描述系统或对象在不同状态之间的迁移行为,反映系统对外部事件的响应和状态变化过程。
- 总结:在结构化分析方法中,数据流图用于功能建模;实体-关系图(E-R图)用于数据建模;状态转换图(STD)用于行为建模
笔记2:
- 功能模型→ \rightarrow→数据流图 (DFD):解决“系统做什么处理”的问题。
- 数据模型→ \rightarrow→实体-联系图 (E-R图):解决“系统处理什么数据”的问题。
- 行为模型→ \rightarrow→状态转换图 (STD):解决“系统何时做处理(时序/状态)”的问题。
7、面向对象技术
7.2、UML(统一建模语言)
- UML类图四大关系
| 关系类型 | 关键词 | 强弱程度 | 典型例子 | 本题适用性 |
|---|---|---|---|---|
| 继承 | Is-a (是一个) | 最强 | 狗是动物 | ❌ 鼠标不是计算机 |
| 组合 | Contains-a (强包含) | 强 (同生共死) | 鸟与翅膀、公司与部门 | ❌ 鼠标拔下来还能用 |
| 聚合 | Has-a (弱包含) | 中 (可分离) | 计算机与鼠标、车队与车 | ✅正确答案 |
| 关联 | Link (连接) | 弱 (长期持有) | 老师与学生、用户与订单 | ⚠️ 太宽泛,不如聚合精准 |
| 依赖 | Use-a (使用) | 最弱 (临时) | 司机开车、人喝水 | ❌ 鼠标是电脑的组成部分,不仅仅是临时使用 |
10、网络与信息安全基础知识
- 常用协议端口号
| 端口号 | 协议名称 | 传输协议 | 核心功能 |
|---|---|---|---|
| 20 | FTP (数据) | TCP | 数据传输 |
| 21 | FTP (控制) | TCP | 控制连接 |
| 25 | SMTP | TCP | 邮件发送 |
| 53 | DNS | UDP | 域名解析 |
| 67 | DHCP | UDP | IP地址自动分配 |
| 80 | HTTP | TCP | 网页浏览 |
| 110 | POP3 | TCP | 邮件收取 |
| 161 | SNMP | UDP | 简单网络管理 |
其他
- 人耳能听到的声音频率:20Hz至20kHz
- 软件设计的四个核心活动:体系结构设计、接口设计、数据设计和过程设计
- 面向对象设计的主要活动:识别类及对象、定义属性、定义服务、识别关系、识别包
- 面向对象设计的BCE模式
- 边界类= 脸面(负责对外交流)
- 控制类= 大脑/管家(负责指挥调度)
- 实体类= 档案/仓库(负责存储数据)
- OOD三大基石:开闭、里氏与依赖倒转
- 开-闭原则 (OCP):软件实体(类、模块等)应当对扩展开放,对修改关闭。(即:加新功能靠新增代码,别改老代码)。
- 里氏代换原则 (LSP):任何**基类(父类)**可以出现的地方,子类一定可以出现。(即:子类必须能完美替代父类,不能“掉链子”)。
- 依赖倒转原则 (DIP):要依赖于抽象,而不依赖于具体。(即:编程时盯着接口/标准看,不要盯着具体的实现类看)。