计算机系统组成
完整的计算机系统由硬件(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)数据库:物理数据库,描述数据库。
物理数据库:应用数据的集合,是DB的主体。
描述数据库:关于各级数据结构的描述,由数据字典(DD)系统管理。
简单数据字典示例
如图所示的数据字典中记录了系统中所有数据项的信息,而数据项是数据库中最基本的单位。
除了物理数据库和描述数据库外,还有用于故障恢复的日志系统数据库、用于查询优化的索引以及一些统计数据库等。
(2)硬件
数据库系统中的硬件包括CPU、内存、外存、I/O设备、数据通道等设备。
(3)软件
数据库管理系统(DBMS)、操作系统(OS)、各种与数据库接口的高级语言及编译系统、应用开发工具、数据库应用系统等。
数据库应用系统是最外层的系统,与特定的应用有关;最内层的是操作系统,以来支持数据库以及其他的软件的运行;高级语言及编译系统、应用开发工具是用来是用来开发数据库系统的;数据库管理系统是整个数据库系统的核心。
(4)人员
数据库管理员(DBA),系统分析员,数据库设计人员,应用程序员,最终用户。
二、各类使用数据库系统人员的职责
(1)数据库管理员(DBA)(专门用来监督、管理、控制数据库系统运行的最重要人员)的职责为:
1.模式定义,决定数据库中信息内容和结构
2. 内模式定义,决定数据库的存储结构和存取策略
3.根据要求修改数据库的模式和内模式
4.对数据库访问的权限,定义数据的安全性
5.完整性约束条件的说明
6.监控数据库的使用和运行(处理出现的问题)
7.数据库的改进和重组重构(改进数据库设计 )
(2)系统分析员的职责为:
负责应用系统的需求分析和规范说明,确定系统的硬件软件配置,参与数据库系统的概要设计。
(3)数据库设计人员的职责为:
负责数据库中数据的确定,各级模式的设计,参加用户需求调查和系统分析,进行数据库设计。
(4)应用程序员的职责为:
负责设计和编写应用系统的程序模块、调试和安装。
(5)用户
最终用户通过应用系统的用户接口使用数据库。常用的接口方式有浏览菜单驱动、表格操作、图形显示等,以简明直观的表示方式显示数据。
偶然用户:企业中高级管理人员,不常访问数据库,但访问时往往需要不同的数据库信息。
简单用户:多数用户是简单用户,工作是通过应用程序的友好界面查询和修改数据库中的数据。
复杂用户:工程师、科学家等人员,熟悉DBMS的各种功能,可直接用DML语言访问数据库,用API编写自己程序。
数据库系统不仅是一个计算机系统,也是一个人-机系统,人的作用尤为重要。
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。