首页 理论教育 操作系统实现之路:窗口消息传递机制概述

操作系统实现之路:窗口消息传递机制概述

时间:2023-10-21 理论教育 版权反馈
【摘要】:一个完整的GUI给人的初步印象是:具备漂亮的颜色搭配,具备功能繁多的窗口控件,具备各种各样的字体,等等。其实不然,不能否认这些漂亮的外观要素是GUI的重要组成部分,但这些功能只占据了GUI三个字母中的一个“G”,即Graphic。这就是把输入传递给应用程序的过程。下面将以Hello China V1.75的GUI模块为例,详细进行说明。虽然是以Hello China为例的,但这些原理和机制都是通用的,可以扩展到任何一个实现了GUI的操作系统。

操作系统实现之路:窗口消息传递机制概述

一个完整的GUI给人的初步印象是:具备漂亮的颜色搭配,具备功能繁多的窗口控件,具备各种各样的字体,等等。貌似这些漂亮的外观,就是GUI的最主要最核心内容。其实不然,不能否认这些漂亮的外观要素是GUI的重要组成部分,但这些功能只占据了GUI三个字母中的一个“G”,即Graphic。另外两个,UI,即User Interface,才是GUI的本质。所谓User Interface(用户接口),本质上是连接计算机和人的一种途径和手段,完成人与计算机的交互,其本质是交流和沟通。既然是一种沟通,要做到有效,必须能够“相互理解”。无法相互理解的沟通是无任何意义的。“相互理解”体现出两层意思:

(1)人要理解计算机的输出,这需要通过人的学习完成,不是我们讨论的目标。我们的目标是计算机操作系统,不是人的思想,这比计算机操作系统复杂多了。

(2)同样,计算机要正确理解人的意图。人通过鼠标、触摸屏、键盘等手段把自己的意图告诉计算机,计算机要能够正确理解这些输入,并把输入传递给适当的程序,由程序做出处理。这是我们讨论的重点。

正确地理解人的意图,根据人的意图做出正确的回馈,是计算机的核心工作理念。这里进一步又含有两个意思:

(1)正确理解人通过输入所表达的意图,然后把这个意图传递给正确的程序进行处理。

(2)计算机程序根据人的输入,准确地做出处理,并把结果反馈给人。(www.xing528.com)

第二条任务,是由应用程序完成的,在处理过程中,会调用操作系统的功能,尤其是反馈处理结果的时候,会调用操作系统的GUI等绘制功能,输出绘制结果。这些绘制等输出机制,在前面的章节中已有介绍,这里不做重复。

这里重点讲解第一步工作的完成机理。这一步完全是由操作系统完成的,把第一步再分解一下,也包含两个意思:

(1)正确地理解人通过输入所表达的意图。翻译成更加技术化的语言,就是正确地识别人通过触摸屏、鼠标、键盘等的输入动作,识别出是双击还是单击操作,双击或单击的位置是什么地方,是要打开一个程序,输入一串数字,还是要关闭一个窗口。

(2)正确识别人的输入意图后,需要把这个意图传递给正确的应用程序。比如用户点击了一个窗口的关闭按钮,操作系统正确地识别出这是一个关闭请求后,需要把这个关闭请求发送给窗口所属的进程(应用程序)。这就是把输入传递给应用程序的过程。

上述两项工作,表面看起来非常简单直观,但真正实现起来,却并不简单。且这些工作是操作系统GUI模块的最核心内容。下面将以Hello China V1.75的GUI模块为例,详细进行说明。虽然是以Hello China为例的,但这些原理和机制都是通用的,可以扩展到任何一个实现了GUI的操作系统。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