欢迎来到天天文库
浏览记录
ID:38730764
大小:35.40 KB
页数:7页
时间:2019-06-18
《作为程序员必须了解的计算机知识》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、作为程序员,你必须了解这些关于计算机的知识存储—-块设备,文件系统,集群文件系统,分布式文件系统,光纤SCSI,iSCSI,RAID等。网络—-以太网,光纤网,蜂窝网络,WIFI,VLAN等。计算机体系结构,主要就是CPU指令集。x86,ARM等。USB协议。需要知道URB包。PCI协议,PCI-E协议。现代计算机的外设都是PCI协议和PCI-E协议的。显卡现在全是通过PCI-E协议连接到计算机上的。相对来说减少了很多需要学习的知识。搞虚拟化就需要深入掌握PCI协议。图像处理–图像压缩,视频实时编码等。3D游戏关系数据库NoSQL数据库操
2、作系统分布式操作系统编译原理机器学习–现在大数据要用哦!了解这些领域知识,也包括了解该领域现有的商用硬件、商用软件和开源软件。很多时候,你要完成的工作,已经有现成的工具了。你只要使用现成的工具就可以完成任务,不需要进行开发。有时候,只需要组合现有的工具,写一些脚本就可以完成任务。如,我一次要实现一个双向同步任务。找到了一个优秀的开源软件Unison,编写一下配置文件就圆满地完成了任务。不需要编写任何代码。还有一次,要做高可用,用Python调用了几个开源软件就轻松实现了。编写安装程序,定制操作系统,知道了操作系统的领域知识,写几行脚本就可
3、以轻松搞定。不具备领域知识的人,就可能不得不进行大量无谓的开发,甚至开发很久之后才发现,这根本就是一条死路。另外,扎实的领域知识,可以大大提高编程调试、查错的能力。知道编译器和编程语言运行时工作原理,就能快速根据编译错误和警告信息修改代码。知道操作系统底层运行机制,就能快速找到运行时错误的问题根源。如,有一次我编写一个windows升级服务程序。它是一个windows服务,需要执行dos脚本,这个脚本会替换掉这个windows服务本身。发现有时脚本执行无效,查了一晚上,发现当windows服务安装后,第一次启动就执行脚本时就会有权限问题,
4、log都正确,但实际执行这个脚本没有任何效果。但一旦windows服务程序启动一次之后就ok。这必然是windows操作系统底层安全机制的问题,因为我对Windows内核了解不多,因此花了很长时间才发现这个问题,并对造成这个问题的根源并不清楚。0段—领域知识菜鸟对领域知识没有多少认知,通过搜索引擎找到一些该领域的软件和硬件的介绍性文章,按照文章指示配置和使用软件。勉强能够使用现有软硬件。1段—领域知识行家了解领域内常用硬件,深入掌握领域内常用软件的配置和使用技巧。能够使用现有软硬件熟练搭建解决方案,能够解决实际工作中遇到的种种问题。2段—
5、领域知识专家当你不仅仅掌握了该领域的软件和工具,知道怎么用,还知道其原理,“知其然,也知其所以然”,就是该领域的知识专家了。你知道网络协议的原理,你才能在网络出现问题时知道是哪里可能出现了问题。是mac冲突,ip冲突,还是网络环路?你知道存储的原理,你才能知道为什么这种存储方式不适合虚拟化,那种存储方式适合虚拟化,另一种方式适合资料备份。你知道PCI协议,你才能知道你怎样才能虚拟化一个硬件设备。你知道网卡硬件协议,你才能模拟出一个虚拟机能正常使用的虚拟网卡。你知道视频编码格式和原理,才能知道什么视频格式占用带宽最少,什么视频格式占用CPU
6、最少。你了解IntelVT/AmdV指令集,才能知道虚拟化是怎样实现的。你明白工作流其实就是状态机,在遇到复杂工作流程时,你才能知道怎样设计满足要求的工作流引擎。3段—科学家你是领域知识专家,但你的知识都是来自于书本,来自于其他人的。如果你满足于当领域知识专家,你只能拾人牙慧,永远别想超越。别人的研究成果,未必愿意告诉你。当别人告诉你的时候,它可能已经发现了更新的理论,并且新一代产品可能马上就要发布了。科学家是探索未知,勇于创新的人,是推动人类社会进步的人。传说,思科的一位高管曾经半开玩笑地说过:“如果思科停止了新技术的研发,华为就会找不
7、着方向”。这是在嘲笑华为只是处在领域知识专家的水平,只能山寨无法超越。我不知道华为的实际情况,但希望现在的华为已经走到了领跑者的位置。欧文·雅各布斯发现了CDMA码分多址的原理,并发现它在通讯上大有可为,组建了高通公司。高通公司主要以专利授权费为生,它雇佣了大量科学家在通讯领域展开研究。有人说高通是专利流氓。这些人不明白知识的价值。在他们眼里,Windows的合理价格就应该是5元钱,一张光盘的价格。iPhone就应该是1000多元裸机的价格。高通是专利流氓,那你也流氓一个CDMA,LTE出来给我看看!X86芯片在设计上没有考虑虚拟化。因此
8、会有所谓的“虚拟化漏洞”出现。就是说,一些CPU特权指令执行时,在虚拟机环境下不会抛出异常,因此就无法切换到Host。这样,X86芯片上就无法运行虚拟机。VmWare公司是由美国的几位科学家在
此文档下载收益归作者所有