概述
计算机系统是指用于数据管理的计算机硬件、软件及网络组成的系统

计算机系统
硬件
- 冯诺依曼五大组成部分:控制器、运算器、存储器、输入设备、输出设备
- 运算器和控制器是 CPU 的核心部件
- CPU 的指令集按照其复杂程度可分为复杂指令集(CISC,实现方式是微程序控制)和精简指令集(RISC,硬布线逻辑,使用大量寄存器)
- 其他处理器:图形处理器(GPU,显卡,具有数百或数千个内核,经过优化可并行运行大量计算)、数字信号处理器(DSP,专门用于实时的数字信号处理,通过采用饱和算法处理溢出问题,通过乘积累加运算提高矩阵运算的效率,以及为傅里叶变换设计专用指令等方法)、现场可编程逻辑门阵列(FPGA)
存储器
存储器是用于存储数据的电子设备。根据存储器的硬件结构可以分为SRAM(缓存)、SRAM(内存)、NVRAM、Flash、EPROM、Disk等。计算机系统中的存储器通常常用分层的体系结构,按照与 CPU 的物理距离分为4个结构
- 片上缓存:在 CPU 核心中直接集成的缓存,一般为SRAM结构,实现数据快速读取,容量较小,一般为16KB-512KB,按照不同的分级可能分为一级和二级
- 片外缓存:在 CPU 核心外的缓存,需要经过交换互联开关访问,一般也是 SRAM结构,容量大约256KB-4MB。按照层级被分为 L2Cache 或 L3Cache,或者称为平台 Cache
- 主存:通常采用 DRAM 结构,以独立的部件/芯片存在,通过总线与 CPU 连接。DRAM 依赖不断充电维持其中的数据,容量在数百MB到数十GB之间
- 外存:访问速度慢,容量大,且在掉电后能够保持数据
总线
计算机部件间遵循某一特定协议实现数据交换的形式,即以一种特定格式按照规定的控制逻辑实现部件间的数据传输。总线之间通过桥实现连接。按照总线在计算机中所处位置分为
- 内总线:用于各类芯片内部互联,也可称为片上总线、片内总线
- 系统总线:计算机中的CPU、内存、I/O接口的总线
- 外部总线:计算机板和外部设备之间,或者计算机系统之间互联的总线,又称为通信总线
性能指标
- 总线带宽
- 总线服务质量 QoS
- 总线延时
- 总线抖动
分类
- 并行总线
- 串行总线
接口
同一计算机不同功能层之间的通信规则。一种总线可能存在多种接口,计算机接口有很多种:
- 显示类接口(HDMI、DVI)
- 音频输入输出类接口
- 网络类接口
- USB 接口
软件
- 系统软件:为整个计算机系统配置的不依赖特定应用领域的通用软件,对计算机系统的硬件和软件资源进行控制和管理
- 应用软件
文件系统
文件是一种抽象机制,隐藏了实现和硬件细节。文件系统是操作系统中实现文件统一管理的一组软件和相关数据的集合。文件系统的功能包括按名存取、统一的用户接口、并发访问和控制、安全性控制、优化性能、差错恢复。
结构
文件的结构是指文件的组织形式。
- 逻辑结构:用户角度看到的文件组织形式
- 有结构的记录式文件:所有的记录通常都是描述一个实体集的
- 无结构的流式文件:文件体为字节流,采用顺序访问方式
- 物理结构:文件在文件存储器上的存放方式
- 连续结构(顺序结构)
- 链接结构(串联结构)
- 索引结构
文件链接
文件共享中的文件链接分为:
- 硬链接:两个文件目标表指向同一个索引结点的链接,该链接也称基于索引结点的链接
- 符号链接(软链接):建立新的文件或目录,并与原来的文件或目录的路径名进行映射,即快捷方式
外存空间管理
位示图
保护
文件系统对文件的保护常采用存取控制的方式进行。实现方式:
- 存取控制矩阵
- 存取控制表:列出一个文件的所以权限用户,LINUX系统使用
- 用户权限表:列出一个用户能够访问的所有文件
- 密码
中间件
作为应用软件和各种操作系统之间使用的标准化编程接口和协议。使应用软件的开发相对独立于计算机硬件和操作系统。分类如下:
- 通讯处理(消息)中间件
- 事务处理(交易)中间件
- 数据存取管理中间件
- Web服务器中间件
- 安全中间件
- 跨平台和架构的中间件
- 专用平台中间件
- 网络中间件
构件
构件又称为组件,是一个自包容、可复用的程序集。或者说是一组程序的集合,这个集合整体向外提供统一的访问接口,构件外部只能通过接口来访问构件,而不能直接操作构件的内部
构件组装模型
利用软件构件进行搭积木式开发。一般开发过程
- 设计构件组装
- 构建构件库
- 构建应用软件
- 测试与发布