第4讲现代计算机:...

49
4讲 现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的” ---有助于理解资源受约束条件下问题解决方案的构造 ---有助于建立问题求解的大思维 ---有助于理解并建立各学科具体问题求解的计算环境,实现跨 学科的共同创新

Upload: others

Post on 30-Sep-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

第4讲 现代计算机:复杂环境下程序执行

理解“复杂环境下程序是如何被执行的”

---有助于理解资源受约束条件下问题解决方案的构造

---有助于建立问题求解的大思维

---有助于理解并建立各学科具体问题求解的计算环境,实现跨

学科的共同创新

Page 2: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

2/49

基本目标:理解现代计算机系统的工作思维

基本思维:存储体系磁盘存取操作系统作业与进程程序执行的管理与控制;

资源组合利用体系化、管理分工合作协同化、外存程序内存进程化、硬件不足功能软件化

内容提要

Page 3: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

3/49

现代计算机系统的构成

----硬件、软件、数据与网络

2.3 现代计算机:复杂环境下程序的执行

2.3.1 现代计算机系统的构成

Page 4: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

4/492.3.1 现代计算机系统的构成

现代计算机系统包括了什么?

现代计算机系统由硬件、软件、数据和网络构成

网络改变着人们的工作、生活甚至是思维习惯

数据是根本

内存

软件连接着一切,软件控制着一切

CPU

各种电路板

主电路板

主机箱

输出设备

输入设备

软件正在

占领全世界

网络数据软件硬件--外部设备硬件--主电路板/接口电路板硬件--核心

输入输出设备

Page 5: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

5/49

计算机硬件由主机和外部设备两大部分构

成。

个人计算机是一种什么结构?

个人计算机

Page 6: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

6/49

主电路板

接口电路板

个人计算机

Page 7: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

7/49

个人计算机

本质:冯.诺依曼计算机

Page 8: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

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

Page 9: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

9/49

现代计算机的存储体系

----内存 vs. 外存 vs. 存储体系

----存储体系环境下程序执行面临的问题

现代计算机:复杂环境下程序的执行

2.3.2 现代计算机的存储体系

Page 10: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

10/49

冯.诺依曼计算机(前讲)

解决了:程序装载在内存,便可被CPU执行

前讲的冯.诺依曼计算机还有什么问题?

永久存储问题?

存储容量问题?

存储速度问题?

存储器价格问题?

Page 11: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

11/49

内存:RAM/ROM

地址:存储单元

1、2、4或8个字节

外存:硬盘/软盘

盘面:磁道:扇区

一个扇区存放512个字节。

什么是内存? 什么是外存?

它们在计算机系统中的作用是什么?

内存(主存)与外存(辅存)

Page 12: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

12/49

存储体系

什么是存储体系? 存储体系要解决什么矛盾?

不同性能资源的组合优化

算术逻辑单元

控制单元

寄存器

CPU

按存储单元读写按存储块进行交换

内存或主存(RAM)

外存(硬盘/软盘/光盘)ROM

特性:速度慢、价格低、容量大、永久保存;

特性:速度快、价格高、容量小、非永久存储;

Page 13: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

13/49

需要一个资源管理者---操作系统

存储体系环境下,程序怎样被执行?

存储体系

算术逻辑单元

控制单元

寄存器

CPU

按存储单元读写按存储块进行交换

内存或主存(RAM)

外存(硬盘/软盘/光盘)ROM

程序如何存储在外存上面?

程序如何装载到内存中?装载到哪里?

程序如何被CPU执行?

CPU执行哪个程序?

源程序 机器语言程序

编译

Page 14: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

14/49

核心软件系统:操作系统

----操作系统的作用

----复杂环境下资源管理

----资源管理下的程序执行

----分工、合作与协同

核心软件系统:操作系统

Page 15: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

15/49

操作系统

计算机硬件

用户

2.3.3 核心软件系统----操作系统

什么是操作系统?操作系统的作用是什么?

操作系统是控制和管理计算机系统各种资源(硬件资源、软件资源和信息

资源)、合理组织计算机系统工作流程、提供用户与计算机之间接口以解释

用户对机器的各种操作需求并完成这些操作的一组程序集合,是最基本、最

重要的系统软件。

操作系统的作用:

操作系统是用户与计算机硬件之间的接口。

操作系统为用户提供了虚拟机(Virtual Machine)。

操作系统是计算机系统的资源管理者。

Page 16: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

16/49

操作系统是一组“管理各种资源以便执行应用程序”的程序

操作系统本身的程序是如此做出来的:

(1)分工。独立管理复杂环境中的每个部件。

