第2章_计算机系统体系结构与_Windows编程机制_第1页
第2章_计算机系统体系结构与_Windows编程机制_第2页
第2章_计算机系统体系结构与_Windows编程机制_第3页
第2章_计算机系统体系结构与_Windows编程机制_第4页
第2章_计算机系统体系结构与_Windows编程机制_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机软件技术基础计算机软件技术基础天津职业技术师范大学天津职业技术师范大学电子工程学院电子工程学院童勇木童勇木第第2章章计算机系统体系结构与计算机系统体系结构与 Windows编程机制编程机制2.1 计算机系统体系结构计算机系统体系结构2.2 Windows 编程机制编程机制 2.1 计算机系统体系结构计算机系统体系结构计算机系统体系结构(计算机系统体系结构(Computer Architecture)指的是计算机系统各组成部分之间的相互关系,指的是计算机系统各组成部分之间的相互关系, 硬件硬件 它是它是 软件软件 的综合性的概念。的综合性的概念。 算法和语言算法和语言2.1 计算机系统体系

2、结构计算机系统体系结构 直观地说,是程序员所看到的计算机属性,直观地说,是程序员所看到的计算机属性, 概念性结构概念性结构 即即 功能特性功能特性 软件、硬件的功能分配软件、硬件的功能分配 确切地说,研究的是确切地说,研究的是 机器界面的确定问题机器界面的确定问题2.1 计算机系统体系结构计算机系统体系结构在使用计算机资源方面,计算机体系结构大体经在使用计算机资源方面,计算机体系结构大体经历了以下历了以下4个发展阶段:个发展阶段: 批处理阶段批处理阶段 中心主机远程处理阶段中心主机远程处理阶段 共享资源服务器阶段共享资源服务器阶段 客户端服务器阶段,即第四代计算机客户端服务器阶段,即第四代计算

3、机 2.1.4 客户端服务器阶段客户端服务器阶段在为高性能的计算任务(特别是瓶颈任务)选型在为高性能的计算任务(特别是瓶颈任务)选型时,客户机服务器模式逐步取代了其它模式。时,客户机服务器模式逐步取代了其它模式。客户机服务器结构:客户机服务器结构: 充分利用了客户机服务器现有的能力充分利用了客户机服务器现有的能力 同时将网络的流量减到最少。同时将网络的流量减到最少。 2.1.4 客户端服务器阶段客户端服务器阶段客户服务器(客户服务器(Client/Server)技术是)技术是20世纪世纪90年代的新技术。年代的新技术。客户服务器技术是强大的计算机硬件与可靠、客户服务器技术是强大的计算机硬件与可

4、靠、快速和低成本的通讯技术相结合的范例,它涉及快速和低成本的通讯技术相结合的范例,它涉及到:到: 分布式计算分布式计算 协作式计算协作式计算 等一些概念等一些概念 和分布式事务处理和分布式事务处理1. 客户端服务器的定义客户端服务器的定义 客户要求服务器系统为之完成工作;提供客户要求服务器系统为之完成工作;提供服务的机器就是服务的机器就是服务器服务器。 图图2.1说明了简单的说明了简单的CS(客户服务器)(客户服务器)的关系。客户发出服务要求到服务器,而的关系。客户发出服务要求到服务器,而服务器通过适当的应答响应客户的要求。服务器通过适当的应答响应客户的要求。客户端客户端服务器服务器服务请求服

5、务请求应答应答图图 2.1 客户服务器之间的关系客户服务器之间的关系 2.2 Windows 编程机制编程机制计算机是当今世界上发展最迅速的领域之一。计算机是当今世界上发展最迅速的领域之一。Windows(也称视窗)是在个人计算机操作系统发(也称视窗)是在个人计算机操作系统发展史上继展史上继DOS之后的一个新的里程碑。之后的一个新的里程碑。 2.2.1 面向对象的程序设计面向对象的程序设计面向对象的设计是一门强有力的技术,主要用于面向对象的设计是一门强有力的技术,主要用于数据(对象)及其接口的设计。数据(对象)及其接口的设计。以木工做比方,对比以木工做比方,对比“面向对象面向对象”与与“非面向

6、对非面向对象象”: “面向对象面向对象”的木匠首先关心的是他所制的木匠首先关心的是他所制造的桌子,其次才是制造桌子所用的工具;造的桌子,其次才是制造桌子所用的工具; “非面向对象非面向对象”的木匠先考虑的则是他的的木匠先考虑的则是他的工具。工具。2.2.1 面向对象的程序设计面向对象的程序设计面向对象是一种新的程序设计方法学,也是一种面向对象是一种新的程序设计方法学,也是一种认知方法学。认知方法学。程序设计语言种类繁多、体态各异。相对于其它程序设计语言种类繁多、体态各异。相对于其它语言,面向对象程序设计语言刻画系统较自然,语言,面向对象程序设计语言刻画系统较自然,便于设计和理解程序,这有利于软

7、件扩充复用。便于设计和理解程序,这有利于软件扩充复用。 面向对象程序设计方法的面向对象程序设计方法的主要特点主要特点有:有: 系统中的基本构件可看作是一组能识别的系统中的基本构件可看作是一组能识别的离散对象;离散对象; 系统中具有相同结构与性质的所有对象可系统中具有相同结构与性质的所有对象可组成一类等。组成一类等。2.2.1 面向对象的程序设计面向对象的程序设计面向对象的设计是强有力的,它清晰地定义了数面向对象的设计是强有力的,它清晰地定义了数据结构及相应地接口。据结构及相应地接口。面向对象的设计也是定义模块如何面向对象的设计也是定义模块如何“即插即用即插即用”的机制。的机制。面向对象技术为软

8、件开发人员和软件产品提供了面向对象技术为软件开发人员和软件产品提供了许多前所未有的好处,但面向对象的概念不容易许多前所未有的好处,但面向对象的概念不容易掌握。掌握。从理论上讲,面向对象的核心技术包括对象、类、从理论上讲,面向对象的核心技术包括对象、类、继承、消息等几个重要的内容。继承、消息等几个重要的内容。2.2.2 控制和对象的概念控制和对象的概念在在Windows环境下,图形用户界面提环境下,图形用户界面提供了应用程序与用户之间的交互。供了应用程序与用户之间的交互。这时的屏幕显示器这时的屏幕显示器 不仅可以作为输出不仅可以作为输出设备、而且还可以作为输入设备来使用。设备、而且还可以作为输入

9、设备来使用。它可模拟真实设备的控制面板,此时,它可模拟真实设备的控制面板,此时,用户对屏幕上图形的操作,就像直接操用户对屏幕上图形的操作,就像直接操作桌面上的设备一样进行。作桌面上的设备一样进行。2.2.2 控制和对象的概念控制和对象的概念这种在应用程序的图形用户界面中显示这种在应用程序的图形用户界面中显示的可供用户操作、并可控制应用程序的的可供用户操作、并可控制应用程序的图形界面元素称为图形界面元素称为“控制控制”(Control)。)。把数据把数据及其相关方法或函数调用集合及其相关方法或函数调用集合在一起的程序就称为在一起的程序就称为“对象对象”。经常经常用对象来模拟现实世界中的物体对象。

