79
引引“引引引引引” 1 引引引引引引引引引引 2 引引引引引引 3 引引引引引引引引引引

引 言 关于 “ 计算机学科 ”

Embed Size (px)

DESCRIPTION

引 言 关于 “ 计算机学科 ”. 1 什么是计算机科学技术 2 本课程的介绍 3 计算机学科的五个层面. 任课教师介绍. 窦万春 教授(第 1 , 2 , 3 , 4 , 5 章) 电子邮件: [email protected] 主页: http://graphics.nju.edu.cn/douwanchun/index.htm 办公室: 计算机科学楼 407 ( 8968-6399 ) 研究方向:云计算、工作流 路通 副教授(第 0 , 6 , 7 , 8 , 9 , 10 章) 电子邮件: [email protected] - PowerPoint PPT Presentation

Citation preview

Page 1: 引  言 关于 “ 计算机学科 ”

引 言 关于“计算机学科”

1 什么是计算机科学技术

2 本课程的介绍

3 计算机学科的五个层面

Page 2: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科2

任课教师介绍 窦万春 教授(第 1, 2, 3, 4, 5 章)

电子邮件: [email protected] 主页: http://graphics.nju.edu.cn/douwanchun/index.htm

办公室: 计算机科学楼 407( 8968-6399 ) 研究方向:云计算、工作流

路通 副教授(第 0, 6, 7, 8, 9, 10 章) 电子邮件: [email protected] 主页: http://cs.nju.edu.cn/lutong/ 办公室: 计算机科学楼 1007( 8968-2398 ) 研究方向:计算机视觉与模式识别

助教:巫义锐、陆添超、王昊、邢润(研究生)

Page 3: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科3

1. 什么是计算机科学技术?(Computer Science & Technology)

Page 4: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科4

什么是计算机科学技术? 科学 (science) :

科学的目的是:探索未知、发现规律 计算机科学的核心问题是:什么可以被自动地计算?

目的是创新和变革计算机系统 技术 (technology) :

技术的目的是:利用已发现的科学规律去设计和实现各种应用,满足人们的需求

计算机技术的核心问题是:“怎样才能有效地进行自动计算?” 目的是设计和实现更高性能、更低成本、更加安全可靠的计算机系统以满足应用的需要

Page 5: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科5

Computing 是一门年轻的学科 计算机科学技术作为一门学科( Discipline )还只有

30 多年的历史 30 多年来 “ Computing”学科发展非常迅速,当前美

国的专业划分 (Computing Curricula 2005) :

Computing Discipline

Computer Engineering

Software Engineering

Computer Science

Information System

Information Technology

······

Page 6: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科6

计算机学科的问题空间

应用部署配置

理论原理创新

开发倾向理论 倾向应用

工作性质

组织系统行为

应用技术

软件开发

系统平台结构

计算机硬件体系

工作对象

计算机学科的问题空间

Page 7: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科7

计算机科学

理论原理创新

应用部署配置

开发倾向理论 倾向应用

组织系统行为

应用技术

软件开发

系统平台结构

计算机硬件体系

计算机科学

•以软件开发为中心,从系统平台结构到应用技术,特别强调其中的理论和原理的创新•研究算法及其实现•进行系统软件、基本应用软件的研发

Page 8: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科8

计算机工程

理论原理创新

应用部署配置

开发倾向理论 倾向应用

组织系统行为

应用技术

软件开发

系统平台结构

计算机硬件体系计算机工程

•从理论到应用全面涉及计算机硬件的基本原理、部件组成、集成电路、系统结构、性能评测、网络和嵌入式在内的各种应用等等•能够搭建基本的系统平台•进行系统软件和部分应用软件的研发

Page 9: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科9

软件工程

理论原理创新

应用部署配置

开发倾向理论 倾向应用

组织系统行为

应用技术

软件开发

系统平台结构

计算机硬件体系

软件工程

•从事各类软件系统的开发,特别强调以工程的规范进行大型复杂软件系统的生产、开发与维护