操作系统是如何实现复杂性控制的?

ALU

CU

寄存器CPU

按存储字寻址

访问

按存储块寻址

访问

内存RAM

磁盘

ROM

磁盘管理---管理磁盘信息的读写

内存管理---管理内存空间的分配与回收

CPU管理---调度CPU

去执行哪一个程序

Page 17: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

17/49

操作系统是一组“管理各种资源以便执行应用程序”的程序

操作系统本身的程序是如此做出来的:

(1)分工。独立管理复杂环境中的每个部件。

(2)合作。以任务为驱动,中心任务就是“让计算机或者说CPU执行存储

在外存上的程序”,各部件合作完成该任务。

(3)协同。当基本解决后,关键就是协同,“合作”和“同步” , “自动

化”及 “最优化”。

ALU

CU

寄存器CPU

按存储字寻址

访问

按存储块寻址

访问

内存RAM

磁盘

ROM

如何将程序装载到内存?装载到哪里?

如何调度CPU

执行该程序?如何找到存储在外存上面的程序?

任务、作业与进程管理---管理一个程序执行中的各项工作

Page 18: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

18/49

操作系统对资源的分工管理

----磁盘管理:化整为零与还零为整

----内存管理

----CPU管理/处理机管理

现代计算机:复杂环境下程序的执行

2.3.4 操作系统对资源的分工管理

Page 19: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

19/49

磁盘管理:化整为零和还零为整

----文件-文件夹/目录-文件分配表-磁盘簇块/扇区

操作系统

用户 信息/程序

文件A

文件A

文件B

文件C

外存(硬盘/

软盘/

光盘)

2.3.4 操作系统对资源的分工管理

操作系统是如何管理磁盘的?

Page 20: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

20/49

磁盘管理的重要概念

文件(文件名与文件内容)

磁盘扇区、磁盘块

文件夹(目录)

文件分配表 磁盘扇区的存储内容:以十六进制显示每一字节的0/1

信息(专用软件进行读取)。

文件内容:以文本文件阅读器打开并显示的文本文件的内容,每一字节按ASCII码解读(“记事本”打开)。

文件目录(文件夹)及文件名(操作系统管理)

磁盘管理的几个重要概念是什么?

文件内容及磁盘扇区存储示例

Page 21: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

21/49

NTFS系统的主文件表MFT,

即文件分配表

磁盘的四个主要区域

• 保留扇区

• 文件分配表区域

• 根目录区域

• 数据区域

??请用相应软件查询一张磁盘的保留扇区、文件分配表扇区和根目录扇区?并依据相关信息依次读取一个文件的相关扇区内容并解析!

磁盘上的几个重要区域分别是什么?

磁盘的重要区域

Page 22: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

22/49

计算机病毒攻击的目标

磁盘上的区域受到病毒攻击后会产生什么后果?

Page 23: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

23/49讲了什么?

算术逻辑单元

控制单元

寄存器

CPU

按存储单元读写按存储块进行交换

内存或主存(RAM)

外存(硬盘/软盘/光盘)ROM

程序如何存储在外存上面??

程序如何装载到内存中?装载到哪里?

程序如何被CPU执行?

CPU执行哪个程序?

源程序 机器语言程序

编译

Page 24: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

24/49讲了什么?

算术逻辑单元

控制单元

寄存器

CPU

按存储单元读写按存储块进行交换

内存或主存(RAM)

外存(硬盘/软盘/光盘)ROM

程序如何装载到内存中?装载到哪里?

程序如何被CPU执行?

CPU执行哪个程序?

磁盘与文件管理

Page 25: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

25/49

内存管理

Dm-1, …, D0

存储单元个数:2n

由An-1,…,A1,A0等n位二进制数编码每一个地址

内存被分成不同的块(或页),一般而言,内存的

一页和磁盘的一块相等或为其倍数。

内存管理管什么?

Page 26: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

26/49

内存储器

分工:操作系统对内存的管理与控制---使用哪一段内存

内存空间分配

内存回收

内存与外存信息的自动交换

内存空间管理内存中的程序1

000001段内存

运算器

控制器

CPU

内存管理

内存空间管理

内存空间分配

内存与外存信息的自动交换

内存空间回收

Page 27: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

27/49

CPU管理/处理机管理

CPU管理/处理机管理-管什么?

内存中待执行程序段落的地址送控制

器的PC(程序计数器)

内存中的多个程序,执行哪一个程序?

程序执行切换中的状态/环境保护问题

Page 28: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

28/49

操作系统对资源的合作与协同管理

----程序 vs. 进程