10、用对象来模拟现实世界中的物体对象。2.2.2 控制和对象的概念控制和对象的概念 状态状态现实世界中的对象有两大特征:现实世界中的对象有两大特征: 行为行为软件中的对象模型就是根据现实世界中物体对象的这软件中的对象模型就是根据现实世界中物体对象的这两大特点决定的两大特点决定的 它们用变量来存放状态值(属性值),它们用变量来存放状态值(属性值), 而用方法来实现其各种行为。而用方法来实现其各种行为。 所有软件对象所知道的(状态)和能做的(行所有软件对象所知道的(状态)和能做的(行为)都是通过该对象中的变量和方法来表达的;为)都是通过该对象中的变量和方法来表达的; 而所有该对象不知道的和不能做的都被

11、排除在而所有该对象不知道的和不能做的都被排除在该对象表述范围之外。该对象表述范围之外。2.2.2 控制和对象的概念控制和对象的概念在应用程序环境下所指在应用程序环境下所指的的“对象对象”(Object)比比“控制控制”的含义广泛。的含义广泛。 对象是指程序员在程序设计中可以访问对象是指程序员在程序设计中可以访问的元素,它包括控制所代表的图形对象,的元素,它包括控制所代表的图形对象,还包括窗口、屏幕、打印机等环境对象。还包括窗口、屏幕、打印机等环境对象。 对象是对程序员而言的,对象是对程序员而言的, 控制是对应用程序的用户而言的。控制是对应用程序的用户而言的。2.2.6 事件驱动的程序设计事件驱

12、动的程序设计 传统的程序设计传统的程序设计是一种面向过程的程序是一种面向过程的程序设计方法,它采用顺序过程驱动、按顺序设计方法,它采用顺序过程驱动、按顺序进行工作方式。这种编程方式的进行工作方式。这种编程方式的缺点缺点是:是: 程序设计人员总要关心什么时候要发程序设计人员总要关心什么时候要发生什么事情。生什么事情。 程序必须有一个明显的开始、中间及程序必须有一个明显的开始、中间及结束过程,依靠程序控制执行过程的顺序。结束过程,依靠程序控制执行过程的顺序。2.2.6 事件驱动的程序设计事件驱动的程序设计在现代计算机应用中,程序的执行是靠事件的发在现代计算机应用中,程序的执行是靠事件的发生来控制的

