计算机系统组成

完整的计算机系统由硬件(hardware)和软件(software)两大部分(两类资源)组成。计算机的硬件系统是计算机系统中的物理设备,是一种高度复杂的、由多种电子线路、精密机械装置等构成的、能自动并且高速地完成数据计算的装置或者工具。

计算机的软件系统是计算机系统中的程序和相关数据,包括完成计算机资源管理、方便用户使用的系统软件(厂家提供),和完成用户对数据的预期处理功能的用户软件(用户设计并自己使用)这样两大部分。

计算机的硬、软件,二者相互依存,分工互动,缺一不可。硬件是计算机系统中保存与运行软件程序的物质基础,软件则是指挥硬件完成预期功能的智力部分。但是,计算机的硬件和软件在逻辑功能上是等效的。这就是说,由软件实现的操作,在原理上是可以由硬件来实现。同样,由硬件实现的许多操作在原理上也可以由软件的模拟来实现。

计算机硬件和软件系统的组成关系(计算机系统的层次结构)可以从如图1.1 所示的六个层次来认识。图中最下面的2层(第0层数字逻辑层、第1层微体系 结构层)属于硬件部分,最上面的3层(第3层操作系统层、第4层汇编语言层、 第5层高级语言层)属于软件部分,而中间的第2层指令系统层连接了硬件和软 件两部分,与两部分都有密切关系。

第0层:数字逻辑层。这说明实现计算机硬件的最重要的物质材料是电子线路, 是能够直接处理离散的数字信号数字逻辑电路。涉及到的计算机硬件的 基础知识就是数字逻辑和数字门电路,使用何种电路实现信息存储、信 息传送以及信息运算与加工,是这一层要解决的基本问题。

第1层:微体系结构(micro architecture)层,也可以称其为计算机裸机。计 算机的核心功能是执行程序,程序是按一定规则和顺序组织起来的指令 序列。这一层体现的是,为了执行指令,需要在计算机中设置哪些功能 部件(例如:存储、运算、输入和输出、接口和总线等部件,以及控制 器部件),每个部件又如何具体组成和怎样运行,这些部件如何实现相 互连接并协同工作等方面的知识和技术。

通常,计算机硬件系统由运算器部件(数据通路)、控制器部件、存储 器部件、输入设备、输出设备5部分组成。这个层次是计算机组成原理的 主要内容。

第2层:指令系统(instruction set)层,它介于硬件和软件之间。 这涉及到需要确定使用哪些指令,指令能够处理的数据类型和对其运算所用的算法, 每一条指令的格式和完成的功能,如何指出想要对其执行读操作或者写操作的存储器的一个存储单元, 如何指出想要执行输入或者输出操作的一个外围设备,对哪一个或二个数据进行运算, 执行哪一种运算、如何保存计算结果等。指令系统是计算机硬件系统设计、实现的最基本和最重要的依据, 与计算机硬件实现的复杂程度、设计程序的难易程度、程序占用硬件资源的多少、程序运行的效率等都直接相关, 说到底,硬件系统就是要实现每一条指令的功能,能够识别和执行由指令代码序列组成的程序。 当然,指令系统与计算机软件的关系也十分密切,指令是用于设计程序的,到了计算机内部, 全部的程序最终都是由指令系统所提供的指令代码组成的, 计算机硬件能够直接识别和执行的只能是由指令代码组成的程序。

第3层:操作系统(operating system)层。 它主要分担计算机系统中的资源管理与分配, 也向使用者和程序设计人员提供简单、方便、高效的服务。 它是使用(直接或者间接)计算机硬件指令系统所提供的指令设计出来的程序, 并把一些常用功能以操作命令或者系统调用的方式提供给使用人员。

第4层:汇编语言(assembly language)层。 计算机的硬件可以直接识别、理解的,用电子线路容易处理的就是计算机的机器语言, 又称为二进制代码语言,也就是计算机的指令。一台计算机的全部指令构成该计算机的指令系统。由此可以看出, 实质上计算机的基础硬件是在机器语言的层次上被设计与实现的,并且可以直接识别和执行的只能是由机器语言构成的程序。

汇编语言是对计算机机器语言的符号化处理(采用英文)的结果, 再增加一些为方便程序设计而实现的扩展功能。与机器语言相比, 汇编语言至少有2大优点。首先实现用英文单词或其缩写形式替代二进制的指令代码, 更容易为人们记忆和理解;其次是可以选用含义明确的英文单词来表示程序中用到的数据(常量和变量), 并且避免程序设计人员亲自花费精力为这些数据分配存储单元。如果在此基础上, 还可以在支持程序的不同结构特性(如循环和重复执行等结构), 子程序所用形式参数替换为真实参数等方面提供必要的支持。

采用汇编语言设计的程序必须经过一个叫做汇编程序的系统软件进行翻译, 将其转换为计算机的机器语言后,才能在计算机的硬件系统上予以执行。

第5层:高级语言层,高级语言又称算法语言(algorithm language), 它的实现思路,不再是过分地“靠拢”计算机硬件的指令系统, 而是着重面向解决实际问题所用的算法,为方便程序设计人员写出自己解决问题过程的程序。 目前常用的高级语言有BASIC、C、C++、,PASCAL、JAVA、PROLOG等多种。

