本系列这是第几篇了来着,本篇走进计算机体系下的屏幕认识,也是填坑,之前的编程,编译,CPU工作,内存的运行,最终都是要显示出来的。这里的屏幕呢,我们以日常生活中对屏幕的印象,结合计算机眼中的屏幕原理,尽量通俗易懂接地气,有趣且不乏味,不过话说本系列的风格一直如此哈哈,让我就娓娓道来吧。
屏幕嘛,学名显示器,显示显示,就是显示给你看的一面神奇魔镜,无数的人在这里看到了战场的样子,去不了的地方的情况,寒冷的火星,火热的东京等等。。。但是在说屏幕之前,先花2分钟认识一下一个古老的操作系统,微软公司在年发布,第一款支持完整中文的操作系统,windows3.0。配图是win3.1,其实差不多的,硬件需求也一样。
这个操作系统为啥能完整支持中文?因为硬件水平对比更早的windows比如windows2.0,它的内存更大了可支持更长的字符串。而对比windows3.0,win3.1的中文字库更完善,很少出现口口口的情况。一切的根本原因还是硬件的突飞猛进。windows3.0/3.1的最低标准是1M内存,6MHZ主频起步的处理器,6M容量的硬盘。对比年发布的win2.0硬件需求翻倍。
为了便于理解,内存增大为啥能支持中文,认识一个东西,unicode字符串。简单理解,英文字母只有26个基础字母。计算机是只认识的,用表示26个字母很容易,2的5次方就是32,只需要5个通电断电的二极管保存值就好了,计算机是以2的平方寻找地址的,最少就是8个位,8个0或者1,剩下的3个还可以表示位置,加一些问号冒号等符号。
而中文至少上万个字构造不同。常用的2万个字,那只有8位的编码肯定不够。如果是16位的话,就能容纳下了不是,2的16次方是个,这不仅可以容纳常用汉字,还能容纳日语,韩语,希腊语等等等等字符,这就是unicode字符串的由来。一个通用的,广泛的,大一统的计算机表示法。
中文不仅拖累内存,就是内存条的内存,也拖累硬盘,中文文档至少比字母文字多一倍,其实不止。中文还拖累CPU,因为寻址范围太大了,中文联想输入法长期以来碍于计算机性能不够而难出现。这个性能不够不仅仅是内存不够,硬盘容量小的时代,汉字文档太大了写的多了CPU请求多系统会崩溃,网页显示汉字多了会拖慢,这一直持续到年计算机普及M内存跟1GHZ主频处理器后才有好转。
看下图的unicode对照表,中日韩三国很多简体字是通用的就用一套编码标准。
好了,这个过程中,屏幕的作用想必看到这里就明白了。CPU跟计算机底层来说,屏幕显示什么文字,我就认;而对于操作系统来说,屏幕显示什么文字,我就认编码,比如ascii码,比如unicode字符编码等等;那屏幕的坐标系,颜色,刷新率等等是如何实现的?其实还是操作系统跟屏幕底层驱动的共同作用。
驱动这个词大家肯定不陌生嘛,比如经常让AMD用户大火的AMD显卡掉驱动问题。相比之下,英伟达的驱动就方便多了,没那么多破事儿。
这么理解吧,驱动是汽车发动机,你看不到里面不知道它的工作原理,但是你开车出动,汽车在发动机的作用下工作,这整套动力系统就是驱动。软件的驱动类似,驱动是非常接近底层的软件,它负责操作硬件的每个细化部分,比如屏幕驱动,细化到要操作每一个像素,现在屏幕分辨率起步P,X就是约万个像素,万个红绿蓝原像素。这些都是驱动管理的。操作系统不用管驱动的工作原理,只要给正常的命令。就比如你我,绝对不关心手机或者电脑屏幕的驱动工作原理。
都看到这里了,如果有兴趣可以点个