----任务 vs. 作业 vs. 进程

----操作系统进程 vs. 应用程序进程

----协同完成应用程序的执行

现代计算机:复杂环境下程序的执行

2.3.5 操作系统对资源的合作与协同管理

Page 29: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

29/49

几个需要区分的---被定义为不同的名字-概念

程序(文件)---存储在磁盘上的程序文件

进程—装入内存中的程序

2.3.5 操作系统对资源的合作与协同管理

什么是程序和进程?

内存储器

合作:操作系统对任务、作业和进程的管理与控制

任务与作业管理

调用“程序装载“执行相应作业

调用“处理机管理” 执行相应作业

调用“进程管理” 执行相应作业

分工:操作系统对内存的管理与控制---使用哪一段内存

内存空间分配

内存回收

内存与外存信息的自动交换

内存空间管理进程1

000001段内存用户请求执行程序

调用“内存管理” 执行相应作业

分工:操作系统对CPU的管理与控制---执行哪一个进程

就绪

等待

运行

进程1的状态控制

运算器

控制器

CPU状态与管控

状态与管控

装载

状态与管控

程序

进程

Page 30: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

30/49

几个需要区分的---被定义为不同的名字-概念

任务:大粒度的工作,一个应用程序的完整的执行。一个任务由多个进程

来完成

作业:小粒度的工作,不同的作业由不同的进程来完成

什么是任务-作业和进程?

内存储器

合作:操作系统对任务、作业和进程的管理与控制

任务与作业管理

调用“程序装载“执行相应作业

调用“处理机管理” 执行相应作业

调用“进程管理” 执行相应作业

分工:操作系统对内存的管理与控制---使用哪一段内存

内存空间分配

内存回收

内存与外存信息的自动交换

内存空间管理进程1

000001段内存用户请求执行程序

调用“内存管理” 执行相应作业

分工:操作系统对CPU的管理与控制---执行哪一个进程

就绪

等待

运行

进程1的状态控制

运算器

控制器

CPU状态与管控

状态与管控

装载

状态与管控

程序

进程作业

Page 31: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

31/49

几个需要区分的---被定义为不同的名字-概念

操作系统的进程:为使应用程序顺利执行而做的辅助性管理性工作的进程。操作系统的

进程也存储在内存中,也需要调度CPU来执行;CPU在操作系统进程和多个应用程序进程之间

来回切换

应用程序的进程:应用程序本身的进程

操作系统进程和应用程序进程是一种什么关系?

内存储器

合作:操作系统对任务、作业和进程的管理与控制

任务与作业管理

调用“程序装载“执行相应作业

调用“处理机管理” 执行相应作业

调用“进程管理” 执行相应作业

分工:操作系统对内存的管理与控制---使用哪一段内存

内存空间分配

内存回收

内存与外存信息的自动交换

内存空间管理进程1

000001段内存用户请求执行程序

调用“内存管理” 执行相应作业

分工:操作系统对CPU的管理与控制---执行哪一个进程

就绪

等待

运行

进程1的状态控制

运算器

控制器

CPU状态与管控

状态与管控

装载

状态与管控

应用程序的进程

操作系统的进程

Page 32: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

32/49

进程管理

应用程序的执行过程及其管理?

Page 33: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

33/49

协同完成“应用程序执行”

协同完成“应用程序执行”这一任务的逻辑步骤是怎样的?

内存储器

合作:操作系统对任务、作业和进程的管理与控制

任务与作业管理

调用“程序装载“执行相应作业

调用“处理机管理” 执行相应作业

调用“进程管理” 执行相应作业

分工:操作系统对内存的管理与控制---使用哪一段内存

内存空间分配

内存回收

内存与外存信息的自动交换

内存空间管理进程1

000001段内存用户请求执行程序

调用“内存管理” 执行相应作业

分工:操作系统对CPU的管理与控制---执行哪一个进程

就绪

等待

运行

进程1的状态控制

运算器

控制器

CPU状态与管控

状态与管控

装载

状态与管控

Page 34: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

34/49

协同完成“应用程序执行”

协同完成“应用程序执行”这一任务的逻辑步骤是怎样的?

分工:操作系统对CPU的管理与控制---执行哪一个进程

就绪 运行

进程2状态控制

就绪

等待

运行

进程1状态控制

等待等待

进程2

进程1

000000段内存

内存储器

000001段内存

合作:操作系统对任务、作业和进程的管理与控制

任务与作业管理

调用“程序装载“执行相应作业

调用“处理机管理” 执行相应作业

调用“进程管理” 执行相应作业

用户请求执行程序

调用“内存管理” 执行相应作业