Page 10: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科10

信息技术

理论原理创新

应用部署配置

开发倾向理论 倾向应用

组织系统行为

应用技术

软件开发

系统平台结构

计算机硬件体系

信息技术

•构建以基本计算机系统为基础的应用系统,强调实现给定条件和要求下选择、创建、应用、集成、计算管理等方面的需要

Page 11: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科11

理论原理创新

应用部署配置

开发倾向理论 倾向应用

组织系统行为

应用技术

软件开发

系统平台结构

计算机硬件体系

信息系统

信息系统

•信息系统专业关注的是如何将信息技术解决方案与企业(这里的“企业”是广义的,也包括政府部门和事业单位)的业务过程相结合,以满足企业的信息需求,有效地达到企业的目标

Page 12: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科12

我国计算机科学技术的专业划分 我国“计算机科学与技术”学科专业的划分:

(国务院学位办的学科专业目录) 081201 计算机系统结构 081202 计算机软件与理论 081203 计算机应用技术

2005 年教学指导委员会建议,以“培养规格分类”,不同学校根据社会的需求和自身情况,为学生提供 3 种类型 (4 个专业 ) 的教学计划和培养方案:

研究型(计算机科学) 工程型(计算机工程和软件工程) 应用型(信息技术)

Page 13: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科13

计算学科的特点 研究对象:信息、信息处理和信息处理机器——计算机

(computers and phenomena that surround them ) 根本问题: What can be (efficiently) automated? 什

么能被 ( 有效地 ) 自动进行计算?怎样 ··· 实现计算? 学科特点:

实践性:把发现新的科学知识与应用这些知识解决实际问题紧密结合 .

工程性:不仅研究原理,更侧重于实现 多样性:与数学、电子、通信、管理等多种学科相关 发展变化的快速性

Page 14: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科14

计算机专业 ( 本科 ) 学什么? 通修课(英语、数学、物理、政治、体育) 学科核心课 :

计算机系统概论、程序设计、离散数学、数据结构、计算机组成原理、操作系统、 数据库、编译原理、软件工程、 数字电路与数字系统、数据通信、计算机网络、算法设计与分析

专业选修课: 管理信息系统 、程序设计语言概论 、数字图像处理 、 JAVA

程序设计 、 多媒体技术 、 面向对象技术 、 计算机图形学 、 并行处理技术 、专业英语 、 人工智能 、形式语言与自动机 、算法设计与分析 、 计算机系统结构 、电子商务 、网络应用开发技术

毕业论文(毕业设计) 创新性的科研训练

Page 15: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科15

2. 课程介绍

Page 16: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科16

课程目的与要求 入门导引

Roadmap :了解相关后续课程的主要内容 操作实践

Learning by doing (使用;开发) 培养学习方法与习惯

上课记笔记 阅读与自学 理论联系实际 逐步熟悉专业英语 查找资料

Page 17: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科17

计算机系统概论课程的重要性 美国德克萨斯大学 Yale N. Patt 教授“ It is not very

important, it is the most important”( 2011.08 ,中国科技大学)

Yale N. Patt 是与 Donald E. Knuth齐名的美国计算机界泰斗

Page 18: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科18

课程主要内容 (1) 课堂教学环节

认知对象:计算机系统 分 4 个层面来认识计算机系统:

