从通讯聊计算机

导问

  给你导线若干,以及一个小灯泡,你能否让计算机将其点亮?

  通讯中如何保障数据的位的丢失?

  (本文技术主要还是几年前做的,细节之处所记之处可能不甚准确)

  对于接口, 不同系统不同平台有不同接口,不同的虚拟方式,我们先以RS232举例,由于硬件参数相同,无论Linux还是Windows这块是一致的。

  对于RS232程序者来说,往往只关心数据,因此往往只关注2,3口。(其实有的做硬件也他么的只接了235,具体定义可以去查寻MSDN文档或者RS232定义)

  众所周知这个参数非常显眼——频率,为什么是频率 —— 注意标题哈,我们常用9600不是。目前计算的体系的基础就是频率,都还记得高中的物理吧,有个震荡体来着,技术的发展了,那个比较大,现在是半导体结构的晶振(鄙人不是搞硬件,硬件名称大概对号)。我们用的计算32位的不是,芯片都处理了,通过类似移位寄存器的东西,弄成一排一排的。

  串口串口,意思就是说数据是串行的,我们举个例——学生排队,大家通过串口(门口)串行出来,现在32个人一排(移位寄存器处理),现在可以看成32位的并行数了。32位计算的含义,是说逻辑单元一次运算的字节宽度,现在数据可以扔去计算了。现在我们看成并行的,你可以联想一下异或操作,通过基本的异或门能够组成一个特定的开关(指令),这个感谢一下布尔的NB(搞数学的大师——膜拜一下,不只是高深的图形图像需要数学,计算机基础也是有数学理论才有它的诞生,至于其他多元方程,积分...虽然高数没有学怎么样,搞明白了学了有什么用)。

  刚刚提到频率,为什么要设置频率?

  ——顺便回答一下导问的第二个问题 —— 这个问题是个伪命题,原则上位是不会丢失的。

  你不告诉计算机是9600,它便不知道那边发数据的速率,那假设你设置了9600*2,它以9600*2的速率读取会怎么样?其实从理论上说你是可以获取到数据的,如果原来是2个字节,那么你将会得到4个字节不是?那么按道理偶数位和奇数位会相同(时序准确的前提),要得到数据你只需要把数据取所有的奇数位便可以得到。哦哦,是不是想到什么?是不是有个叫倍频的东西?!为什么有倍频,为什么内存要买固定频率的?是不是一个道理。(可以随便试试一个频率,都是可以收到数据的,只是...)

  点亮灯泡其实很容易,大多数接口都有控制信号线一类的东西,将其抬高,连上灯泡和底线就OK。第一个问题我们也解决了,当然用数据线原则上也是可以的,使劲刷高位数据即可(即使它内部消耗点什么肉眼也看不出来不是,我们的用的交流电才50hz)。

  呃,聊一下代码。通讯里面个人感觉难点在于逻辑上的,为了保障数据的有效性我们往往会有重发机制,稍不慎则很容易坠入死循环的陷阱中。这点的确是需要清晰的逻辑。在“游戏”文中就提过,因为一个解密的原因当时就搞的我们程序蛋疼。至于像TCP这种,都叫协议族,那个真不是一般难,但原理原则是相同的,不同处就要看需求了,它要解决些什么问题(它要解决的问题也真不是一般多)。

  串行并行有了概念了。

  ——来个并口也就不是什么问题了。

  ——既然叫并口,那数据就不是写串行流(软件编程里屏蔽底层,封装了stream,当然很高级,Linux反正是写文件,也都帅气)了。这个玩意儿我们每个口挨个耍,就像一排一排的感觉。哦哦,那边怎么收数据,下次怎么办?它也有控制线不是 —— 把控制线看成事件通知一样:“有数据来了”,“好的,知道了,我马上收”,“我收完了”。

  ——控制电机肿么办?灯泡都点亮了,大功率的也不是问题,初中物理介绍了继电器。换个并口来试试怎么样,还可以接多个,这个当开关倒是很方便。

  “游戏”中我们提到程序文件的安全问题,老板拿出一个“神秘”的芯片——“有协议的,禁止卖给朝鲜或伊朗的”。什么叫安全,只有相对,从硬盘考虑不到,难道就不运行了,难道就没有手段考内存了,高手无处不在啊,破解满天飞,Windows真的比linux那么不堪?国产软件为什么没什么破解版?还不是取决用户群体,而不是技术上的问题。因此我们未有选择加密狗,狗名气大了,反而更不安全。这块芯片是硬件级的安全,我们的CPU为什么能出低端的,高端的就弄不出来,不是理论的破解能力问题,制造工艺太弱了。这些芯片的破解 —— 抠开盖子,显微,只要制造技术能OK,本朝立马能山寨。这个“神秘”的芯片就不行了,抠开自毁。精密制造对于本朝来说,还是痛楚的。

  硅的提存,切片,刻板 —— 硬件程序(各种指令,当然可能还要有寄存器)就这么出来的。

  硬件程序留了编程接口,这就是我们通用CPU了,最最低端的比如一个加法器,或者自己用些二级管组合(没有参数可以写,这就是不可编程芯片了)。

  硬件进一步进化,为了提高安全,又有了多模式;就像现在的防盗门也升级了,装修一个模式,使用一个模式。切换到使用模式,装修模式的权限变没有了。

  跑操作系统了,它也得留接口啊,不留接口怎么跑我们的程序。然后各种虚拟机又提供各种奇葩入口点 —— 当时弄一个flash,弄到flash builder,没找到入口点,问一个开发了一年多的 —— 竟然不知,最后他终于找出来了,右键设置启动项...至于android这种 —— 不友好,个人还是喜欢代码式main。

  先闲吹到此。

