第4讲现代计算机:...
TRANSCRIPT
第4讲 现代计算机:复杂环境下程序执行
理解“复杂环境下程序是如何被执行的”
---有助于理解资源受约束条件下问题解决方案的构造
---有助于建立问题求解的大思维
---有助于理解并建立各学科具体问题求解的计算环境,实现跨
学科的共同创新
2/49
基本目标:理解现代计算机系统的工作思维
基本思维:存储体系磁盘存取操作系统作业与进程程序执行的管理与控制;
资源组合利用体系化、管理分工合作协同化、外存程序内存进程化、硬件不足功能软件化
内容提要
3/49
现代计算机系统的构成
----硬件、软件、数据与网络
2.3 现代计算机:复杂环境下程序的执行
2.3.1 现代计算机系统的构成
4/492.3.1 现代计算机系统的构成
现代计算机系统包括了什么?
现代计算机系统由硬件、软件、数据和网络构成
网络改变着人们的工作、生活甚至是思维习惯
数据是根本
内存
软件连接着一切,软件控制着一切
CPU
各种电路板
主电路板
主机箱
输出设备
输入设备
软件正在
占领全世界
网络数据软件硬件--外部设备硬件--主电路板/接口电路板硬件--核心
输入输出设备
5/49
计算机硬件由主机和外部设备两大部分构
成。
个人计算机是一种什么结构?
个人计算机
6/49
主电路板
接口电路板
个人计算机
7/49
个人计算机
本质:冯.诺依曼计算机
8/49
计算机硬件(裸机)
操作系统:Unix,Linux,Windows,iOS,Android
语言处理系统 工具软件 数据库管理系统
应用程序/软件包
嵌入式/移动式(设备裸机)
中间件,如应用服务器Cloud OS, Mobile OS
Cloud Application
网络化/互联化—其他硬件
软件起什么作用?
计算机软件由系统软件和应用软件两大类构成:
系统软件是用于对计算机进行管理、控制、维护,或者编辑、制作、加工
用户程序的一类软件。
应用软件则是用于解决各种实际问题、进行业务工作的软件
WebSphere
WebLogic
Tomcat
OSGi
GAE… ...
Oracle
SQL Server
DB2
Hadoop
GFS … ...
C/C++/Visual C++
Java, Php, JSP
Python
FORTRAN
BASIC/VB
PASCAL……
VMWare
VSPhere
XEN
OpenCloud
OpenStack
Amazon EC2
Eucalyptus
9/49
现代计算机的存储体系
----内存 vs. 外存 vs. 存储体系
----存储体系环境下程序执行面临的问题
现代计算机:复杂环境下程序的执行
2.3.2 现代计算机的存储体系
10/49
冯.诺依曼计算机(前讲)
解决了:程序装载在内存,便可被CPU执行
前讲的冯.诺依曼计算机还有什么问题?
永久存储问题?
存储容量问题?
存储速度问题?
存储器价格问题?
11/49
内存:RAM/ROM
地址:存储单元
1、2、4或8个字节
外存:硬盘/软盘
盘面:磁道:扇区
一个扇区存放512个字节。
什么是内存? 什么是外存?
它们在计算机系统中的作用是什么?
内存(主存)与外存(辅存)
12/49
存储体系
什么是存储体系? 存储体系要解决什么矛盾?
不同性能资源的组合优化
算术逻辑单元
控制单元
寄存器
CPU
按存储单元读写按存储块进行交换
内存或主存(RAM)
外存(硬盘/软盘/光盘)ROM
特性:速度慢、价格低、容量大、永久保存;
特性:速度快、价格高、容量小、非永久存储;
13/49
需要一个资源管理者---操作系统
存储体系环境下,程序怎样被执行?
存储体系
算术逻辑单元
控制单元
寄存器
CPU
按存储单元读写按存储块进行交换
内存或主存(RAM)
外存(硬盘/软盘/光盘)ROM
程序如何存储在外存上面?
程序如何装载到内存中?装载到哪里?
程序如何被CPU执行?
CPU执行哪个程序?
源程序 机器语言程序
编译
14/49
核心软件系统:操作系统
----操作系统的作用
----复杂环境下资源管理
----资源管理下的程序执行
----分工、合作与协同
核心软件系统:操作系统
15/49
操作系统
计算机硬件
用户
2.3.3 核心软件系统----操作系统
什么是操作系统?操作系统的作用是什么?
操作系统是控制和管理计算机系统各种资源(硬件资源、软件资源和信息
资源)、合理组织计算机系统工作流程、提供用户与计算机之间接口以解释
用户对机器的各种操作需求并完成这些操作的一组程序集合,是最基本、最
重要的系统软件。
操作系统的作用:
操作系统是用户与计算机硬件之间的接口。
操作系统为用户提供了虚拟机(Virtual Machine)。
操作系统是计算机系统的资源管理者。
16/49
操作系统是一组“管理各种资源以便执行应用程序”的程序
操作系统本身的程序是如此做出来的:
(1)分工。独立管理复杂环境中的每个部件。
操作系统是如何实现复杂性控制的?
ALU
CU
寄存器CPU
按存储字寻址
访问
按存储块寻址
访问
内存RAM
磁盘
ROM
磁盘管理---管理磁盘信息的读写
内存管理---管理内存空间的分配与回收
CPU管理---调度CPU
去执行哪一个程序
17/49
操作系统是一组“管理各种资源以便执行应用程序”的程序
操作系统本身的程序是如此做出来的:
(1)分工。独立管理复杂环境中的每个部件。
(2)合作。以任务为驱动,中心任务就是“让计算机或者说CPU执行存储
在外存上的程序”,各部件合作完成该任务。
(3)协同。当基本解决后,关键就是协同,“合作”和“同步” , “自动
化”及 “最优化”。
ALU
CU
寄存器CPU
按存储字寻址
访问
按存储块寻址
访问
内存RAM
磁盘
ROM
如何将程序装载到内存?装载到哪里?
如何调度CPU
执行该程序?如何找到存储在外存上面的程序?
任务、作业与进程管理---管理一个程序执行中的各项工作
18/49
操作系统对资源的分工管理
----磁盘管理:化整为零与还零为整
----内存管理
----CPU管理/处理机管理
现代计算机:复杂环境下程序的执行
2.3.4 操作系统对资源的分工管理
19/49
磁盘管理:化整为零和还零为整
----文件-文件夹/目录-文件分配表-磁盘簇块/扇区
操作系统
用户 信息/程序
文件A
文件A
文件B
文件C
外存(硬盘/
软盘/
光盘)
2.3.4 操作系统对资源的分工管理
操作系统是如何管理磁盘的?
20/49
磁盘管理的重要概念
文件(文件名与文件内容)
磁盘扇区、磁盘块
文件夹(目录)
文件分配表 磁盘扇区的存储内容:以十六进制显示每一字节的0/1
信息(专用软件进行读取)。
文件内容:以文本文件阅读器打开并显示的文本文件的内容,每一字节按ASCII码解读(“记事本”打开)。
文件目录(文件夹)及文件名(操作系统管理)
磁盘管理的几个重要概念是什么?
文件内容及磁盘扇区存储示例
21/49
NTFS系统的主文件表MFT,
即文件分配表
磁盘的四个主要区域
• 保留扇区
• 文件分配表区域
• 根目录区域
• 数据区域
??请用相应软件查询一张磁盘的保留扇区、文件分配表扇区和根目录扇区?并依据相关信息依次读取一个文件的相关扇区内容并解析!
磁盘上的几个重要区域分别是什么?
磁盘的重要区域
22/49
计算机病毒攻击的目标
磁盘上的区域受到病毒攻击后会产生什么后果?
23/49讲了什么?
算术逻辑单元
控制单元
寄存器
CPU
按存储单元读写按存储块进行交换
内存或主存(RAM)
外存(硬盘/软盘/光盘)ROM
程序如何存储在外存上面??
程序如何装载到内存中?装载到哪里?
程序如何被CPU执行?
CPU执行哪个程序?
源程序 机器语言程序
编译
24/49讲了什么?
算术逻辑单元
控制单元
寄存器
CPU
按存储单元读写按存储块进行交换
内存或主存(RAM)
外存(硬盘/软盘/光盘)ROM
程序如何装载到内存中?装载到哪里?
程序如何被CPU执行?
CPU执行哪个程序?
磁盘与文件管理
25/49
内存管理
Dm-1, …, D0
存储单元个数:2n
由An-1,…,A1,A0等n位二进制数编码每一个地址
内存被分成不同的块(或页),一般而言,内存的
一页和磁盘的一块相等或为其倍数。
内存管理管什么?
26/49
内存储器
分工:操作系统对内存的管理与控制---使用哪一段内存
内存空间分配
内存回收
内存与外存信息的自动交换
内存空间管理内存中的程序1
000001段内存
运算器
控制器
CPU
内存管理
内存空间管理
内存空间分配
内存与外存信息的自动交换
内存空间回收
27/49
CPU管理/处理机管理
CPU管理/处理机管理-管什么?
内存中待执行程序段落的地址送控制
器的PC(程序计数器)
内存中的多个程序,执行哪一个程序?
程序执行切换中的状态/环境保护问题
28/49
操作系统对资源的合作与协同管理
----程序 vs. 进程
----任务 vs. 作业 vs. 进程
----操作系统进程 vs. 应用程序进程
----协同完成应用程序的执行
现代计算机:复杂环境下程序的执行
2.3.5 操作系统对资源的合作与协同管理
29/49
几个需要区分的---被定义为不同的名字-概念
程序(文件)---存储在磁盘上的程序文件
进程—装入内存中的程序
2.3.5 操作系统对资源的合作与协同管理
什么是程序和进程?
内存储器
合作:操作系统对任务、作业和进程的管理与控制
任务与作业管理
调用“程序装载“执行相应作业
调用“处理机管理” 执行相应作业
调用“进程管理” 执行相应作业
分工:操作系统对内存的管理与控制---使用哪一段内存
内存空间分配
内存回收
内存与外存信息的自动交换
内存空间管理进程1
000001段内存用户请求执行程序
调用“内存管理” 执行相应作业
分工:操作系统对CPU的管理与控制---执行哪一个进程
就绪
等待
运行
进程1的状态控制
运算器
控制器
CPU状态与管控
状态与管控
装载
状态与管控
程序
进程
30/49
几个需要区分的---被定义为不同的名字-概念
任务:大粒度的工作,一个应用程序的完整的执行。一个任务由多个进程
来完成
作业:小粒度的工作,不同的作业由不同的进程来完成
什么是任务-作业和进程?
内存储器
合作:操作系统对任务、作业和进程的管理与控制
任务与作业管理
调用“程序装载“执行相应作业
调用“处理机管理” 执行相应作业
调用“进程管理” 执行相应作业
分工:操作系统对内存的管理与控制---使用哪一段内存
内存空间分配
内存回收
内存与外存信息的自动交换
内存空间管理进程1
000001段内存用户请求执行程序
调用“内存管理” 执行相应作业
分工:操作系统对CPU的管理与控制---执行哪一个进程
就绪
等待
运行
进程1的状态控制
运算器
控制器
CPU状态与管控
状态与管控
装载
状态与管控
程序
进程作业
31/49
几个需要区分的---被定义为不同的名字-概念
操作系统的进程:为使应用程序顺利执行而做的辅助性管理性工作的进程。操作系统的
进程也存储在内存中,也需要调度CPU来执行;CPU在操作系统进程和多个应用程序进程之间
来回切换
应用程序的进程:应用程序本身的进程
操作系统进程和应用程序进程是一种什么关系?
内存储器
合作:操作系统对任务、作业和进程的管理与控制
任务与作业管理
调用“程序装载“执行相应作业
调用“处理机管理” 执行相应作业
调用“进程管理” 执行相应作业
分工:操作系统对内存的管理与控制---使用哪一段内存
内存空间分配
内存回收
内存与外存信息的自动交换
内存空间管理进程1
000001段内存用户请求执行程序
调用“内存管理” 执行相应作业
分工:操作系统对CPU的管理与控制---执行哪一个进程
就绪
等待
运行
进程1的状态控制
运算器
控制器
CPU状态与管控
状态与管控
装载
状态与管控
应用程序的进程
操作系统的进程
32/49
进程管理
应用程序的执行过程及其管理?
33/49
协同完成“应用程序执行”
协同完成“应用程序执行”这一任务的逻辑步骤是怎样的?
内存储器
合作:操作系统对任务、作业和进程的管理与控制
任务与作业管理
调用“程序装载“执行相应作业
调用“处理机管理” 执行相应作业
调用“进程管理” 执行相应作业
分工:操作系统对内存的管理与控制---使用哪一段内存
内存空间分配
内存回收
内存与外存信息的自动交换
内存空间管理进程1
000001段内存用户请求执行程序
调用“内存管理” 执行相应作业
分工:操作系统对CPU的管理与控制---执行哪一个进程
就绪
等待
运行
进程1的状态控制
运算器
控制器
CPU状态与管控
状态与管控
装载
状态与管控
34/49
协同完成“应用程序执行”
协同完成“应用程序执行”这一任务的逻辑步骤是怎样的?
分工:操作系统对CPU的管理与控制---执行哪一个进程
就绪 运行
进程2状态控制
就绪
等待
运行
进程1状态控制
等待等待
进程2
进程1
000000段内存
内存储器
000001段内存
合作:操作系统对任务、作业和进程的管理与控制
任务与作业管理
调用“程序装载“执行相应作业
调用“处理机管理” 执行相应作业
调用“进程管理” 执行相应作业
用户请求执行程序
调用“内存管理” 执行相应作业
运算器
控制器
CPU状态与管控
状态与管控
35/49
计算机系统的工作过程
现代计算机:复杂环境下程序的执行
2.3.6 计算机系统的工作过程
36/49
控制台
电源
外存储器
CPU
ROM
RAMROM中程序操作系统
应用程序
数据
操作系统
数据
程序
计算机系统工作过程
2.3.6 计算机系统的工作过程
计算机是怎样装载操作系统的?
应用程序/数据
37/49
操作系统引导过程及命令执行过程
引导程序
基本输入输出部分
磁盘文件管理部分
命令解释器
ROM BIOS
用户键入命令
内部命令
直接执行
外部命令需要
找到程序并装
载入内存
外部命令执行
磁盘
ROM
操作系统是如何进入管理状态的?
38/49
操作系统的使用
OS启动 OS关闭
•初始化系统环境
•加载设备驱动程序
•加载服务程序等
•加载系统程序, 如程序
管理器/命令解释器等
•保存用户设置
•关闭服务程序
•通知其他联机用户
•保存系统运行状态
•将内存内容写回外存中
•正确关闭相关设备
操作系统的启动和关闭
操作系统启动阶段和关闭阶段要做哪些事情?
39/49
C>FORMAT A: /V:MyDisk /Q /F:1.44
参数---- A:表示 A 驱
命令名----Format
格式化磁盘
开关----/V:MyDisk 设置
名为 MyDisk 的卷标
开关----/Q 表示快速格式化
开关---/F:1.44 格式化
为 1.44Mb
操作系统提示符----C>
操作系统界面:联机命令接口
要熟悉操作系统提供的各种命令
操作系统的两种界面风格?
40/49
要熟悉用鼠标和键盘操作菜单/对话框的各种方法
操作系统界面:图形用户界面
41/49
现代计算机的演进
现代计算机:复杂环境下程序的执行
2.3.7 现代计算机的演进
42/492.3.7 现代计算机的演进
操作系统如何高效地利用资源?
CPU管理---分时
一台主机一个CPU执行多个程序(来自于多个用户的多个终端)
t
tCPU
作业1 作业2 作业3 作业4
操作系统管理着一时间轮盘;按照时间轮盘的时间分区,轮流让CPU执行若干个程序。由于时间分区足够小,所以每个作业的用户都认为自己独占着CPU
执行
执行
43/49
CPU管理---并行
一台主机多个CPU执行一个程序
作业的第1部分
作业的第2部分
作业的第3部分
作业的拆分与合并
CPU1
CPU2 CPU3 CPU4
作业
操作系统将一个作业分解成若干个可并行执行的小作业,由不同的CPU予以执行。其中一个CPU负责作业的拆分与合并工作,如CPU1,
如此多CPU并行完成一个作业
操作系统如何高效地利用资源?
44/49
CPU管理---分布
网络中多台主机多个CPU执行一个任务
作业的拆分与合并
CPU
CPU
作业
一个作业被一台机器的操作系统拆分成若干个可分布与并行执行的小作业,通过局域网络或互联网传送到不同的机器,由不同机器的操作系统控制其CPU予以执行。如此网络上,多台计算机可并行完成一个作业。
作业的第1部分
作业的第2部分
作业的第3部分
CPU CPU
Computer Network
或Internet
网络传输
网络传输 网络传输 网络传输
45/49
个人计算机
存储设施(硬盘、光盘)
操作系统
CPU 内存
应用软件
存储设施(硬盘、光盘)
操作系统
CPU 内存存储设施
(硬盘、光盘)
操作系统
CPU 内存
应用软件
冯.诺依曼计算机
CPU 内存
程序
CPU 内存
程序
云计算环境
实际计算节点(如CPU阵列)
虚拟计算节点
虚拟计算节点
实际存储设施(如硬盘阵列)
虚拟硬盘
虚拟硬盘
云存储与云计算服务---操作系统
Internet
SaaS型应用软件
User n
个人计算设备
Internet
Browser
大规模用户群大规模数据及其处理大规模协同与互操作
User 1
个人计算设备
Internet
Browser
实际计算节点(如CPU阵列)
虚拟计算节点
虚拟计算节点
实际存储设施(如硬盘阵列)
虚拟硬盘
虚拟硬盘
云存储与云计算服务---操作系统
Internet
SaaS型应用软件
User n
个人计算设备
Internet
Browser
大规模用户群大规模数据及其处理大规模协同与互操作
User 1
个人计算设备
Internet
Browser
实际计算节点(如CPU阵列)
虚拟计算节点
虚拟计算节点
实际存储设施(如硬盘阵列)
虚拟硬盘
虚拟硬盘
云存储与云计算服务---操作系统
Internet
SaaS型应用软件
User n
个人计算设备
Internet
Browser
User n
个人计算设备
Internet
Browser
大规模用户群大规模数据及其处理大规模协同与互操作
User 1
个人计算设备
Internet
Browser
User 1
个人计算设备
Internet
Browser
计算系统发展之重要功劳在于
“软件”,软件促进环境发展,
软件也在随环境的变化而发展
并行分布计算环境
存储设施(硬盘阵列,磁盘阵列)
多机并行—服务器型操作系统
CPU
内存
CPU
CPU
CPU
中间件
服务器端应用软件
个人计算设备
广域网、局域网
User1 User n
客户端应用软件
个人计算设备
客户端应用软件
存储设施(硬盘阵列,磁盘阵列)
多机并行—服务器型操作系统
CPU
内存
CPU
CPU
CPU
中间件
服务器端应用软件
个人计算设备
广域网、局域网
User1 User n
客户端应用软件
个人计算设备
客户端应用软件
通用计算环境的进化思维
通用计算环境是如何演化的?
46/49云与SaaS是什么?
物理机OS: 进程执行 物理机OS 物理机OS 物理机OS
虚拟化OS:将虚拟机
上的进程分配到物理机OS上进行执行
虚拟化OS 虚拟化OS 虚拟化OS
云操作系统(Cloud Operating System): 跨物理机管理
OS:进程
Operation
Prog1… Progn
OS
Operation
Prog1… Progn
OS
Operation
Prog
OS
Operation
Prog1… Progn
不同性能的虚拟机:(1)CPU数目(2)内存容量(3)外存容量(4)网络带宽
物理机:CPU(h个);内存(p*qGB);外存(n*mGB)
云 (Cloud)
47/49
Software
File or RDB
of User# i
File or RDB
of User# j
File or RDB
of User# n
User# i User# j User# n
SoftwareSoftwareSoftware
Software
File or RDB
of User# i
File or RDB
of User# j
File or RDB
of User# n
User# i User# j User# n
SoftwareSoftwareSoftware
File or RDB
of User# i
File or RDB
of User# j
File or RDB
of User# n
Gloabal File System or
Global RDB/NoSQL
(
服务的)
预定、监控和结算
(
服务的)
预定、监控和结算
SAAS(Software As A Service)
SAAS:将应用软件以可配置可计费的服务方式提供给用户使用
48/49
基本目标:理解现代计算机系统的工作思维
基本思维:存储体系磁盘存取操作系统作业与进程程序执行的管理与控制;
资源组合利用体系化、管理分工合作协同化、外存程序内存进程化、硬件不足功能软件化
本讲小结
2015
Questions & Discussion?
第4讲 现代计算机:复杂环境下程序执行