大众常识层面( The ABC of Computers ) 操作使用层面( The end user`s view ) 系统实现层面( The system builder`s view ) 开发应用层面( The programmer`s view ) 科学创新层面( Creativer’s view )

Page 19: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科19

课程主要内容 (2)

实践教学环节( 10次实验)认识和熟悉计算机的软硬件组成( 2次)

计算机硬件和网络的组成( 1次) 操作系统的使用、组网( 1次)

一个简单硬件系统的设计——表决器的实现( 3

次)操作系统原理实验——存储管理( 2次) B/S 应用系统的设计与开发( 3次)

教学大纲 2011版

Page 20: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科20

作业与考试 作业:

实验;阅读 : 教材和补充材料;习题 实验时间:每周五下午 4:00-6:00 ,第一次实验从 10月 14日开始

考试: 小测验(不定期) 期中考试 期末考试

考试内容: 课堂讲课内容 阅读和自学内容 实验内容

评分:习题 +小测验 + 实验 +期中考试 +期末考试

Page 21: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科21

关于课程网站 网址: http://graphics.nju.edu.cn/ 内容:

课程介绍 授课计划 讲稿 阅读 (補充 )材料与 DEMO 实验及相关參考资料 通知 其它

使用方法 1 按网址访问网站 => 注册 => 等待批准 2 按网址访问网站 => 登录 => 点击 “计算机系统概

论” => 点击“课程资料”

Page 22: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科22

课程网站如何注册 ?

1 点击“新用户注册”

Page 23: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科23

2 填写“用户信息”表

Page 24: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科24

3 选择课程

Page 25: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科25

如何访问本课程的资料 ?

1 用户登录

Page 26: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科26

2 选择课程

Page 27: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科27

3 点击“课程资料”

Page 28: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科28

3. 课程结构

Page 29: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科29

二进制与数字编码

门电路与基本逻辑部件

数字通信原理

计算机组成 LAN & WAN

操作系统

软件开发工具与平台

算法与数据结构

程序设计语言

软件工程

Chap.7Chap.4

Chap.5

Chap.6

Chap.7

Chap.7

Chap.9

计算机应用 Chap.3

Chap.8 & 10

建议: 关注全局,落脚基础 理清头绪,抓住要点

本课程知识结构

概念繁杂包罗万象囫囵吞枣稀里糊涂

Page 30: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科30

层面 1 :大众常识

Page 31: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科31

计算机应用模式的变化

集中计算模式

分散计算模式

网络计算模式

普适计算模式?

“ 普适计算” (Pervasive Computing,

Ubiquitous Computing) 是一种新的计

算模式,它使计算机融入人的生活空间,

形成一个“无时不在、无处不在、 而

又不可见” (Anytime, Anywhere,

Invisible) 的计算环境

Page 32: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科32

关于计算机发展的 4 个问题 1. 计算机是什么,为什么说计算机是一种通用的

信息处理工具? 2. 作为一种信息处理工具,计算机的主要特点有哪些?

3. 计算机的发展过程大体是怎样的,未来的发展趋势如何?

4. 计算机对社会的发展与进步有什么作用?它又有哪些负面影响?

Page 33: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科33

多种多样的个人计算机

Digital Filmmaking Workstation Apple Workstation CAD workstation

台式个人计算机( 卧式 )

台式个人计算机( 立式 )

便携式 ( 笔记本 ) 个人计算机

Page 34: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科34

多种多样的个人计算机(续)

诺基亚公司的新款 LINUX 设备 N800

Tablet PC (平板式电脑)

个人数字助理( PDA )

UMPC( 超级移动 PC)

eBook (电子书)

Page 35: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科35

电子墨水和塑料显示器

Page 36: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科36

关于计算机硬件的 10 个问题 1. 计算机是如何分类的?当前计算机产品分成哪些类型?

2. 有一种计算机称为服务器,它与上述几种计算机是什么关系?

3. 从物理上看,计算机硬件由哪些部分组成?

4. CPU 是什么?它在计算机中起什么作用?

5. 什么是 PC 的主板?什么是芯片组?

Page 37: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科37

关于计算机硬件的 10 个问题 6. 什么是存储器?什么是内存储器?什么是内存条? 7. 有了内存为什么还需要使用外存储器?当前外存储器有哪些类型?

8. 计算机输入设备的作用是什么?有哪些常用输入设备?

9. 计算机输出设备的作用是什么?有哪些常用输出设备?

10. 如何评价计算机的性能?

Page 38: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科38

各种不同的操作系统

Mac OS X

UNIX

Red Hat Enterprise Linux.

Embedded Operating Systems

Page 39: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科39

关于计算机软件的 8 个问题 1. 计算机中软件和硬件是什么关系? 2. 什么是程序?什么是软件?两者一样吗? 3. 软件产品与一般的工业产品相比有什么特点? 4. 计算机中的软件有哪些类型? 5. 系统软件中,操作系统是什么?它起什么作用

? 6. 常用操作系统有哪几种?他们分别有什么特点

? 7. 通用应用软件有哪些?他们能帮用户做什么? 8. 什么是软件的知识产权?什么是自由软件?

Page 40: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科40

软件与硬件的关系

计算机系统 = 硬件 + 软件

硬件是基础 , 软件是灵魂

软件是用户与计算机硬件之间的桥梁

计算机系统计算机硬件 计算机软件

运算器

控制器

输入设备

存储器

输出设备

系统软件 应用软件

操作系统

数据库管理系统

程序设计语言处理系统

文字处理

图像处理

···

娱乐

Basic Input/Output System

硬 件

BIOS

操 作 系 统

应用软件

用 户

Page 41: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科41

层面 2 :操作使用 A

Page 42: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科42

用户界面的发展与演变什

1

用户界面的每一次变化,都使得计算机的用户数目大幅度增加

1960’s Batch

1970’s Command Line

1980-90’s GUI

2000? Beyond-WIMP

批处理方式

命令行方式

图形用户界面

笔输入、语音输入, ··· ?

Page 43: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科43

GUI

Donald A. NormanDonald A. Norman

Stuart K. CardStuart K. Card

Ben ShneidermanBen Shneiderman

1945年 Vannevar Bush Memex 1964年 Douglas C. Engelbart 发明鼠标1969年 FLEX & Dynabook 图形化界面的思想1980年 Ben Shneiderman直接操作概念1981年 Xerox Star - 第一个 GUI/PC1987年MS Windows GUI 成为工业标准

Ivan SutherlandIvan SutherlandV.BushV.Bush D. C. EngelbartD. C. Engelbart Mark WeiserMark Weiser

Page 44: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科44

学习内容1. 什么是用户界面?用户界面的重要性和发展阶段是怎样

的?2. 什么是 GUI ?它的 4 个要素是什么?3. Windows XP 用户界面的组成是什么?4. Windows操作系统的启动过程是怎样的?5. 应用程序的统一用户界面组成如何?6. 应用程序的对话框起什么作用?其组成元素有哪些?7. GUI 有何不足? GUI 发展趋势如何?下一个 10 年

中, IT 变革与 UI 有何关系?

Page 45: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科45

运行后的任务处理

每启动一个应用程序就会在任务栏上出现一个相应的任务按钮 ( 程序按钮 )

每启动一个应用程序就会打开一个相应的窗口,关闭窗口也就结束了该程序的运行

Page 46: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科46

学习内容1. 什么是多任务处理?

2. 如何获取当前正在运行的任务的信息?

3. 什么是前台任务?什么是后台任务?

4. 如何监控任务的运行状态?

5. 区分任务、程序、进程和线程。

Page 47: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科47

计算机之间的互连——计算机网络

性质: 它是一种通信系统(与电话、

电视系统不同,是一种数据通信系统)

它是计算机系统的延伸与扩展(“网络就是计算机” ——SUN 公司)

需要使用多种复杂的技术

利用通信设备和网络软件,把位置分散的多台计算机连接起来的一个系统

Page 48: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科48

学习内容1. 熟练掌握计算机连网方法

2. 理解如何实现计算机间的互联

3. 什么是 IP 地址,它的作用是什么?分成哪几类?其二进制格式是怎样的? “点分十进制”如何表示?

4. 什么是域名?域名与 IP 地址的关系,如何相互转换?

5. 了解路由器的基本特点

Page 49: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科49

层面 2 :操作使用 B—熟悉计算机的六项应用

Page 50: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科50

1 汉字和符号输入 2 文字处理与格式控制 3 图形绘制与图像编辑:图形与图像区别 4 表格制作与数据统计:宏的编写 5 网页浏览与信息检索: B/S 原理与协议 6 使用因特网通信

自学

Page 51: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科51

层面 3 :系统实现层面( A )数字技术基础

Page 52: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科52

不同进位制的比较十进制 二进制 八进制 十六进制

使用的符号0,1,2,…,9 0,1 0,1,2,…,7 0,1,2,…,9,

A,B,C,D,E,F

低位 / 高位关系

逢十进一 逢二进一 逢八进一 逢十六进一

例 : 58 (111010)2 (72)8 (3A)16

汇编语言表示 58 111010B 72Q 3AH

C语言表示 58 072 0x3A

使用者 用户和软件 硬件 用户和软件

Page 53: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科53

0

1

2

3

4

5

6

7

0 1 2 3 4 5 6 7 8 9 A B C D E Fb6b5b4

b3b2b1b0

7 位代码空间和标准 ASCII码0 1 1 01 0 01 1 0 1 0 1 1

b6 b5 b4 b3 b2 b1 b0

Page 54: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科54

UCS/Unicode字符集及其编码 解决多语种信息处理的方法:

UCS/Unicode :所有文字字母和符号集中在同一字符集进行统一编码 ( 目前收集了 17x216= 1,114,112 个 )

UCS/Unicode 的编码方案: 尽量与已有编码标准兼容 先实现部分字符的编码( 101,000 个) 允许有若干不同的编码方案 , 例如:

单字节: ASCII字符双字节:拉丁、希腊、阿拉伯, ······三字节: CJK汉字四字节:其他

Unicode:UTF-8 单字节可变长编码

应用: Linux,Web 网页,电子邮件

双字节: ASCII字符、拉丁、希腊、阿拉伯,常用 CJK汉字, ······

四字节: CJK汉字

Unicode:UTF-16双字节可变长编码

应用: Windows,Mac, Java, ···

指中、日、韩、新、马及我国台湾、香港、澳门地区使用的汉字,不论其字义和读音有无区别,只要字形相同,就作为一个汉字。这样的汉字近 3 万个

Page 55: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科55

例 1 :黑白图像的表示每个像素使用 1 个比特表示: 0=黑; 1=白

010101010101010101010110101101001001000111110000011010101010101010101001011010010110010100000110100101010101010101010110110001010000101001010100101101101011011010110101100110010110100010001001011010010110100101101010001001100100101101010010100101101100101011010101110110011001010010101100011010010011010110010010001001100110101010010001010101101100101100100101110110011001010100100101010101010101010011011010001001100010100001010100101010101010101100010010110010001101001110100001010101010101010001000101000101101000010000001101110110101010010100110100011010010011100101101000101001010100100010100101100101101100001010000010101011010001001001001001011110101011010100101100101010000100010010010111110101111100101001001001010100101001000100101010101110101011010010010000101001000010011001101111101011101010101000100101010010010100100011011000011110111011010110101000000100000001001100100111111111110110111000000010101000101010010011011000010101011101000010101000000010000100101101010011111111111111011101000101001000101001101010100100011101111110100010010000010010010110001001001001111011110101101100100101100100100000111010010010010111111111011001001000

Page 56: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科56

例 2 :灰度图像的表示

每个像素用 2位表示 ,共 4 级灰度

每个像素用 8 位表示 ,共 256级灰度

0 表示最暗255 表示最亮

Page 57: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科57

例 3 :彩色图像的表示 彩色图像的每个像素有三个分量,分别表示三个基色的亮度,假设 3 个分量分别用 n,m,k

个二进位表示,则它可表示 2n+m+k 种不同的颜色

蓝色分量

绿色分量

红色分量

Page 58: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科58

PC 中数值信息的主要类型

计算机中的数

整数( 定点数 )

实数(浮点数 )

无符号整数

带符号整数32位 (signed int , int , long)64 位

16位 (signed short , short int)

8位 (signed char, char)

小数点固定隐含在个位数右面

小数点不固定

8位 (unsigned char)

16位 (unsigned short)

32位 (unsigned int)64 位

32 位(单精度浮点数) (float)

64 位(双精度浮点数) (double)

80位 (扩展双精度浮点数 ) (long double)128位 (四倍精度浮点数 )

Page 59: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科59

层面 3 :系统实现层面( B )计算机组成与体系结构

Page 60: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科60

内存 外存储器

WINWORD.exe 程序

计算机的组成(1) 计算机的工作由程序控制,程序和数据通常都存放在外存储器中;

(2) 启动某个程序运行时,该程序和相关数据必须从外存装入内存储器

(3) 程序结束时,处理结果需写回外存储器

文档编辑区

文档 1.doc保存为 doc文档

WINWORD.exe 进程 启动运行

Word 程序

编辑排版

运算器和控制器输入设备

输出设备

内存储器中央处理器外存

储器

文本输入

显示

Page 61: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科61

指令格式与指令系统

操作码 助记符 指令名称 指令功能 举例001 LOAD 取数 A←(addr) LOAD 10

010 STORE 存数 addr←(A) STORE 8

011 ADD 加 A← (A) + (addr) ADD 5

100 SUB 减 A← (A) - (addr) SUB 1

101 EQUAL 比较并跳转 if A= (addr) , 则顺序执行指令,否则跳过 1 条指令执行 EQUAL 20

110 JUMP 无条件转移 指令计数器← (addr) JUMP 6

111 HALT 停止 停止执行指令 HALT

指令系统: 操作码 存储器地址 addr

7 6 5 4 3 2 1 0指令格式:

addr 表示内存地址 ; ( addr )表示地址为 addr 的存储单元的内容A 表示累加器 ; ( A )表示累加器的内容

Page 62: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科62

乘法程序地址 机器语言程序 汇编语言程序 说明0 001 01111 LOAD   15 A ←(15) 将常数 0取至累加器 A

1 010 01101 STORE 13 保存部分乘积,其初值为 0

2 001 01100 LOAD   12 A ←(12) 将乘数取至累加器 A

3 101 01111 EQUAL  15判断乘数= 0 ?,若否,跳过 1 条指令

4 111 00000 HALT     乘数为 0则程序停止5 100 01110 SUB 14 A ←(A)-1 乘数减 1

6 010 01100 STORE   12 减 1后的乘数存入 12#单元7 001 01101 LOAD   13 A ←(13) 部分乘积取至累加器8 011 01011 ADD 11 部分乘积加被乘数,得到新的部分积9 110 00001 JUMP   1 无条件转移到 1#指令,循环执行

假设: (11)= 被乘数 ; (12)=乘数 ; (13)=( 部分 )乘积 (14)= 常数 1; (15)= 常数 0

Page 63: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科63

IA-32(Intel 64)指令系统• Intel 公司的 80386、 80486、 Pentium 、 Pentium

Pro 等• Intel 公司的赛扬系列、奔腾 4 系列、奔腾双核系列、酷睿2双核 (Core 2 Duo) 、酷睿 2至尊 (Core 2 Extreme) 和酷睿 2四核 (Core 2 Quad)处理器系列 、 Atom处理器等• AMD 公司的 Athlon ( 速龙 )、 Sempron (闪龙) 2000

和 Phenom 等处理器系列

Page 64: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科64

层面 3 :系统实现层面( C )操作系统

Page 65: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科65

Task, Program and Process 任务是用户的概念,程序是计算机使用的概念,它是用于完成该任务的一

个指令序列,即存储在外存储器中的一个可执行文件 (.exe文件 ) ,是一个静态的概念

进程 (process)指的是正在运行 (执行 ) 中的程序,更确切地说,进程是程序的一次运行活动(即执行过程),它具有动态性

任务与进程的关系: 1 个任务一定对应着某个进程。例如用 word编辑一个文档时,相应的进

程是 winword.exe

1 个任务也可能对应多个进程。例如用 word编辑文档中的数学公式时,还需要启动执行“ eqnedit.exe”进程

多任务处理实质上就是在计算机中并发 (concurrent)执行多个进程

Page 66: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科66

Process and Resource 什么是资源( resource )?

进程所需要使用的硬件、软件、数据和外设等均称为“资源”(系统中任何可以分配给进程使用的对象)

每个进程都需要使用一定的资源: CPU 、内存、硬盘、文件、打印机、 ···

单任务处理的系统中,一个进程完毕后才能启动另一个进程运行,所以每个进程都独占系统中的全部资源

多个进程运行时,它们将“共享资源”,特别是 CPU资源 资源必须在进程之间合理分配和调度,使系统的吞吐率最高,

这是操作系统的核心任务之一

Page 67: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科67

内存地址空间

232-1

0进程的执行环境和CPU 现场

IA-32中进程的执行环境

每个进程都有专属于该进程的私有存储空间,用于存储它自己的程序、数据和工作区

程序数据

工作区

程序数据

工作区

程序数据

工作区

OS

CPUFLAGS

标志寄存器

通用寄存器 浮点寄存器

MMX 寄存器XMM 寄存器

指令计数器代码段基址寄存器

数据段基址寄存器堆栈段基址寄存器

• 运行进程就是一条一条地执行相应程序中的指令• 指令执行的效果就是改变 CPU 寄存器和存储器的状态• 任一指令都在前一条指令的基础上执行• CPU 中所有寄存器的状态,称为 CPU 现场信息• 若进程从运行态转换为等待态或就绪态,则必须保存CPU 现场信息,如果进程再次运行,则需恢复 CPU 现场

Page 68: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科68

使用多核处理器提高 CPU 速度

Instructions

Results aresequenced

1. 就绪线程排队等候进入 CPU处理

线程级并行处理:线程级并行处理:

2. 哪一个CPU 空闲,就把等候的线程交给它执行

3. 每个 CPU负责完成分配给它的线程物理 CPU

Page 69: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科69

OS文件系统实例:大麻病毒攻击 1989 年传入我国,症状是每次要显示信息前,先显示 Your PC is now Stoned!

LEGALISE MARIJUANA! 大麻病毒很短小,总共不到 400 个字节代码,完成的功能包括

: 驻留内存、修改中断向量、区别软硬盘 感染软盘、感染硬盘 引导原硬盘主引导扇区、显示时机判断、显示信息 大麻病毒感染标志判断以防止重复感染等众多功能

大麻病毒是在系统执行读操作时进行传染的;病毒驻留内存后,每次磁盘读写中断都被大麻病毒接管,因此任何磁盘操作都会被它过滤一遍,看是否有必要继续感染

Page 70: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科70

层面 4 :开发应用( A )数据结构与算法

Page 71: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科71

计算机求解问题的步骤(1) 确定并理解问题

(2) 寻找解决问题的方法与步骤,并将其表示成算法 (algorithm)

(3) 程序设计:使用某种程序设计语言描述该算法及其处理的对象 , 并编译成目标程序

(4) 调试 (debug) 和运行 (run) 程序,获得问题的解答

(5) 进行评估 , 改进算法和程序

Page 72: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科72

计算机中处处是算法!例 1:Word 程序如何把文本排版成为指定的格式?例 2 :如何根据Word表格中的数据生成直方图?例 3 :如何把一幅彩色图片转换为灰度 (黑白 )图片?例 4 :如何压缩图像的数据而保持图像的质量?例 5:Windows 如何在硬盘中快速查找用户指定的文件?例 7 :媒体播放器如何把MP3文件转换成动听的音乐?例 8 :搜索引擎如何找到用户需要的网页?

Page 73: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科73

选择排序算法 (demo)1. 任给一组未排序的整数2. 在未排序数的左面设置 1 个标志 ,

以区分已排序部分和未排序部分3.重复步骤 4~步骤 7,直到未排序

部分只剩下 1 个数为止 :

4. 对未排序部分的数进行比较5. 从中选择最小的 1 个数 6. 将它与未排序部分的第 1 个数相互交换位置

7. 将标志向右移动 1 个位置

4 9 3 7 8 2 5初态

2 9 3 7 8 4 5

4 9 3 7 8 2 51c

2 3 9 7 8 4 5

2 9 3 7 8 4 52c

2 3 4 7 8 9 5

2 3 9 7 8 4 53c

2 3 4 5 7 8 96c

分析:额外使用的存储单元: 1 个比较操作: 6+5+4+3+2+1交换操作: 1+1+1+1+1+0 (0~6) Copy操作: 0

Page 74: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科74

常见的几种时间复杂性按简单→复杂递增排列的顺序:

常数阶 O(1)

对数阶 O(log2n)

线性阶 O(n)

线性对数阶 O(n*log2n)

平方阶 O(n2)

立方阶 O(n3)

K次方阶 O(nK)

指数阶 O(2n)

阶乘阶 O( n! )

多项式时间

指数时间

n

时间

Page 75: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科75

不同时间复杂性的比较 (设 :1ns/操作 )

多项式时间算法

指数灾难:计算量的指数增长

n Log n n n log n n2 n3 2n

8 3ns 8ns 24ns 64ns 512ns 256ns

16 4ns 16ns 64ns 256ns 4.096µs 65.536µs

32 5ns 32ns 160ns 1.024µs 32.768µs 4294.967ms

64 6ns 64ns 384ns 4.096µs 262.144µs 5.85c(世纪 )

128 7ns 128ns 896ns 16.384µs 1997.152µs 1020c

256 8ns 256ns 2.048µs 65.536µs 16.777ms 1058c

512 9ns 512ns 4.608µs 262.144µs 134.218ms 10135c

1024 10ns 1.024µs 10.24µs 1048.576µs 1073.742ms 10289c

2048 11ns 2.048µs 22.528µs 4194.304µs 8589.935ms 10598c

4096 12ns 4.096µs 49.152µs 16.777ms 68.719s 101214c

8192 13ns 8.196µs 106.548µs 67.174ms 549.752s 102447c

16384 14ns 16.384µs 229.376µs 268.435ms 1.222h 104913c

32768 15ns 32.768µs 491.52µs 1073.742ms 9.773h 109845c

65536 16ns 65.536µs 1048.576µs 4294.967ms 78.187h 1019709c

Page 76: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科76

层面 4 :开发应用( B )程序设计与软件工程

Page 77: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科77

① 发送 HTTP 报文,请求 ASPX 网页

②Web 服务器按 URL 找出ASPX 网页,交给 asp.net

③ asp.net 执行 Code-behind 文件

⑤ 数据库驱动程序执行 SQL 查询命令

④ asp.net 连接并查询数据库

⑥ 驱动程序把查询结果回送给 asp.net

⑦ asp.net 将查询结果嵌入网页之中

⑧ asp.net 生成静态 HTML 网页

⑩ 浏览器收到 HTTP 报文,提取其中的 HTML 网页,解释并进行显示

⑨Web 服务器将网页包装在 HTTP 响应报文中发回给浏览器

从 Web 服务器谈起: ASPX网页的处理过程

asp.net 执行引擎 (isapi.dll,…)

(IIS.exe)进程

Page 78: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科78

软件开发活动的主要内容问题

用户需求需求分析

规格说明,可行性报告,初步用户手册

设 计结构设计,各模块的详细设计说明,测试计划

构 造各模块代码和单元测试报告,测试设计

测 试各种测试报告

维 护发布计划、培训计划及教材、维护档案等

需求分

析 软件设

计 软件构造

软件维护

软件测试

软件开发费用的比例

Page 79: 引  言 关于 “ 计算机学科 ”

引言 关于计算机学科80

层面 5 :科学创新