Win知识 - 程序是怎样跑起来的——文字及图片的显示机制

简介: Win知识 - 程序是怎样跑起来的——文字及图片的显示机制

让我们一起来看一下显示器显示文字及图形的机制。如果用一句话来简单地概括该机制,那就是显示器中显示的信息一直存储在某内存中。该内存称为VRAM(Video RAM)。在程序中,只要往VRAM中写入数据,该数据就会在显示器中显示出来。实现该功能的程序,是由操作系统或BIOS提供,并借助中断来进行处理的。


在MS-DOS时代,对大部分计算机来说,VRAM都是主内存的一部分。例如PC-9801这种机型的计算机,主内存地址A0000地址以后是VRAM区域。如果用程序往VRAM内存地址中写入数据,文字及图形就可以显示出来。不过,文字和图形的颜色最多只能有16种。这是因为VRAM的内存空间太小了(图11-11(a))。


image.png

image.png


图11-11 VRAM中写入的数据被显示在显示器上


在现在的计算机中,显卡等专用硬件中一般都配置有与主内存相独立的VRAM和GPU(Graphics Processing Unit,图形处理器,也称为图形芯片)。这是因为,对经常需要描绘图形的Windows来说,数百兆的VRAM是必需的。而为了提升图形的描绘速度,有时还需要专用的图形处理器(图11-11(b))。但不管怎样,内存VRAM中存储的数据就是显示器上显示的信息,这一机制是不变的。


用软件来控制硬件听起来好像很难,但实际上只是利用输入输出指令同外围设备进行输入输出的处理而已。中断处理是根据需要来使用的选项功能,DMA则直接交给对应的外围设备即可。由此可见,对程序员来说,其实并不困难。


虽然计算机领域的新技术在不断涌现,但计算机能处理的事情,始终只是对输入的数据进行运算,并把结果输出,这一点是不会发生任何变化的。不管程序内容是什么,最终都是数据的输入输出和运算。本章介绍的开启和停止蜂鸣器的程序,就是一个很好的例子。而无论是计算机还是程序,其实都很简单。


目录
相关文章
|
7月前
|
算法 定位技术 C语言
【python实操】软件安装进展提示进度条如何实现的?如何设置窗体拉伸?如何获取输入框内容?
【python实操】软件安装进展提示进度条如何实现的?如何设置窗体拉伸?如何获取输入框内容?
99 0
PS如何实现上下分屏,实现区分预览
PS如何实现上下分屏,实现区分预览
|
Python
生活这么无聊,保存点小姐姐图片作为调料吧(多线程版本)
生活这么无聊,保存点小姐姐图片作为调料吧(多线程版本)
|
7月前
|
Linux 索引
Linux中使用selenium截图的文字变为方框的解决方案
Linux中使用selenium截图的文字变为方框的解决方案
147 1
|
Web App开发 文字识别 JavaScript
强大的实况文本功能,直接复制图片上的文字(macOS)
用OCR软件,是很多人的选择。我曾经也给大家推荐过“天若OCR”软件,还有朋友在用吗?
396 0
linux 文件夹内容太多,如何显示看不到的上半部分
linux 文件夹内容太多,如何显示看不到的上半部分
关于 qml开发中使用Image元素切换图片闪黑屏 的解决方法
关于 qml开发中使用Image元素切换图片闪黑屏 的解决方法
关于 qml开发中使用Image元素切换图片闪黑屏 的解决方法
|
小程序 前端开发 PHP
小程序怎么做查看更多的显示和隐藏
小程序怎么做查看更多的显示和隐藏
260 0
|
C# Java Windows
xps文档打印后winform界面文字丢失
原文:xps文档打印后winform界面文字丢失        最近做的xps文档打印功能,绝对的一波三折,一开始开发的时候,始终用的是xps writer 虚拟打印机,测试的时候也是,一直没有发现问题,但是真正到用户使用的时候,接上正式打印机,打印时候没有问题,一旦打印完成,再次进入打印winfrom的界面就花掉了,如下图;       结果更换了多台电脑,win7、winxp都不行,然后就更换打印机,换了很多打印机也不行,自己写了一个最小的打印的程序,发现打印以后还出现同样的问题。
1233 0