运算器

控制器

CPU状态与管控

状态与管控

Page 35: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

35/49

计算机系统的工作过程

现代计算机:复杂环境下程序的执行

2.3.6 计算机系统的工作过程

Page 36: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

36/49

控制台

电源

外存储器

CPU

ROM

RAMROM中程序操作系统

应用程序

数据

操作系统

数据

程序

计算机系统工作过程

2.3.6 计算机系统的工作过程

计算机是怎样装载操作系统的?

应用程序/数据

Page 37: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

37/49

操作系统引导过程及命令执行过程

引导程序

基本输入输出部分

磁盘文件管理部分

命令解释器

ROM BIOS

用户键入命令

内部命令

直接执行

外部命令需要

找到程序并装

载入内存

外部命令执行

磁盘

ROM

操作系统是如何进入管理状态的?

Page 38: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

38/49

操作系统的使用

OS启动 OS关闭

•初始化系统环境

•加载设备驱动程序

•加载服务程序等

•加载系统程序, 如程序

管理器/命令解释器等

•保存用户设置

•关闭服务程序

•通知其他联机用户

•保存系统运行状态

•将内存内容写回外存中

•正确关闭相关设备

操作系统的启动和关闭

操作系统启动阶段和关闭阶段要做哪些事情?

Page 39: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

39/49

C>FORMAT A: /V:MyDisk /Q /F:1.44

参数---- A:表示 A 驱

命令名----Format

格式化磁盘

开关----/V:MyDisk 设置

名为 MyDisk 的卷标

开关----/Q 表示快速格式化

开关---/F:1.44 格式化

为 1.44Mb

操作系统提示符----C>

操作系统界面:联机命令接口

要熟悉操作系统提供的各种命令

操作系统的两种界面风格?

Page 40: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

40/49

要熟悉用鼠标和键盘操作菜单/对话框的各种方法

操作系统界面:图形用户界面

Page 41: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

41/49

现代计算机的演进

现代计算机:复杂环境下程序的执行

2.3.7 现代计算机的演进

Page 42: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

42/492.3.7 现代计算机的演进

操作系统如何高效地利用资源?

CPU管理---分时

一台主机一个CPU执行多个程序(来自于多个用户的多个终端)

t

tCPU

作业1 作业2 作业3 作业4

操作系统管理着一时间轮盘;按照时间轮盘的时间分区,轮流让CPU执行若干个程序。由于时间分区足够小,所以每个作业的用户都认为自己独占着CPU

执行

执行

Page 43: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

43/49

CPU管理---并行

一台主机多个CPU执行一个程序

作业的第1部分

作业的第2部分

作业的第3部分

作业的拆分与合并

CPU1

CPU2 CPU3 CPU4

作业

操作系统将一个作业分解成若干个可并行执行的小作业,由不同的CPU予以执行。其中一个CPU负责作业的拆分与合并工作,如CPU1,

如此多CPU并行完成一个作业

操作系统如何高效地利用资源?

Page 44: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

44/49

CPU管理---分布

网络中多台主机多个CPU执行一个任务

作业的拆分与合并

CPU

CPU

作业

一个作业被一台机器的操作系统拆分成若干个可分布与并行执行的小作业,通过局域网络或互联网传送到不同的机器,由不同机器的操作系统控制其CPU予以执行。如此网络上,多台计算机可并行完成一个作业。

作业的第1部分

作业的第2部分

作业的第3部分

CPU CPU

Computer Network

或Internet

网络传输

网络传输 网络传输 网络传输

Page 45: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

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

客户端应用软件

个人计算设备

客户端应用软件

通用计算环境的进化思维

通用计算环境是如何演化的?

Page 46: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

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)

Page 47: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

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:将应用软件以可配置可计费的服务方式提供给用户使用

Page 48: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

48/49

基本目标:理解现代计算机系统的工作思维

基本思维:存储体系磁盘存取操作系统作业与进程程序执行的管理与控制;

资源组合利用体系化、管理分工合作协同化、外存程序内存进程化、硬件不足功能软件化

本讲小结

Page 49: 第4讲现代计算机: 复杂环境下程序执行jz81.github.io/course/ict/LectureNotes/(Fall2015)-Lecture4.pdf · 第4讲现代计算机: 复杂环境下程序执行 理解“复杂环境下程序是如何被执行的”---有助于理解资源受约束条件下问题解决方案的构造---有助于建立问题求解的大思维---有助于理解并建立各学科具体问题求解的计算环境,实现跨学科的共同创新

2015

Questions & Discussion?

第4讲 现代计算机:复杂环境下程序执行