时间: 2024-11-09 00:49:04

从通讯聊计算机的相关文章

学计算机的值得一看的文章,跟帖也很有水平啊

转自http://blog.csdn.net/Xviewee/article/details/1606247 回复CSDN和KAOYAN诸位网友的几点看法,(为避免吵架,郑重声明,本人不是高手,只是有感而发的一点个人陋见,欢迎指正,事先感谢): 就我自己的理解,谈谈我对读研和软件学院的看法,不妥之处一笑了之即可. 如果你有实际开发工作经验,感觉自己的水平和实力进入了一个高原期,迫切需要从理论上提高,那么计算机学院是唯一选择.因为计算机学院才能让你在理论上更上一层楼.软件学院从教学计划上就没有

web前端性能优化

前言:  在同样的网络环境下,两个同样能满足你的需求的网站,一个“Duang”的一下就加载出来了,一个纠结了半天才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是2-5秒,如果等待超过10秒,99%的用户会关闭这个网页.也许这样讲,各位还不会有太多感触,接下来我列举一组数据:Google网站访问速度每慢400ms就导致用户搜索请 求下降0.59%;Amazon每增加100ms网站延迟将导致收入下降1%;雅虎如果有400ms延迟会导致流量下降5-9%.网站的加载速度严重影响了用户体验,也决

(转)一次完整的HTTP事务是怎样一个过程?

关于HTTP协议可以参考以下: HTTP协议漫谈 http://kb.cnblogs.com/page/140611/ HTTP协议概览 http://www.cnblogs.com/vamei/archive/2013/05/11/3069788.html 了解HTTP Headers的方方面面 http://kb.cnblogs.com/page/55442/ 当我们在浏览器的地址栏输入 www.linux178.com ,然后回车,回车这一瞬间到看到页面到底发生了什么呢? 域名解析 -->

医疗时鲜资讯:远程医疗服务的未来

背景: 中秋刚过,补上一篇关于中秋前后医疗行业相关资讯的整理.此次整理主要基于卫计委8月29日的文件<关于推进医疗机构远程医疗服务的意见>,展望和臆测远程医疗服务未来的发展之路. 远程医疗服务: 卫计委8月29日文件<关于推进医疗机构远程医疗服务的意见>[1]中明确界定了远程医疗范围:"远程医疗服务是一方医疗机构(以下简称邀请方)邀请其他医疗机构(以下简称受邀方),运用通讯.计算机及网络技术(以下简称信息化技术),为本医疗机构诊疗患者提供技术支持的医疗活动.医疗机构运用信

PMP认证知识普及:PMP认证有哪些价值?

一.目前拥有PMP较多的公司 1.跨国公司(只罗列部分公司,排名不分先后)IBM . Microsoft .Oracle Corp . SAP.GE . Siemens .KPMG .DELL.Hewlett Packard . EDS . ATT .Accenture .Blue Cross Blue Shield  .SAIC .NOKIA.Alcatel/Lucent .Computer Sciences Corp .Ericsson .Satyam Computer Services .

01 基础知识-计算机硬件

---恢复内容开始--- 计算机抽象模型: cpu.内存以及I/O设备都是由一条系统总线(bus)连接起来并通过总线与其他设备通讯 现在计算机的结果更复杂,包括多重总线 CPU: CPU是计算机的大脑,它从内存中取指令->解码->执行,然后重复该步骤,直至整个程序被执行完成. cpu内部都有一些用来保存关键变量和零时数据的寄存器 寄存器分类: 通用寄存器,用来保存变量和临时结果 程序计数器,它保存了将要取出的下一条指令的内存地址.在指令取出后,程序计数器就被更新以便执行后期指令 堆栈指针,它指

论IT就业发展趋势

题目:            论IT就业发展趋势 院 (系):       理学院 专    业:    信息与计算科学 学    生: 学    号: 指导教师: 2016 年 03月 16日 信息133班:XX  指导教师:XX (陕西科技大学理学院 陕西 西安 710021) 摘要:伴随着电脑产生的行业IT行业的发展成为了人们关注的重点,在未来的几十年里,如果没有出现新兴的行业,那么IT行业将会成为主导.现阶段IT行业还处于发展之中,每年这个行业的就业人员也在逐年增多.本文我通过对IT行业

Java网络编程(一)

Java网络编程: 1.1: 网络编程:对于我这个“研究不深”的网络菜鸟来说,我觉得网络编程就是实现计算机与计算机之间通信的编程.写些能够实现计算机与计算机之间的通信就行了(目前来说). 1.2:一台计算机跟另外计算机通讯. 计算机与计算机通讯的三大要素: 1:ip地址---电脑 1.1:作用:唯一标识一台计算机. 回环地址:127.0.0.1==主机:localhost 主机地址作用:测试网卡是否正常. 2:找到相应的应用程序----端口号 端口号-----具有网络功能的应用程序的标识号,没有

流媒体传输协议

本篇作为学习Android流媒体的先导,先介绍以下四种协议:RTSP,HTTP,HTTPS和SDP. 1.RTSP协议 1)简介 RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议,该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据.RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或UDP完成数据传输.HTTP与RTSP相比,HTTP请求由客户机发出,服务器作出响应:使用RTSP时,