计算机系统的分类示意图
- 计算机系统
- 嵌入式计算机
- 电信设备
- 基站
- 网络交换
- 移动终端
- 家用电子设备
- 视听设备
- 厨卫电器
- 可穿戴电子设备
- 医疗设备
- 交通设备
- 国防设备
- 金融设备
- 电信设备
- 通用计算机
- 个人计算机
- 台式电脑
- 平板电脑
- 网络服务器
- 云存储
- 云计算
- 超级计算机
- 个人计算机
- 嵌入式计算机
计算机硬件组成
- 处理器
- 存储器
- 总线
- 接口
- 外部设备
操作系统的组成
- 操作系统内核(Kernel)
- 其他许多附加的配套软件所组成,包括图形用户界面程序、常用的应用程序、实用程序,以及为支持应用软件开发和运行的各种软件构件
操作系统的作用
- 管理计算机中运行的程序和分配各种软硬件资源
- 为用户提供友善的人机界面
- 为应用程序的开发和运行提供一个高效的平台
- 还具有辅助用户操作、处理软硬件错误、监控系统性能、保护系统安全等许多作用
操作系统的特征
- 并发性
- 共享性
- 虚拟性
- 不确定性
操作系统的分类
- 批处理操作系统
- 单道批处理
- 多道批处理
- 分时操作系统
- 4个特点
- 多路性
- 独立性
- 交互性
- 及时性
- 4个特点
- 实时操作系统
- 网络操作系统
- 分布式操作系统
- 微型计算机操作系统
- 嵌入式操作系统
- 微型化
- 可定制
- 实时性
- 可靠性
- 易移植性
数据库分类
- 关系型数据库
- 数据库设计方法
- 直观设计法
- 规范设计法
- 计算机辅助设计法
- 自动化设计法
- 关系数据库设计基本步骤
- 需求分析
- 产物:需求说明书
- 概念结构设计
- 产物:概念模型
- 逻辑结构设计
- 视图、概念模式及应用处理说明书
- 物理结构设计
- 应用程序设计
- 运行维护
- 需求分析
- 数据库设计方法
- 分布式数据库
- 键值数据库
- 列存储数据库
- 文档数据库
- 搜索引擎数据库
分布式数据库特点
- 数据的集中控制性
- 数据独立性
- 数据冗余可控性
- 场地自治性
- 存取的有效性
分布式数据库体系结构
- 全局外层
- 全局概念层
- 局部概念层
- 局部内层
分布式数据库的应用
- 分布式计算
- Internet应用
- 数据仓库
- 数据复制以及全球联网查询等
常用的数据库管理系统
- Oracle
- IBM DB2
- Sybase
- Microsoft SQL Server
大型数据库管理系统的特点
- (1)基于网络环境的数据库管理系统。可以用于C/S结构的数据库应用系统,也可以用于B/S结构的数据库应用系统。
- (2)支持大规模的应用。可支持数千个并发用户、多达上百万的事务处理和超过数百GB 的数据容量。
- (3)提供的自动锁功能使得并发用户可以安全而高效地访问数据。
- (4)可以保证系统的高度安全性。
- (5)提供方便而灵活的数据备份和恢复方法及设备镜像功能,还可以利用操作系统提供容错功能,确保设计良好的应用中的数据在发生意外的情况下可以最大限度地被恢复。
- (6)提供多种维护数据完整性的手段。
- (7)提供了方便易用的分布式处理功能。
文集系统
文件系统的类型
- (1) 按文件的性质和用途分类可将文件分为系统文件、库文件和用户文件。
- (2) 按信息保存期限分类可将文件分为临时文件、档案文件和永久文件。
- (3)按文件的保护方式分类可将文件分为只读文件、读/写文件、可执行文件和不保护文件。
- (4)UNIX系统将文件分为普通文件、目录文件和设备文件(特殊文件)。
目前常用的文件系统类型有FAT、VFAT、NTFS、Ext2和HPFS等。
文件的结构和组织
文件的结构是指文件的组织形式。从用户角度看到的文件组织形式称为文件的逻辑结构,文件系统的用户只要知道所需文件的文件名就可以存取文件中的信息,而无须知道这些文件究竟存放在什么地方。
从实现的角度看,文件在文件存储器上的存放方式称为文件的物理结构。
文件的逻辑结构
- 有结构的记录式文件
- 在记录式文件中,所有的记录通常都是描述一个实体集的,有着相同或不同数目的数据项,记录的长度可分为定长(指文件中所有记录的长度相同)和不定长(指文件中各记录的长度不相同)两类。
- 无结构的流式文件
- 无结构的流式文件的文件体为字节流,不划分记录。无结构的流式文件通常采用顺序访问方式,并且每次读/写访问可以指定任意数据长度,其长度以字节为单位。对于流式文件的访问,是利用读/写指针指出下一个要访问的字符。可以把流式文件看作是记录式文件的一个特例。
文件的物理结构
文件的物理结构是指文件的内部组织形式,即文件在物理存储设备上的存放方法。由于文件的物理结构决定了文件在存储设备上的存放位置,所以文件的逻辑块号到物理块号的转换也是由文件的物理结构决定的。
常见的文件物理结构
- 连续结构
- 链接结构
- 索引结构
- 多个物理快的索引表
文件存取方法
- 顺序存取
- 随机存取
常用的空闲空间管理方法
- 空闲区表
- 将外存空间上的一个连续的未分配区域称为"空闲区“。
- 位示图
- 这种方法是在外存上建立一张位示图(Bitmap)
- 空闲块链
- 每个空闲物理块中有指向下一个空闲物理块的指针,所有空闲物理块构成一个链表,链表的头指针放在文件存储器的特定位置上(如管理块中),不需要磁盘分配表,节省空间。每次申请空闲物理块只需根据链表的头指针取出第1个空闲物理块,根据第一个空闲物理块的指针可找到第2个空闲物理块,依此类推。
- 成组链接法
- NIX系统采用该方法。例如,在实现时系统将空闲块分成若干组,每100个空闲块为一组,每组的第1个空闲块登记了下一组空闲块的物理盘块号和空闲块总数。假如某个组的第1个空闲块号等于0,意味着该组是最后一组,无下一组空闲块。
文件共享和保护
文件共享
文件共享是指不同用户进程使用同一文件,它不仅是不同用户完成同一任务所必须的功能,还可以节省大量的主存空间,减少由于文件复制而增加的访问外存次数。
文件共享有多种形式,采用文件名和文件说明分离的目录结构有利于实现文件共享。常见的文件链接有硬链接和符号链接两种。
- (1)硬链接。文件的硬链接是指两个文件目录表目指向同一个索引结点的链接,该链接也称基于索引结点的链接。换句话说,硬链接是指不同文件名与同一个文件实体的链接。文件硬链接不利于文件主删除它拥有的文件,因为文件主要删除它拥有的共享文件,必须首先删除(关闭)所有的硬链接,否则就会造成共享该文件的用户的目录表目指针悬空。
- (2)符号链接。符号链接建立新的文件或目录,并与原来文件或目录的路径名进行映射,当访问一个符号链接时,系统通过该映射找到原文件的路径,并对其进行访问。采用符号链接可以跨越文件系统,甚至可以通过计算机网络连接到世界上任何地方的机器中的文件,此时只须提供该文件所在的地址以及在该机器中的文件路径。
文件的保护
文件系统对文件的保护常采用存取控制的方式进行。所谓存取控制,就是规定不同的用户对文件的访问有不同的权限,以防止文件被未经文件主同意的用户访问。
- 存取控制矩阵
- 存取控制表
- 用户权限表
- 密码
网络协议
常用的网络协议
- 局域网协议(LAN)
- 广域网协议(WAN)
- 无线网协议
- 移动网协议
中间件
中间件分类
- 通信处理(信息)中间件
- 事务处理(交易)中间件
- 数据存取管理中间件
- Web服务器中间件
- 安全中间件
- 跨平台和架构中间件
- 专用平台中间件
- 网络中间件
主流的中间件
- IBM MQSeries
- BEA Tuxedo
软件构件
软件又称为组件,是一个自包容、可复用的程序集。构件是一个程序集,或者说是一组程序的集合。
构件组装模型的开发过程
- 设计构件组装
- 建立构件库
- 构建应用软件
- 测试预发布
构件组装模型的优点:
- 构件的自包容性让系统的扩展变得更加容易
- 设计良好的构件更容易被重用,降低软件开发成本
- 构件的粒度整个系统更小,因此安排开发任务更加灵活,可以将开发团队分成若干个组,并行地独立开发构件
构件组装模型明显的缺点:
- 对构件的设计需要经验丰富的架构设计师,设计不良的构件难以实现构件的优点,降低构件组装模型的重用度
- 在考虑软件的重用度时,往往会对其他方面做出让步,如性能等
- 使用构件组装应用程序时,要求程序员能熟练地掌握构件,增加了研发人员的学习成本
- 第三方构件库的质量会最终影响到软件的质量,而第三方构件库的质量往往是开发团队难以控制的。
商用构件的标准规范
主流的商用构件标准规范
- 对象管理组织(OMG)的CORBA
- 3个层次
- 对象请求代理
- 对象请求代理(Object Request Broker,ORB)规定了分布对象的定义(接口)和语言映射,实现对象间的通信和互操作,是分布对象系统中的“软总线”
- 公共对象服务
- 在ORB之上定义了很多公共服务,可以提供诸如并发服务、名字服务、事务(交易)服务、安全服务等各种各样的服务
- 公共设施
- 最上层的公共设施则定义了构件框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的协定规则。
- 对象请求代理
- 3个层次
- Sun的J2EE
- Microsoft的DNA
CORBA CCM(CORBA Component Model)构件模型是OMG组织制定的一个用于开发和配置分布式应用的服务器端构件模型规范,它主要包括如下3项内容。
- (1)抽象构件模型:用以描述服务器端构件结构及构件间互操作的结构。
- (2)构件容器结构:用以提供通用的构件运行和管理环境,并支持对安全、事务、持久状态等系统服务的集成。
- (3)构件的配置和打包规范:CCM使用打包技术来管理构件的二进制、多语言版本的可执行代码和配置信息,并制定了构件包的具体内容和文档内容标准。
应用软件
按照应用软件的开发方式和适用范围,应用软件可再分成通用应用软件和定制应用软件2大类。
通用软件
- 文字处理软件
- 电子表格软件
- 媒体播放软件
- 网络通信软件
- 个人信息管理软件
- 演示软件
- 绘图软件
- 信息检索软件
- 游戏软件等
专用软件
- 超市的销售管理和市场预测系统
- 汽车制造厂的集成制造系统
- 大学教务管理系统
- 医院信息管理系统等