首页 理论教育 11月1日操作系统实现之路

11月1日操作系统实现之路

时间:2023-10-21 理论教育 版权反馈
【摘要】:图形用户界面对操作系统的重要性是不言而喻的,个人计算机的普及,最重要的驱动因素就是GUI。虽然对普通个人用户来说,命令行界面是过于专业了,但是对于熟练的专业人士来说,CLI的效率远远超过GUI。很难从总体上说究竟是GUI更有优势还是CLI更有优势,只能说这两者有不同的适用对象,GUI更适合普通的计算机用户,当然,对图像处理用户来说,GUI是唯一选择。

11月1日操作系统实现之路

图形用户界面(GUI,Graphical User Interface)对操作系统的重要性是不言而喻的,个人计算机的普及,最重要的驱动因素就是GUI。正是由于有了直观、易用的GUI,才缩短了计算机与人的距离。基于命令行的复杂用户界面,对于普通的个人来说,毕竟还是太专业了,那只是计算机专业人士的玩具。如果没有GUI的出现和发展,计算机这个现代化工具可能依然停留在科学实验室内。

与GUI对应的是CLI(命令行接口,Command Line Interface),最典型的就是DOS/UNIX等操作系统的命令行界面。虽然对普通个人用户来说,命令行界面是过于专业了,但是对于熟练的专业人士来说,CLI的效率远远超过GUI。从逻辑上说,命令行界面是一维的、串行执行的,这与计算机本身的逻辑结构是吻合的。操作人员的视线也只要集中在光标处即可,无需像GUI那样,在整个屏幕上寻找输入热点。实际上,在一些大型计算机上,命令行操作模式几乎是唯一的选择。这里之所以提一下CLI,是为了说明作为传统的人机交互方式,命令行界面仍然有其独特优势。很难从总体上说究竟是GUI更有优势还是CLI更有优势,只能说这两者有不同的适用对象,GUI更适合普通的计算机用户,当然,对图像处理用户来说,GUI是唯一选择。而CLI则更适合系统管理员程序员等专业人士。

本章将聚焦GUI。这是一个庞大的课题,其理论基础是计算机图形学。对计算机专业的学生来说,计算机图形学是比较复杂的课程之一,因为这门课程要用到比较复杂的数学变换和推导。如果从计算机图形学的层次开始,来完整说明GUI的工作原理,可能至少需要三本书的规模。在本书中,为了限制规模,同时考虑到作者自身的技能范围,我们把注意力集中到GUI的实现框架上,尽量不涉及底层的图形学理论。有时为了说明一些关键问题,图形学理论是无法绕过的,这时本书也会局限在文字描述上,不会涉及数学公式和数学推导。即使如此,在几十页的篇幅内,完全说清楚GUI的每一个方面也很困难。本书只选择GUI中的关键问题和实现方案进行说明,读者在理解这些基本原理和概念的基础上,可通过阅读代码,进一步了解其他相关方面的实现机制。

本章关注下列几个主题:

(1)符合VESA标准的图形显示卡的操作方法。

(2)Hello China对显示设备的抽象。

(3)基于GUI的应用程序编程模型。(www.xing528.com)

(4)用户输入(键盘、鼠标等)如何传递到一个具体的窗口上。

(5)窗口之间如何协同一致工作,比如窗口重绘、关闭等。

(6)与窗口关联的设备上下文(Device Context,DC),这是在窗口上绘制图形的基础对象。

(7)基于GUI的shell。

与其他章节一样,本章仍然以Hello China V1.75版本的代码为例,来解释GUI的实现。虽然以Hello China操作系统来说明,但其原理和概念是相通的,这些原理和概念可以应用到任何实现了GUI的操作系统中。需要说明的是,Hello China V1.75实现的GUI功能还不是很完善,只具备了一个可用的框架和基础功能。一些高级功能,比如字体、动画、颜色渐变等尚未实现,但对本部分不会造成影响。OK,让我们正式进入主题吧。

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

我要反馈