【原文链接】系统架构设计师(第二版)学习笔记----计算机系统基础
一、计算机硬件
1.1 计算机硬件的组成
- 处理器
- 存储器
- 总线
- 接口
- 外部设备
1.2 处理器指令集
- 复杂指令集 CISC(Complex Instruction Set Computers)
- 精简指令集 RISC(Reduced Instruction Set Computers)
1.3 处理器层次
- 片上缓存
- 片外缓存
- 主存(内存)
- 外存
1.4 总线分类
- 内总线
- 系统总线
- 外总线
1.5 接口的种类
- 显示类接口
- 音频输入接口
- 网络类接口
- PS/2接口
- USB接口
- SATA接口
- LPT打印接口
- RS-232接口
二、计算机操作系统
2.1 计算机软件分类
- 系统软件
- 应用软件
2.2 操作系统的作用
- 管理计算机中运行的程序和分配各种软硬件资源
- 为用户提供友好的人机界面
- 为应用程序的开发和运行提供高效率的平台
2.3 操作系统的特征
- 并发性
- 共享性
- 虚拟性
- 不确定性
2.4 操作系统的分类
- 批处理操作系统
- 分时操作系统
- 实时操作系统
- 网络操作系统
- 分布式操作系统
- 微型计算机操作系统
- 嵌入式操作系统
2.5 嵌入式操作系统的特点
- 微型化
- 可定制
- 实时性
- 可靠性
- 易移植性
三、数据库
3.1 数据库的分类
- 关系型数据库
- 键值数据库
- 列存数据库
- 文档数据库
- 搜索引擎数据库
3.2 关系型数据库设计的特点
- 从数据结构及数据模型开始,并以数据模型为核心展开
- 静态结构设计与动态行为设计分离
- 试探性
- 反复性
- 多步性
3.3 关系型数据库设计方法的分类
- 直观设计法
- 规范设计法
- 计算机辅助设计法
- 自动化设计法
3.4 关系型数据库常用的设计方法
- 基于3NF的设计方法
- 基于实体联系(E-R)模型的数据库设计方法
- 基于视图概念的数据库设计方法
- 面向对象的关系数据库设计方法
- 计算机辅助数据库设计方法
- 敏捷数据库设计方法
3.5 关系型数据库设计的步骤
- 需求分析
- 概念结构设计
- 逻辑结构设计
- 物理结构设计
- 应用程序设计
- 运行维护
3.6 分布式数据库的特点
- 集中控制性
- 数据独立性
- 数据冗余可控性
- 场地自治性
- 存取的有效性
3.7 分布式数据库的体系结构
- 全局外层
- 全局概念层
- 局部概念层
- 局部内层
3.8 分布式数据库的应用领域
- 分布式计算
- Internet应用
- 数据仓库
- 数据复制
- 全球联网查询
3.9 常用的数据库管理系统
- Oracle
- IMB DB2
- Sybase
- Microsoft SQL Server
3.10 大型数据库管理系统的特点
- 基于网路环境的数据库管理系统
- 支持大规模应用
- 提供的自动锁功能使得并发用户可以安全而高效的访问数据
- 可以保证系统的高度安全性
- 提供方便而灵活的数据备份和回复方法以及设备镜像功能
- 提供多种维护数据完整性的手段
- 提供了方便易用的分布式处理功能
四、文件系统
4.1 文件按照性质和用途分类
- 系统文件
- 库文件
- 用户文件
4.2 文件按照保存期限分类
- 临时文件
- 档案文件
- 永久文件
4.3 文件按照保护方式分类
- 只读文件
- 读/写文件
- 可执行文件
- 不保护文件
4.4 Unix系统文件分类
- 普通文件
- 目录文件
- 设备文件
4.5 蝉蛹的文件系统类型
- FAT
- VFAT
- NTFS
- Ext2
- HPFS
4.5 文件的逻辑结构分类
- 有结构的记录式文件
- 无结构的流式文件
4.6 文件的物理结构
- 连续结构
- 链接结构
- 索引结构
- 多个物理块的索引表
4.7 文件的存取方法
- 顺序存取
- 随机存取
4.8 存储空闲空间管理方法
- 空闲区表
- 位示图
- 空闲块链
- 成组链接法
4.9 文件保护的方式
- 存取控制矩阵
- 存取控制表
- 用户权限表
- 密码
五、网络协议
5.1 常见的网络协议分类
- 局域网协议(LAN)
- 广域网协议(WAN)
- 无线网协议
- 移动网协议
六、中间件
6.1 中间件的分类
- 通信处理(消息)中间件
- 事务处理(交易)中间件
- 数据存取管理中间件
- WEB服务器中间件
- 安全中间件
- 跨平台和架构的中间件
- 专用平台中间件
- 网络中间件
七、软件构建
7.1 构件组装模型的开发过程
- 设计构件组装
- 建立构件库
- 构建应用软件
- 测试与发布
7.2 构件组装模型的优点
- 构件的自包容性让系统的扩展变得更加容易
- 设计良好的构件更容易被重用,降低软件开发成本
- 构件的粒度较整个系统更小,因此安排开发任务更加灵活,可以将开发团队分成若干组,并行独立开发构件
7.3 构建组装模型的缺点
- 对构件的设计需要经验丰富的架构设计师,设计不良的构件难以实现构件的优点,降低构件组装模型的重用度
- 在考虑软件的重用度时,往往对其他方面作出让步,如性能等
- 使用构建组装应用程序时,要求程序员能熟练地掌握构件,增加了研发人员的学习成本
- 第三方构件库的质量会最终影响到软件的质量,而第三方构件库的质量往往是开发团队难以控制的。
7.4 主流的商用构件标准规范
- CORBA
- J2EE
- DNA 2000