用这些高级语言设计出来的程序,通常需要经过一个叫做编译程序的软件编译成机器语言程序, 或者首先编译成汇编程序后,再经过汇编操作后得到机器语言程序,才能在计算机的硬件系统上予以执行; 也可以由一个叫做解释执行程序的软件,逐条取来相应高级语言程序的每个语句并直接控制其完成执行过程, 而不是把整个程序编译为机器语言程序之后再交给硬件系统加以执行,解释执行程序的最大缺点是运行效率比很低。

在高级语言层之上,还可以有应用层,由解决实际问题的处理程序组成, 例如文字处理软件,数据库软件,网络软件,多媒体信息处理软件,办公自动化软件等。

数据库的分类以及作用

数据库可以分为多种类型,不同类型的数据库具有不同的特点和适用场景,其主要作用是存储、管理和检索数据。以下是常见的数据库分类及其作用:

一、关系型数据库

  1. 定义:关系型数据库是建立在关系模型基础上的数据库,它通过表之间的关系来组织数据。
  2. 常见产品:MySQL、Oracle、SQL Server、PostgreSQL 等。
  3. 特点:数据以表格的形式存储,表格由行和列组成,每行代表一条记录,每列代表一个属性。支持 SQL(Structured Query Language,结构化查询语言),这是一种标准化的语言,用于查询、插入、更新和删除数据。提供事务处理功能,确保数据的一致性和完整性。例如,在银行系统中,从一个账户向另一个账户转账时,必须确保整个操作要么完全成功,要么完全失败,不能出现部分成功的情况。具有较高的数据一致性和可靠性,适合存储结构化数据。例如企业的、订单数据等。
  4. 作用:企业管理:用于存储企业的各种业务数据,如、订单信息、库存信息等,帮助企业进行数据分析和决策。金融领域:存储交易记录、客户账户信息等,确保数据的准确性和安全性。电子商务:管理商品信息、用户订单、购物车数据等,为用户提供个性化的购物体验。

二非关系型数据库(NoSQL 数据库)

  1. 定义:非关系型数据库不使用传统的关系模型,而是采用不同的数据存储和查询方式。
  2. 分类及常见产品:键值存储数据库:如 Redis、Memcached。以键值对的形式存储数据,其中键是唯一的标识符,值可以是任何数据类型。文档数据库:如 MongoDB。以文档的形式存储数据,每个文档可以包含不同的字段和结构,适合存储半结构化数据。列存储数据库:如 HBase。将数据按照列进行存储,适合处理大规模的数据分析和查询。图形数据库:如 Neo4j。用于存储和查询图形数据,适合处理复杂的关系网络。
  3. 特点:灵活性高:可以存储不同结构的数据,无需预先定义表格结构。可扩展性强:能够轻松应对大规模数据和高并发访问。性能高:通常采用分布式架构,能够快速读写数据。
  4. 作用:大数据处理:在处理海量数据时,非关系型数据库能够提供高效的存储和查询性能。例如,互联网公司可以使用 HBase 来存储和分析用户行为数据。实时应用:Redis 等键值存储数据库可以用于缓存数据,提高应用的响应速度。在电商网站中,可以将热门商品信息缓存到 Redis 中,减少对数据库的访问压力。社交网络分析:图形数据库适合存储和分析社交网络中的关系数据。例如,分析用户之间的关注关系、朋友圈关系等。

三、面向对象数据库

  1. 定义:面向对象数据库是一种以面向对象编程语言为基础的数据库系统,它将数据和操作封装在对象中。
  2. 特点:支持面向对象的编程概念,如继承、多态、封装等。可以存储和管理复杂的对象结构,适合存储具有复杂关系的业务数据。
  3. 作用:工程设计领域:存储和管理 CAD/CAM 系统中的设计数据,如三维模型、工程图纸等。地理信息系统:存储和查询地理空间数据,如地图数据、地形数据等。

四、层次数据库

  1. 定义:层次数据库以层次结构组织数据,数据之间的关系类似于树形结构。
  2. 特点:数据结构简单,易于理解和实现。适合存储具有层次关系的数据,如组织机构图、文件系统等。
  3. 作用:企业组织架构管理:存储企业的部门结构、人员关系等信息。文件系统管理:早期的操作系统中常使用层次数据库来管理文件系统。

五、网状数据库

  1. 定义:网状数据库以网状结构组织数据,数据之间的关系更加复杂,可以有多个父节点和子节点。
  2. 特点:能够表示复杂的多对多关系。灵活性高,但数据结构复杂,查询和管理相对困难。
  3. 作用:复杂业务系统:在一些需要处理复杂关系的业务系统中,如物流管理系统、供应链系统等,可以使用网状数据库来存储和管理数据。

总之,不同类型的数据库在数据存储、管理和查询方面具有各自的优势和适用场景。在选择数据库时,需要根据具体的业务需求、数据特点和性能要求来进行综合考虑。

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。