计算机设计思想 —— 分层模型

勿在浮沙筑高台。

  • 分层模型中,不同的层次意味着不同的抽象级别;
    • 抽象也是一种凝聚
  • 附庸的附庸不是附庸;
    • 每一层只需考虑与其相邻的上下两层,而无需考虑更高或者更低的层次;
    • 不考虑,也即不关心(仅考虑自身),也即看不见,看不见更低和更高的层次;
  • 底层向高层提供服务;
  • 将物理层向上抽象为逻辑层,逻辑层向上提供公共接口,这样上层直接面对逻辑层,而无需直接跟复杂异构的物理层交互,这也是一种抽象和分层。
    • 见下文的 LBA(磁盘逻辑分区)

0.分层思想的典型应用

  • 框架设计:
    • Spring 框架:
      • 持久层: 数据访问操作;Spring JDBC
        其主要工作即是从数据库表中加载数据并实例化领域对象,或者反之将领域对象持久化到数据库表中;
      • 业务层:
        事务管理;声明式事务;
      • 展现层:
        MVC 等企业应用;Spring MVC

1. 计算机系统的各个抽象层


这里写图片描述

  • 操作系统和硬件之间的称为硬件抽象层(Hardware Abstraction Layer,HAL
  • 每个层次都向上一层次呈现一个抽象,一个更高级别的抽象;
    • 每一层都只需知道下层抽象的接口,而不需要了解其内部运行机制;
    • 操作系统看到的硬件是一个硬件抽象层,而不需要了解硬件的布线或者电气特性等;
  • 这样,以层的方式抽象资源的好处在于每一层都只需考虑本层的设计及其相邻层的相互交互,从而降低系统设计的复杂性,提高软件的可移植性;

2. 磁盘逻辑分区(LBA)

每个盘面上同心圆的周长不一样,如果按照每个磁道拥有相同数量的扇区,那么靠近盘面外围的磁道密度肯定比内圈更加稀疏。显然这样是十分浪费空间的,但是如果不同的磁道扇区数不同,计算起来就十分麻烦。为了屏蔽这些复杂的硬件细节,现代的硬盘普遍使用一种叫做 LBA(Logical Block Address)的方式。即整个磁盘所有的扇区从 0 开始编号,一直到最后一个扇区,这个扇区编号叫做逻辑扇区号。逻辑扇区号抛弃了所有复杂的磁道、盘面之类的概念。当我们给出一个逻辑扇区号时,硬盘的电子设备会将其转换成实际的盘面,磁道等这些位置。

3. ISO/OSI 参考模型 —— 计算机网络分层模型

OSI(Open System Interconnection)开放系统互联模型室友 ISO(International Standard Organization)国际标准化组织定义的网络分层模型,共七层。


这里写图片描述

  • 物理层:传输的单位(PDU)是 bit
    • PDU:protocol data unit,对等层(peer entities)之间传递的数据单位;
  • 数据链路层:传输的单位(PDU)是 frame
  • 网络层:传输的单位(PDU)是 packet,分组,也叫包;
  • 传输层:传输的单位(PDU)是 segment,
  • 会话层:传输的单位(PDU)是:SPDU(session pdu)
  • 表示层:传输的单位(PDU)是:ppdu(presentation pdu)
  • 应用层:传输的单位(PDU)是:APDU(Application pdu)
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值