操作系统|接地气系列:认识计算机(7):认识屏幕,字符串,编码,驱动

操作系统|接地气系列:认识计算机(7):认识屏幕,字符串,编码,驱动

文章图片

操作系统|接地气系列:认识计算机(7):认识屏幕,字符串,编码,驱动

文章图片

操作系统|接地气系列:认识计算机(7):认识屏幕,字符串,编码,驱动

文章图片


本系列这是第几篇了来着 , 本篇走进计算机体系下的屏幕认识 , 也是填坑 , 之前的编程 , 编译 , CPU工作 , 内存的运行 , 最终都是要显示出来的 。 这里的屏幕呢 , 我们以日常生活中对屏幕的印象 , 结合计算机眼中的屏幕原理 , 尽量通俗易懂接地气 , 有趣且不乏味 , 不过话说本系列的风格一直如此哈哈 , 让我就娓娓道来吧 。

屏幕嘛 , 学名显示器 , 显示显示 , 就是显示给你看的一面神奇魔镜 , 无数的人在这里看到了战场的样子 , 去不了的地方的情况 , 寒冷的火星 , 火热的东京等等 。。。 但是在说屏幕之前 , 先花2分钟认识一下一个古老的操作系统 , 微软公司在1990年发布 , 第一款支持完整中文的操作系统 , windows 3.0 。 配图是win3.1 , 其实差不多的 , 硬件需求也一样 。

这个操作系统为啥能完整支持中文?因为硬件水平对比更早的windows比如windows2.0 , 它的内存更大了可支持更长的字符串 。 而对比windows3.0 , win3.1的中文字库更完善 , 很少出现口口的情况 。 一切的根本原因还是硬件的突飞猛进 。 windows3.0/3.1的最低标准是1M内存 , 6MHZ主频起步的80286处理器 , 6M容量的硬盘 。 对比1987年发布的win2.0硬件需求翻倍 。
为了便于理解 , 内存增大为啥能支持中文 , 认识一个东西 , unicode字符串 。 简单理解 , 英文字母只有26个基础字母 。 计算机是只认识0101的 , 用0101表示26个字母很容易 , 2的5次方就是32 , 只需要5个通电断电的二极管保存值就好了 , 计算机是以2的平方寻找地址的 , 最少就是8个位 , 8个0或者1 , 剩下的3个还可以表示位置 , 加一些问号冒号等符号 。

而中文至少上万个字构造不同 。 常用的2万个字 , 那只有8位的编码肯定不够 。 如果是16位的话 , 就能容纳下了不是 , 2的16次方是65536个 , 这不仅可以容纳常用汉字 , 还能容纳日语 , 韩语 , 希腊语等等等等字符 , 这就是unicode字符串的由来 。 一个通用的 , 广泛的 , 大一统的计算机表示法 。

中文不仅拖累内存 , 就是内存条的内存 , 也拖累硬盘 , 中文文档至少比字母文字多一倍 , 其实不止 。 中文还拖累CPU , 因为寻址范围太大了 , 中文联想输入法长期以来碍于计算机性能不够而难出现 。 这个性能不够不仅仅是内存不够 , 硬盘容量小的时代 , 汉字文档太大了写的多了CPU请求多系统会崩溃 , 网页显示汉字多了会拖慢 , 这一直持续到2002年计算机普及512M内存跟1GHZ主频处理器后才有好转 。
看下图的unicode对照表 , 中日韩三国很多简体字是通用的就用一套编码标准 。

好了 , 这个过程中 , 屏幕的作用想必看到这里就明白了 。 CPU跟计算机底层来说 , 屏幕显示什么文字 , 我就认0101;而对于操作系统来说 , 屏幕显示什么文字 , 我就认编码 , 比如ascii码 , 比如unicode字符编码等等;那屏幕的坐标系 , 颜色 , 刷新率等等是如何实现的?其实还是操作系统跟屏幕底层驱动的共同作用 。
驱动这个词大家肯定不陌生嘛 , 比如经常让AMD用户大火的AMD显卡掉驱动问题 。 相比之下 , 英伟达的驱动就方便多了 , 没那么多破事儿 。