计网-七层设计

文章讲述了计算机从底层的电磁效应和场效应管,到二进制指令、编程语言的进化,以及操作系统和硬件驱动的分层设计,强调了分层架构在屏蔽硬件差异和提供通用接口方面的关键作用。
摘要由CSDN通过智能技术生成

1. 计算机底层是什么?电气系统,所有的通信都是电磁效应,一个个小开关,非常灵活,输入一定,结果就一定,将它用于计算非常合适,因此,第一台大型计算机-埃尼亚克(其实第二台)用于计算,也因此叫做计算机,本来就是计算用的。

2. 当这些场效应管所组成的开关很多很多,能够提供的算力很高的时候,如何高效管理它的硬件资源是一门学问,这就是计算机系统的雏形。为了方便记忆,以前的电信号指令被优化为了0/1来标记每个场效应管的状态,也通过对特定的指令采用伪标记如0100110表示add(乱写的指令),从二进制到文本的转变走出了第一步。

3. 既然文本化的记录方式已经出现了,怎么不写个编译器呢?编译器也开始出现。使用记忆体记录启动代码,预留程序输入接口,系统的模型得到转换。开机再也不用再重新设计一些复杂的操作了,记录在一个记忆体硬件里面,让机器自己运转,然后把程序按照接口的要求写好放入机器里面,就可以做运算,启动阶段和运行阶段开始分离。

4. 朋友,总不能只运行一个程序吧,第一个程序用完了不能再运行第二个程序吗?当然可以,于是运行程序之间出现空间上的分隔。

5. 慢慢觉得汇编写计算机启动代码已经形成流派,该有的库都稳定了,那么就优化一下汇编语言的代码表达方式吧,于是C语言就诞生了,C++同理,就是觉得C在数据封装和代码量上太大了,文件太多不方便管理衍生出来的,java是因为C++老是在互联网协议分析上要处理很多字符串等,很烦,代码也不好看,随着C++对互联网数据处理方式统一之后也创建出应用于互联网型号的新型编程语言-JAVA。所有的东西都是一点点衍生出来的。

6.各种各样的内存产商、网卡产商、CPU厂商,怎么运行呀,程序员总不能自己选型号,自己还写驱动、系统、应用程序吧(早期程序员确实是这么苦逼的),那就把底层封装掉吧,比如printf函数,我不管printf是谁在维护,我作为应用程序员,我只知道用printf可以打印数据,可以打印在终端或者串口。那操作系统也傻眼了,所以操作系统看着硬件产商说,你得负责驱动代码实现部分。硬件产商为了生存,说好吧。


通过上面几点,你看到了什么,是不是分层呀?场效应管的模拟信号->二进制表示的数字信号(人家本身还是模拟信号,只是人为认为是数字信号而已)->形成二进制指令->伪指令(别人还是模拟信号)->伪指令升级成为汇编语言->汇编库成型后升级成为C语言等高级语言->更高级的C++->更高级的JAVA。

0. 从物理上讲,电气和光学信号,在物理层,统称模拟型号

1. 数据链路传输,指二进制的数字化的模拟信号。统称数字信号。但是这里还得包含IIC,SPI,CAN等通信协议,接受数据的协议。(屏蔽下层模拟信号的传递过程)

2. 把这些数据分站点,加上数据需要传输的方向,也就统称网络层。(屏蔽SPI,IIC等电气传输协议的具体实现,你只要知道可以传输数据,可以设置传输方向和中转站点)

3. 传输层,将数据分类发送出去,不只是分站点发送,我还要挑一挑发送给谁,不是谁都有资格接受我得数据的。(屏蔽中间的中转站,直达目的地的实现。只管计算机程序与程序间通讯,数据上的整合)。

4. 应用层,自己从固定位置和固定端口拿数据,处理数据,将要发送的数据再放到固定端口固定位置。

分层就是不想让每一层都收到干扰呀,就是这么简单,你调用API实现你的功能就好了,具体实现是下一层的事儿,你不用操心。

一句话,屏蔽硬件差异,使用公用接口(API),方便移植。

  • 28
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值