计算机系统图
一. 计算机系统组成
1. 计算机硬件系统组成
(1)计算机硬件包括主机(包括CPU、内存)和外部设备(包括输入设备、输出设备、外存储器);
(2)计算机硬件是看得见摸得着的部分。
2. 计算机软件系统组成
(1)计算机软件系统是计算机所需的各种程序、数据及其相关文件的集合,可以分为系统软件和应用软件两类。
二. 计算机工作原理
1. 指令
(1)指令是让计算机完成某个操作所发出的基本操作命令
(2)一条指令通常由两个部分组成:操作码和操作数(地址码)。
(3)操作码指明该指令要完成的操作,如加减乘除等。
(4)操作数是指参加运算的数据本身或者数据所在的单元地址。
(5)计算机执行了一指令序列,便可完成预定的任务,这一指令序列就称为程序。
(6)计算机中所有指令的集合,称为该计算机的指令系统,指令系统反映了计算机的基本功能,不同的计算机指令系统也不相同。
(7)指令是程序员进行程序设计的基本出发点和最小单位。
2. 计算机的工作过程
(1)取指令
(2)分析指令
(3)执行指令
(4)上诉步骤完成后,指令计数器加一,为执行下一条指令做准备。指令计数器中存储的是每个指令的地址。
(5)指令执行过程和指令工作方式如下图:
3. 计算机的工作方式自动工作过程主要取决于它的两个基本力:
(1)能够存储程序:
存储程序原理:计算机利用“存储器“(内存)存放所要执行的程序,CPU可以依次从存储器中去除程序中的每一条指令,并加以分析和执行,直至完成全部指令任务为止。
(3)能够自动地执行程序。
三、计算机硬件系统
1. 计算机硬件系统是什么
(1)看得见摸得着的部分。
(2)计算机硬件是指计算机系统中的电子、机械和光电元件等组成的各种物理装置的总称。
(3)计算机硬件系统内的联系如图:
2. 运算器
(1)运算器由:算术逻辑单元(ALU)、累加器、状态寄存器、通用寄存器组等组成
(2)运算器是计算机中执行数据处理指令的器件,负责对信息进行加工和运算。
(3)计算机中执行各种算术和逻辑运算操作的部件。
(4)运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件(ALU)。
3. 控制器
(1) 控制器是只会和控制计算机各个部件进行工作的“神经中枢”。通常把控制器和运算器合称为中央处理器(CPU)。它是计算机的核心部件。
(2) 控制器的主要部件由指令寄存器、程序计数器、指令译码器、操作控制器和时序信号产生器等组成。
4. 存储器
(1)存储器的作用
存储器是计算机系统用来存储程序和数据的器件,它是一个记忆装置,也是计算机能够实现程序存储控制的基础。用来记录存储信息的物质称为存储介质。
(2)存储器的分类
- 按信息是否可以更改:
① 读写存储器
② 只读存储器。 - 按存储器的类型:
① 内存储器(主存储器)
1)只读存储器(ROM)
2)随机存储器(RAM): CPU从RAM中既可读出数据也可写入数据,但断电之后RAM所存的数据信息就会丢失。动态随机存储器(ORAM)、静态随机存储器(SRAM)。
3)高速缓冲存储器(Cache): 它是介于CPU和内存之间的一种可高速存取信息的芯片,是CPU和RAM之间的桥梁,用于解决它们之间的速度冲突问题。
② 外存储器(辅助存储器)
1)外部存储器: 简称外存,也可以称为辅助存储器,位于主机外部。不能和CPU直接交换数据。就相当于一个仓库,只能与内存储器交换数据。
5. 输入设备
6. 输出设备
(1)打印机按照打印方式,常用的打印机可分为:针式打印机、喷墨打印机、激光打印机。
四、计算机软件系统
1. 裸机的定义
裸机是指没有配置操作系统和其它软件的计算机(没有安装任何软件的计算机)只有硬件系统。
2. 软件的定义
(1)软件是指能够支持计算机工作,提高计算机使用效率和扩大计算机功能的各种程序、数据和有关文档的总称
①程序: 是指为了解决某一问题而设计的一系列指令或语句的有序集合。
②数据: 程序处理的对象和处理的结果
③文档: 描述开发程序、使用程序和维护程序所需要的有关资料。
3. 软件的分类
(1)计算机软件按用途分类:
①服务类软件: 面向用户,为用户提供各种各样的服务。
②维护类软件: 面向计算机进行维护,包括故障、判断以及检测。
③操作管理类软件: 面向计算机的操作和管理,包括各种操作系统,网络通信系统和计算机管理软件等等。
(2)计算机系统的角度分类:
①系统软件。
②应用软件。
4. 系统软件
(1)系统软件的概念
系统软件的作用是管理控制维护计算机的各种资源,以及扩大计算机功能和方柏霓用户使用计算机的各种程序集合。系统软件通常都是由计算机的厂家或者第三方厂商提供。
(2)系统软件的特点
① 通用性: 普遍适用于各个领域
② 基础性: 是指其他软件都是在系统软件的支持上进行开发和运行。
(3)操作系统
① 操作系统是包裹在硬件上的第一层软件,操作系统是用户和计算机硬件系统之间的接口。
② 裸机+操作系统=虚拟计算机(功能和操作比裸机完全升华)
③ 操作系统是直接运行在裸机上的最基本的系统软件,任何其他软件必须在操作系统的支持下才能运行。
④ 操作系统的作用:
1)管理计算机系统中的各种资源(管理)
2)为用户提供良好的界面(服务)
⑤ 操作系统的管理功能:
1)处理器管理(CPU管理)
- 主要任务是对CPU处理器资源进行分配调度,并对处理器的运行进行有效的控制和管理。
- 处理器管理的实质就是进程管理(CPU的调度和管理)。
- 进程:具有一定功能的程序关于某个数据集合上的一次运行活动;简单的说就是一个正在运行的程序。
- 进程是系统进行资源分配和调度的一个独立单位;
- 进程有生命周期:
- 一个程序可以构成多个进程;
- 一个进程也可以执行一个或多个程序。
2)存储管理
- 主要任务是对存储空间(内存空间)的分配、回收与保护。
- 存储管理主要是针对相对有限的内存储器,把暂时不用的程序和数据移到外存中去,把急需使用的程序和数据移到内存中来。
- 往往操作系统还可以提供虚拟存储器,来为用户提供比实际容量更大的存储资源。
- 多个程序共享有限的内存资源时:
- 如何为它们分配内存空间;
- 如何使放在内存中的程序和数据彼此隔离、互不侵扰,又能保证在一定条件下共享;
- 解决内存扩充问题。
3)设备管理
- 任务是对计算机系统中所有的外部设备进行管理。
- 让每个设备发挥自己特长,实现与CPU和内存的数据交换,提高外部设备的利用率。
- 由于计算机的外部设备种类多,功能差异很大,设备管理一方面是能让每个设备都能物尽其用,实现外部设备与内部数据的交换。
- 为这些设备提供驱动程序或控制程序,隐蔽设备操作的具体细节,用户不必详细了解设备及接口就可方便地对这些设备进行操作,为用户 提供一个统一、友好的设备使用界面。
4)文件管理(文件系统)
- 主要任务就是有效地支持文件的存储、检索和修改等操作。
- 使用方便,按名存取。
- 数据安全,能够有效保护措施。
- 能够实现信息共享。
5)作业管理
- 任务是为用户提供一个使用系统的良好环境,使用户能有效的组织自己的工作流程,并使整个系统能高效地运行。
⑥ 操作系统按系统功能分类:
1)批处理操作系统
- 用户将要机器做的工作有序的排在一起,成批地交给计算机系统,系统自动地、顺序地完成这些作业,用户与作业之间没有交互作用,不能直接控制作业的运行。
- 用户和作业之间没有交互,不用直接控制作业的运行,批处理有时也称为“脱机操作”。一般用于计算中心等较大的计算机系统,要求系统对资源的分配及作业的调度策略有精心的设计,对管理的功能要求比较高。
2)分时操作系统
分时操作系统的一台主机连接了若干个终端,每个终端有一个用户在使用。用户交互式地向系统提出命令请求,系统接收每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。
3)实时操作系统
⑦ 按照与用户对话的界面来分类,可分为:
1)命令行界面的操作系统(如MS DOS Linux等)
2)图形用户界面操作系统(如Windows等)
⑧ 按照支持的用户数来分类,可分为:
1)单用户操作系统(如MS DOS、Windows等)
2)多用户操作系统(如UNIX、Linux等)
⑨ 按照运行的任务数来分,可分为:
1)单任务操作系统(如MS DOS等)
2)多任务操作系统(如Windows、UNIX等)
(4)数据库管理系统
① Access
② DB2
③ Oracle
④ SQL Server
⑤ MySQL
(5)语言处理程序
各种程序涉及语言编写的源程序是不能直接被计算机执行的,必须经过翻译(汇编、编译、解释)才能执行。
(6)系统支撑和服务程序(工具软件)
① 工具软件,如系统诊断程序、调试程序、排错程序、编辑程序、查杀病毒程序等等。
② 都是为维护计算机系统的正常运行或支持系统开发所配置的软件系统。
4. 应用软件
(1)应用软件的概念
为了解决某种实际应用问题而设计的计算机软件。应用软件通常由计算机的用户或专门的软件公司开发。
衡量一种应用软件优劣的指标主要包括:可用性、可靠性、安全性、可移植性、经济性等。
(2)主要用途
① 科学计算
② 数据处理
③ 过程控制
④ 辅助设计
⑤ 人工智能
(3)应用软件的组合:称之为软件包或者是软件库。
(4)应用软件的类型
①应用软件包
1)办公软件:办公软件包:一般包含字处理、桌面排版、演示文稿和电子表格等。
2)数据库系统:主要面向解决数据处理的非数值计算问题。
②用户程序
③自由软件(开源软件):完全面向用户免费的软件。
5.计算机程序设计语言
(1)程序设计语言分类
①机器语言
1)机器指令:计算机能够直接识别和执行的二进制指令
2)机器语言:各个计算机规定的可以执行的若干指令集合就是机器语言指令系统,简称机器语言。
3)机器语言是机器唯一能够直接执行的语言。汇编语言也不能!!
4)缺点:难学、难记、难懂、难修改、不同型号计算机的机器语言不同。
②汇编语言
1)第二代计算机语言汇编语言,即符号语言,是用一些“助记忆符号”来代替机器语言中那些难懂难记的二进制指令的语言。
2)优点:编程质量高、占用存储空间少、执行速度快。
3)缺点:不同类型计算机中的汇编语言不同,通用性差。
4)机器语言和灰白你语言为“面向机器的语言”,它们也被称为“低级语言”。
③高级语言
1)优点:易于理解、学习、掌握和使用,通用性和可以执行也更好。
2)缺点:执行效率上会略低。
(2)源程序与目标程序:
① 源程序:用汇编语言和高级语言编写的程序不能被计算机直接理解和执行,这种程序就称为源程序。
② 目标程序:源程序必须经过一个翻译过程才能转换为计算机所能识别的机器语言程序,经过转换后得到的可以由计算机直接执行的机器语言程序称为目标程序。
(3)语言处理器:
①汇编程序
将汇编语言编写的程序(汇编语言源程序)编译成机器语言程序(目标程序)的工具。
②高级语言翻译程序有两种工作方式:
1)编译方式(使用编译程序编译)(C、Java)
1‘ 优点:可执行程序是可以脱离编译程序和源程序独立存在,并且可以反复使用的。
2’ 编译程序执行速度快,只是每次要修改源程序,都必须重新进行编译生成目标程序。
2)解释方式(使用解释程序解释)(BASIC、Python)
- 特点:每次执行程序,都不能离开解释的环境,它不会生成目标程序,每次运行时逐句检查分析,翻译一句执行一句。
- 解释程序这种边解释便执行的方式,特别适用于人机对话。
- 解释方式与编译方式比较,其执行速度慢,原因有三:
- 每次运行时都必须要重新解释,而编译方式编译一次,可重复执行多次。
- 若程序较大,且错误发生在程序的后面,则前面运行的结果是无效的。
- 解释程序只看到一条语句,无法对整个程序进行优化。
6. 算法的基本概念
(1)算法的三种基本结构是顺序结构、选择结构、循环结构。
(2)算法具有有穷性,一个算法总是在执行了有限步骤的操作后终止。而程序并没有这一限制。
(3)算法具有有穷性、确定性和可行性的性质。