1 / 63

大学计算机基础 —— 系统工具与环境 (文科用)

大学计算机基础 —— 系统工具与环境 (文科用). 赵 欢 肖德贵 杨小林 陈 娟 吴蓉晖 编著. 第一部分 计算科学概论 第 2 章 计算机组成与工作原理. 大学计算机基础 —— 系统工具与环境(文科用). 本章内容提要. 2.2 计算机系统的基本组成. 微型计算机 软件系统. 软件分类. 用于计算机管理、监控、维护和运行的软件. 系统软件. 针对某个应用领域的具体问题而开发和研制的程序 。. 应用软件. 如何在计算机上干事情?. 各种应用软件. 各种系统工具. 金山影霸. C 编译器. C 语言库.

reece
Télécharger la présentation

大学计算机基础 —— 系统工具与环境 (文科用)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 大学计算机基础—— 系统工具与环境 (文科用) 赵 欢 肖德贵 杨小林 陈 娟 吴蓉晖 编著

  2. 第一部分 计算科学概论 第2章 计算机组成与工作原理 大学计算机基础 ——系统工具与环境(文科用)

  3. 本章内容提要 2.2 计算机系统的基本组成 大学计算机基础——系统工具与环境

  4. 微型计算机软件系统

  5. 软件分类 用于计算机管理、监控、维护和运行的软件 系统软件 针对某个应用领域的具体问题而开发和研制的程序。 应用软件

  6. 如何在计算机上干事情? 各种应用软件 各种系统工具 金山影霸 C编译器 C语言库 Windows 操作系统 硬件

  7. 基础性平台 系统工具 应用软件 操作系统 计算机硬件 专业软件… 应用软件 工具软件… 软件 编译软件… 系统软件 计算机系统 (层次结构) 操作系统 硬件及固件(裸机)

  8. 操作系统概念 • 操作系统的通用定义: • 中间层 • 服务提供者 • 资源管理器 • 控制程序 • 内核(kernel) 大学计算机基础——系统工具与环境

  9. 操作系统概念 • 操作系统的目标是提供一个执行程序的环境 • 操作系统的工作模式:中断驱动:通过中断(底层)和陷阱(上层) 大学计算机基础——系统工具与环境

  10. 用户界面,用户界面的任务是与机器的一个或多个用户进行通信。用户界面,用户界面的任务是与机器的一个或多个用户进行通信。 • 内核,管理计算机资源并提供服务,至少包括进程管理器、存储管理器、文件管理器和设备管理器 操作系统的功能模块 大学计算机基础——系统工具与环境

  11. 操作系统的功能模块 • 用户界面 • 用户通过界面与计算机打交道 • 命令行界面(CLI) • 图形用户界面(GUI) 大学计算机基础——系统工具与环境

  12. 操作系统的功能模块 • 进程管理 • 程序、进程 • 程序(Program)是由程序员编写的一组稳定的指令 • 进程(Process)是运行中的程序 • 程序是一个被动实体(静态的),进程是一个主动实体(动态的),多个进程可能与同一个程序关联。 大学计算机基础——系统工具与环境

  13. 操作系统的功能模块 • 进程管理 • 进程的状态 • 由于进程是动态的,具有生存期,生存期内其可能处于多种状态中的一个: • 新建(New),进程正被创建。 • 运行(Running),进程的指令正被执行(分配了CPU)。 • 等待(Waiting),进成正等待某些事件的发生(如I/O的完成或一个信号量的接收)。 • 就绪(Ready),进程正等待备分配给处理器(万事具备只欠CPU)。 • 终止(Terminated),进程已经完成执行。 进程状态及转换 大学计算机基础——系统工具与环境

  14. 操作系统的功能模块 • 进程管理 • 进程调度 • 为什么?多个进程在竞争(主要是竞争CPU) • 谁负责?操作系统的进程调度器(Process Scheduler):长期调度器或作业调度器与 短期调度器或CPU调度器 • 重点考虑CPU调度器的设计和优化,一方面就是让CPU不停地忙(做有用功),另一方面就是考虑进程的不同优先级别。 • 何时调度? • 正在执行的进程退出了 • 正在执行的进程要等待I/O或事件 • 正在执行的进程被中断了 • 当就绪队列里有新到达的进程 大学计算机基础——系统工具与环境

  15. 操作系统的功能模块 • 进程管理 • 进程间通信 • 简单的说,有三方面的内容: • 一个进程如何向另一个进程传送信息。 • 必须保证两个或多个进程在涉及临界活动时不会彼此影响。 • 涉及存在依赖关系时进行适当的定序:如果进程A产生数据,进程B打印数据,则B在开始打印之前必须等到A产生了一些数据为止。 大学计算机基础——系统工具与环境

  16. 操作系统的功能模块 • 存储管理 • 现代计算机是“存储程序”计算机,存储很关键 存储层次结构 操作系统的工作就是协调这些存储器的使用,跟踪哪些存储器正在被使用、哪些存储器空闲,在进程需要时为它分配存储器,使用完毕后释放存储器,并且在主存无法容纳所有进程时管理主存和磁盘之间的交换。 大学计算机基础——系统工具与环境

  17. 交换系统操作示例 图3.16 页失效处理流程 图3.16 页失效处理流程 操作系统的功能模块 • 文件管理 • 所有的计算机应用程序都要存储信息和检索信息,对于这些信息往往希望能实现长期的信息存储和方便的检索。解决这个问题的常用方法是把信息以一种单元,即通常所说的文件的形式存储在磁盘或其他外部介质上,然后,在需要时进程可以读取这些信息或者写入新的信息。操作系统中处理文件的这部分就是文件管理器, • 文件管理器的职能: • 管理文件的存储:怎样存储、存储在哪里等。 • 管理文件的创建、删除和修改。 • 控制对文件的访问。只有那些获得允许的才能够访问,访问的方式也可以不同。 • 可以给文件命名。 • 负责归档和备份。 大学计算机基础——系统工具与环境

  18. 交换系统操作示例 图3.16 页失效处理流程 图3.16 页失效处理流程 操作系统的功能模块 • I/O管理 • 操作系统的主要功能之一是控制所有的输入/输出(I/O)设备,操作系统中负责I/O设备的部分为设备管理器, • I/O管理器的职责: • 不停地监视所有设备,以保证他们能够正常运行。同样也需要知道什么时候设备已经完成一个进程的服务,而且准备为队列中的下一个进程服务。 • 为每一个设备维护一个队列,或为类似的设备维护一个或多个队列。 • 可以用不同的方式来访问设备。 大学计算机基础——系统工具与环境

  19. 如何执行“记事本”程序? • 执行过程 • 文件管理器和设备管理器将程序代码从磁盘文件中读出来 • 送到内存管理器为其分配的内存中 • 由处理器管理器为其分配CPU时间执行 • 总 结 • 各管理器仅仅执行各自功能是不够的,它们必须能够相互协调

  20. 常用操作系统 • 常见操作系统: • 大型机操作系统 • 系统需要同时处理大量作业,需要极其大量的I/O操作,典型提供三类服务:批处理、交易处理和分时共享。常见有OS/390、Linux等。 • 服务器操作系统 • 同时有多个用户通过网络进行访问,需要允许用户共享系统中的软、硬件资源。常用有Solaris、FreeBSD、Linux、Windows server 200x等。 • 多处理器操作系统 • 运行于多个CPU集成到一个系统中,通常是服务器操作系统的变种,典型代表有Windows、Linux等。 • PC机操作系统 • 为单个用户服务,典型有MSDOS、OS/2、Windows、Macintosh OS、 Linux、FreeBSD等。 大学计算机基础——系统工具与环境

  21. 3.3 常用操作系统 • 常见操作系统: • 手持终端操作系统 • 主要提供通信、娱乐功能及有限的办公功能。典型的有iOS、Android、Windows Phone 7、Symbian、Palm、Linux等。 • 嵌入式操作系统 • 典型嵌入式操作系统有VxWorks、QNX、Linux、Windows CE等。 • 实时操作系统 • 引入了关键的时间参数,实时系统一般有硬实时和软实时。典型有e-Cos、RT Linux、VRTX、RTOS、RT WINDOWS等。 • 云计算操作系统 • 包含模块:大规模基础软硬件管理、虚拟计算管理、分布式文件系统、业务/资源调度管理、安全管理控制等。VMware的vSphere,浪潮的云海OS 大学计算机基础——系统工具与环境

  22. 功能完备的操作系统 -UNIX • 是一个多用户、多任务的分时操作系统。广泛应用于高档微机、小型机、服务器… • 发展史 • 1969年:AT&T,PDP-7上的16位操作系统 (UNIX); • 1973年:用C编写的第一个版本 • 1974年:UNIX系统正式发表(第五版),在大学中得到广泛的应用与好评。 • 1980年:加州大学伯克利发表BSD 4.0 • 1984年:IBM公布IBM/PC上的UNIX • 1985年:微软公司将UNIX改造为适合PC机的Xenix • IEEE成立了POSIX委员会,专门从事开展UNIX标准化工作 • 为用户提供一个标准的用户界面,而不在于系统内部的实现 • UNIX System V Res4.0 / BSD 4.3 • 以UNIX为基础的商用操作系统开发(Solaris)

  23. 诱人的小企鹅——Linux • Linux的第一个版本诞生于1991年。它的作者是当时芬兰赫尔辛基大学的一个大学生LinusTorvalds。 • 他在完成一个作业调度系统的家庭作业后,突发灵感,开始着手将系统改造为一个实用的操作系统。 • 开发初期借助了当时最负盛名的教育类操作系统Minix的一些思想和成果,但他的雄心是要将自己这个系统变的比Minix更实用、更强健。 • 因此他决定把自己的系统代码公布于众,并且欢迎任何支援者来修改和扩充Linux系统。 • 到1994年Linux内核1.0版发布之时,世界上已经有相当多的操作系统爱好者和网络黑客为Linux操作系统贡献了大量代码 。

  24. 语言处理程序 程序设计语言:用户编写程序的语言,是人与计算机交换信息的工具。

  25. 微型计算机采用总线结构将计算机各器件连接起来进行信息传递。微型计算机采用总线结构将计算机各器件连接起来进行信息传递。 数据总线:DB(Data Bus)在CPU和内存或接口电路之间传送数据 地址总线:AB(Address Bus)单向,负责从CPU向存储单元或接口传送地址信息 控制总线:CB(Control Bus)用来传送各种控制信号和应答信号

  26. 地址总线 AB CPU 运算器 + 控制器 I/O 接 口 I/O 接 口 存 储 器 输 出 设 备 输 入 设 备 数据总线 DB 控制总线 CB

  27. 中央处理器CPU (由控制器 和 运算器组成) CPU是计算机的 “大脑” 与数据 “加工车间”, 是运行 “程序” 的核心部件。 在计算机中,CPU 能够直接识别和运行的程序,是由很多条用二进制编码的 “指令” 通过有序排列组成的。

  28. CPU 组成与运行原理 CPU 由 运算器 和 控制器 两部分组成 运算器 ALU: 执行算数、逻辑运算 寄存器组: 存源、中间数据 标志寄存器: 保存标志信息 地 址 寄存 器 寄存器组 PC指 令指针 寄存器 内存和接口 R1 R2 地址 总线 R3 R4 IR指令 寄存器 数 据 暂 存 器 运 算 器 控制器 PC:存并提供指令地址 IR :存并提供指令内容 指令步骤标识:区分步骤 产生控制信号:提供控制 ALU 数据 总线 指令步骤 产生控制信号 标 志 寄存器 控制总线

  29. 运算器的组成和功能 运算器主要由算术与逻辑运算部件 ALU、寄存器组 Regs和 标志寄存器 Flags 组成。 它的主要功能是: 执行数据算术与逻辑运算(+、-、与 、或等),由 ALU 完成; 暂存参加运算的数据和运算的中间结果,由 Regs承担; 保存数据运算结果的标志信息(C Z V S), 由 Flags 承担;

  30. 控制器的组成和功能 控制器主要由程序计数器 PC、指令寄存器 IR、指令执行步骤标示线路Timing、和 控制信号产生部件组成。 控制器的功能是向计算机各个部件提供它们协调运行每个步骤所需要的控制信号,保证程序自动、正确的运行。 程序是由一系列机器指令有序组合而成,运行前被装入到内存储器中。假定每条指令占用一个内存字。 指令是逐条执行的,每条指令又要用几个步骤完成其功能,例如,(1) 到内存一个单元中取来一条指令,(2) 分析这条指令, (3)接下来执行该指令的具体功能。 PC用于给出指令在内存的地址,能自动加 1 和接收新值 IR用于保存读出来的指令的内容,指令执行过程要用它 Timing用于给出指令执行步骤的信号,区分指令执行步骤 控制信号产生部件,依据指令的内容(在IR中)和指令执行步骤信号( Timing给出),形成这条指令在这个执行步骤中每个部件所需要的控制信号,使它们相互配合完成指定功能。

  31. 指令、语言与程序 在计算机中,CPU 能够直接识别和运行的程序,是由很多条用二进制编码的 “指令” 通过有序排列组成的。 指令,计算机运行的最小功能单位,用于把程序员使用计算机的 “意图” 指令告知 CPU ,包括: (1)使用哪几个数据、完成什么运算或处理,如何保存执行结果 ; (2)怎样安排指令自动衔接和执行顺序 等。 指令 与 数据 同样用二进制编码表示。 在一条指令中需要指出本条指令要实现的功能(操作码字段) 和 用到的数据来自哪里 (操作数地址字段)。 操作数可能在 运算器的一个累加器中 在内存的一个存储单元中 在 入/出 接口的寄存器中 操作码 操作数地址 为每项操作功能 分配一个编码 依据需要给出每个操作数的地址

  32. 指令系统 —— 人机交流的最基楚的语言 • 机器语言 —用二进制编码表示指令(机器指令:00111101) • 所有的机器指令=机器语言 用机器语言设计出来的程序称为机器语言程序 机器语言是 CPU 唯一能懂得的语言! • 但是,使用计算机的人却极难 看懂和使用 机器语言, • 这成为人机交流的严重障碍。 • 汇编语言— 是 程序员 可以使用、与机器指令很接近的语言。 • 用汇编助记符取代二进制码(汇编指令:MOV R1,R2) • 所有的汇编语句+使用规则=汇编语言 • 人 用汇编语言写程序,写出来的程序称为汇编语言程序 • 必须在 程序员 和 CPU 之间安排一位 ‘翻译’-汇编器程序由汇编器把 汇编语言程序翻译成 CPU 可接受的 机器语言程序

  33. 1010 0000 0000 0000 0010 0000 0000 0010 0000 0110 0000 0001 0010 0000 1010 0010 0000 0010 0010 0000 汇编语言与机器语言 例 将地址为2000H和2001H 的两内存单元内容相加,结果存在地址2002H单元中 汇编语言程序 • MOV AL , [2000H] • ADD AL , [2001H] • MOV [2002H], AL 内存 汇编 机器语言程序 读入内存 • A0 00 20 • 02 06 01 20 • A2 02 20

  34. 常用汇编指令简介 数据传送类: 告知数据传送 MOV:寄存器之间、寄存器与存储器之间等的数据传送 IN: 寄存器 I/O端口 输入指令 OUT: I/O端口 寄存器 输出指令 运算类: 告知完成指定的数据运算 ADD: 两操作数相加 CMP: 两操作数相比较 AND,OR,NOT: “与”、“或”、“非” 逻辑运算 控制转移类: 告知指令执行顺序 JMP: 无条件转移 JZ: 零标志有效转移 JNZ: 零标志无效转移 LOOP:循环操作指令 处理机控制类: NOP: 空操作

  35. 汇编语言程序 • 面向机器,与硬件密切相关 • 占内存少,执行速度快 • 编程与调试难度较大 学习汇编语言可以加深对计算机工作过程的理解;在有严格时间约束的直接控制硬件的场合,汇编语言比高级语言更具优势。 • 高级语言(算法语言,要配备编译程序) • 独立于机器,比较接近人的自然语言: Basic、 C等 • 须将高级语言程序编译成机器语言程序后才能被CPU执行 • 使用高级语言编程效率高、可读性和可维护性好 • 实时性能较差、占用内存较多、执行速度较慢

  36. 到内存中 到CPU中 到内存中 到CPU中 取指令2 取指令1 执行指令1 执行指令2 程序: 指令1 指令2 指令n • 程序控制? • 程序?计算机的“思想” • CPU “行动” 的指南 • 使用计算机语言由人编制而成(编程) • 计算机语言由“人”规定 • 高级语言:C、BASIC等 • 汇编语言:各系列机有自己的汇编语言 • 机器语言的每一句话都是一条指令 • 指令是指示 CPU 该如何行动的命令 • 不同的指令,完成不同的功能 • 程序控制:运行程序 • (RUN,“跑”程序,由CPU来“跑”)

  37. 取指令阶段( CPU读内存操作,通常由 2 个 步骤完成) 1. 由 PC 给出指令在内存的 地址 → 地址寄存器内容 → 地址总线 → 地址译码器, 选中指令所在的内存单元 2. CPU发出读内存信号, 指令从内存→数据总线→暂存器→指令寄存器 指令译码器可以对指令进行译码 PC 寄存器组 地 址 寄存 器 地 址 译 码 器 指令1 指令2 指令3 指令4 数据1 数据2 数据3 指 令 指 针 寄存器 地址总线AB R1 R2 R3 R4 程序 数据 数据总线DB 数据暂存器 运 算 器 指令寄存器 指令译码器 控制总线CB 标 志 寄存器 控制电路 内存读控制信号

  38. 执行指令阶段:“指令3” 经译码后产生若干信号,并经控制电路综合后发出控制信号去执行(如寄存器读/写、算术运算、逻辑运算、数据传送、控制转移等)。 CPU 总线 内存 PC 寄存器组 地 址 寄存 器 地 址 译 码 器 、、、 指令1 指令2 指令3 指令4 、、、 、、、 数据1 数据2 数据3 、、、 指 令 指 针 寄存器 R1 地址总线AB R2 R3 R4 数据总线DB 数据暂存器 运 算 器 指令寄存器 指令译码器 控制总线CB 标 志 寄存器 控制电路

  39. 内存 程序功能:将内存中的两个数据相加,并把结果存放到内存 指令1: 数据1 寄存器R1 指令2: 数据2 寄存器R2 指令3: R1+ R2 R3 指令4: R3 数据3 地 址 译 码 器 、、、 指令1 指令2 指令3 指令4 、、、 、、、 数据1 数据2 数据3 、、、 假设内存中存放了由 4 条指令构成的程序段 OP1 R1 地址1 被加数 加数 相加和 OP1 R2 地址2 OP2 R1 R2 R3 OP3 R3 地址3

  40. 指令1:将内存中的数据1送至CPU的寄存器R1中 取指令1:读指令1 数据暂存器 指令寄存器 ,指令译码 执行指令1:读内存中数据1 数据暂存器 寄存器R1 PC 寄存器组 地 址 寄存 器 地 址 译 码 器 、、、 指令1 指令2 指令3 指令4 、、、 、、、 数据1 数据2 数据3 、、、 指 令 指 针 寄存器 地址总线AB R1 R2 R3 R4 数据总线DB 数据暂存器 运 算 器 指令寄存器 指令译码器 控制总线CB 标 志 寄存器 控制电路 内存读控制信号

  41. 指令2:将内存中的 数据2 送至CPU的 寄存器R2 中 (与指令1类似) CPU 总线 内存 PC 寄存器组 地 址 寄存 器 地 址 译 码 器 、、、 指令1 指令2 指令3 指令4 、、、 、、、 数据1 数据2 数据3 、、、 指 令 指 针 寄存器 地址总线AB R1 R2 R3 R4 数据总线DB 数据暂存器 运 算 器 指令寄存器 指令译码器 控制总线CB 标 志 寄存器 控制电路 读内存控制信号

  42. 指令3:将寄存器 R1 与 R2 的内容相加,结果存在 R3 中 指令3 的执行无需通过总线,在CPU 内部即可完成(控制电路按时序产生寄存器和运算器的输出使能和输入触发等内部控制信号) PC 寄存器组 地 址 寄存 器 地 址 译 码 器 、、、 指令1 指令2 指令3 指令4 、、、 、、、 数据1 数据2 数据3 、、、 指 令 指 针 寄存器 R1 地址总线AB R2 R3 R4 数据总线DB 数据暂存器 运 算 器 指令寄存器 指令译码器 控制总线CB 标 志 寄存器 控制电路

  43. 指令4 :将寄存器R3 的内容送至 数据3 的内存单元中 指令4 的执行阶段包括一个写内存的过程。 PC 寄存器组 地 址 寄存 器 地 址 译 码 器 、、、 指令1 指令2 指令3 指令4 、、、 、、、 数据1 数据2 数据3 、、、 指 令 指 针 寄存器 R1 地址总线AB R2 R3 R4 数据总线DB 数据暂存器 运 算 器 指令寄存器 指令译码器 控制总线CB 标 志 寄存器 控制电路 内存写控制信号

  44. CPU执行完前一条指令后 是如何自动地去取下一条指令的? 当一条指令执行完后,CPU 中的 指令指针寄存器会自动改变,其内容加 1,形成下一条要顺序执行的指令的地址。 不是顺序执行时,需要计算新的转移地址并把它传送到 PC中。 这样指令就会自动地连续被执行。

  45. 第一代:机器语言, 二进制代码表示指令和的集合,计算机唯一直接识别和执行的语言。程序中每一条语句实际是0,1组成的二进制代码。

  46. 第二代:汇编语言。 用助记符代替机器指令中的操作码,用地址符号代替地址码。与机器语言是一一对应的。 ADD 加法 SUB 减法 机器语言程序 汇编语言程序 汇编程序

  47. 第三代:高级语言,面向问题的程序设计语言表达。接近人们使用的自然语言和数学表达式的编程语言。第三代:高级语言,面向问题的程序设计语言表达。接近人们使用的自然语言和数学表达式的编程语言。

  48. BASIC语言:微机第一程序设计语言,简单易学 VISUAL BASIC FORTRAN语言:适用于科学和工程计算的语言。 PASCAL语言:结构化程序设计语言。适用于教 学。DELPHI C语言:简洁,灵活,高效,易于实现。  面向对象 VISUAL C++ COBOL语言:商业管理 JAVA语言:面向对象的网络语言,简洁,分布式安全,可移植、多线程等。

  49. 源程序:用高级语言的程序,计算机不能直接执行。源程序:用高级语言的程序,计算机不能直接执行。 语言处理程序:负责将源程序翻译成机器语言程序的翻译程序。

  50. 可执行程序 目标程序 连接程序 编译程序 执行结果 源程序 编译方式是首先把源程序翻译成等价的目标程序,然后再执行目标程序。

More Related