13、。生来控制的。事件事件(Event)是指)是指 由用户操作触发由用户操作触发 或由系统触发的、或由系统触发的、 能被对象所识别并做出响应的动作。能被对象所识别并做出响应的动作。 比如用户按下某键引发键盘事件、按下鼠比如用户按下某键引发键盘事件、按下鼠标引发鼠标事件等。标引发鼠标事件等。2.2.6 事件驱动的程序设计事件驱动的程序设计Windows这种事件驱动程序执行的程序这种事件驱动程序执行的程序设计思想,适合于应用程序与用户之间的设计思想,适合于应用程序与用户之间的交互。交互。用户可以随便安排程序执行的顺序。用户可以随便安排程序执行的顺序。2.2.6 事件驱动的程序设计事件驱动的程序设计传统

14、的应用程序面向过程传统的应用程序面向过程, 采用线性方式,以单个逻辑采用线性方式,以单个逻辑“线索线索”,程序从头至尾顺序执行,最后将程序从头至尾顺序执行,最后将控制权交控制权交给给DOS操作系统。操作系统。 这是单任务的执行机制,即在整个程这是单任务的执行机制,即在整个程序运行过程中,它独占屏幕和时间。序运行过程中,它独占屏幕和时间。2.2.6 事件驱动的程序设计事件驱动的程序设计事件驱动程序中,程序的执行是由事件驱动的事件驱动程序中,程序的执行是由事件驱动的 程序启动以后,一直可以使用,如果无事件程序启动以后,一直可以使用,如果无事件产生,程序就空闲等待事件。产生,程序就空闲等待事件。 可

15、以同时启动多个应用程序,计算机的屏幕可以同时启动多个应用程序,计算机的屏幕和时间可供其它应用程序使用,直到用户操作,和时间可供其它应用程序使用,直到用户操作,触发事件引起一段程序的执行,完成某一项功能。触发事件引起一段程序的执行,完成某一项功能。 可实现多任务操作,使多个应用程序共享计可实现多任务操作,使多个应用程序共享计算机内存、屏幕和处理器。算机内存、屏幕和处理器。2.2.7 消息循环和处理机制消息循环和处理机制在在Windows环境下没有中断的概念。软件中的环境下没有中断的概念。软件中的多个对象通过消息进行通信和相互作用。多个对象通过消息进行通信和相互作用。一个大的应用程序中包括许多个对

16、象,通过这些一个大的应用程序中包括许多个对象,通过这些对象的相互作用和合作共同完成更加高级的功能对象的相互作用和合作共同完成更加高级的功能和复杂的行为。和复杂的行为。 例如,自行车就是一个对象,但它本身并不能做任何例如,自行车就是一个对象,但它本身并不能做任何事情,只有当另一个对象(人)作用于它时才起作用。事情,只有当另一个对象(人)作用于它时才起作用。2.2.7 消息循环和处理机制消息循环和处理机制用户的操作或对象状态的改变将引发事件的产生,用户的操作或对象状态的改变将引发事件的产生,程序运行过程中,任何事件的发生都归结程序运行过程中,任何事件的发生都归结 为消为消息(息(Message)。

17、)。消息由三个部分组成:消息由三个部分组成: 指定接收方对象;指定接收方对象; 需调用的方法的名字;需调用的方法的名字; 执行方法所需要的参数。执行方法所需要的参数。2.2.7 消息循环和处理机制消息循环和处理机制 Windows将事件编码成消息,并送将事件编码成消息,并送入消息队列排序;入消息队列排序; 应用程序检索和处理消息,进行消息应用程序检索和处理消息,进行消息的循环传递,并将每一个消息发送到的循环传递,并将每一个消息发送到相应的窗口中。相应的窗口中。 消息队列是由消息队列是由Windows应用程序自应用程序自动维护的,任何事件都有一个统一的动维护的,任何事件都有一个统一的处理形式。处

18、理形式。2.2.7 消息循环和处理机制消息循环和处理机制一个一个Windows应用程序运行的实质就是应用程序运行的实质就是: 不断地从消息队列中检索、接收消息,不断地从消息队列中检索、接收消息, 然后处理消息。在处理消息的过程中又会产然后处理消息。在处理消息的过程中又会产生新的消息,生新的消息, 再把新的消息发送到消息队列中,再把新的消息发送到消息队列中, 如此循环往复,进行消息的排序和管理,构如此循环往复,进行消息的排序和管理,构成驱动成驱动Windows应用程序运行的特殊机制。应用程序运行的特殊机制。 如果在消息队列中未检索到消息,表示无事如果在消息队列中未检索到消息,表示无事件产生,这时便循环检索等待消息的出现。件产生,这时便循环检索等待消息的出现。 Win

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论