想要管理多种具体的东西,那么需要遵守每种东西的规范。如果想要提供一种通用模式来对这些具体的东西统一管理,需要使用一种古老的技术:抽象。

抽象是将多种具体的东西(管理时需要遵守的规范)的共同点抽取出来,放入到更高一层的抽象层。在抽象层不定义或少量定义具体的规范细则,而是让下层更具体的东西遵守抽象出来的规则去各自实现。之后只需通过这个抽象层中的通用规范就能管理所有具体的事物(即面向对象范畴中的多态概念,事实上面向对象的本质就是抽象),并且随时可以添加新事物到这个抽象层之下,扩展性和适应性大大增强。

所以,抽象的两个要点:

  1. 从多个具体事物中抽取出共同点,放入抽象层
  2. 具体事物遵守抽象层的规则,各自实现细节

比如,各种类型的文件系统(ext2、xfs、fat、zfs等)的特性都不一样,但主要功能都一样:读、写。操作系统希望以一种更通用的方式去管理这些不同的文件,可以在这些文件系统的更高一层提供一个抽象文件系统,这个抽象文件系统中定义读和写的规范,同时要求各种具体的文件系统按照这个规范去实现读和写的操作。以后就可以在操作系统上使用多种文件系统,不管使用何种文件系统,都可以直接通过这个抽象的文件系统来调用。

再继续往下,还有抽象层。文件系统可以指定读写功能,从何处读写?可以是各种类型的块设备,比如IDE磁盘、SATA磁盘等,但是文件系统并不能和这些磁盘进行直接的交互,只有这些外围硬件的驱动程序才能和这些硬件直接交互,那么文件系统就需要和各种块设备的驱动交互。所以,在文件系统层和各种块设备驱动中间,又对这些块设备的驱动进行了抽象,提供一种抽象的块设备层,然后要求各种块设备的驱动按照这个抽象块设备层的规范去编码。以后只要文件系统和这个抽象的块设备层交互,它就会自动调用到各种具体的块设备驱动。

这些抽象层次,通常会命名为“通用xxx”或者“虚拟xxx”。例如,抽象文件系统层称为虚拟文件系统VFS,抽象块设备层称为虚拟块设备层或通用块设备层(generic-inode(g-inode)或virtual inode(vnode)正是这样出现的)。

转载于:https://www.cnblogs.com/f-ck-need-u/p/11561453.html

计算机领域中随处可见的抽象相关推荐

  1. 计算机领域中,增量是什么意思?

    计算机领域中,增量是什么意思?   增量一词在计算机行业中的很多领域都有使用.在不同的领域中,增量一词的具体含义需要结合那个领域的相关知识来解释,抽象出来的增量一词的含义可以概括如下.   增量是相对 ...

  2. 计算机领域中信息经转化,统考计算机应用基础06091002真题

    <统考计算机应用基础06091002真题>由会员分享,可在线阅读,更多相关<统考计算机应用基础06091002真题(3页珍藏版)>请在人人文库网上搜索. 1.计算机应用基础2( ...

  3. 当前计算机领域中 有关计算机的性能指标,计算机文化基础真题(十七)

    1.有关信息与数据之间的联系,下列说法错误的是(B) A.信息是数据的内涵,是对数据语义的解释. B.数据是有用的信息,信息是数据的表现形式. C.从计算机的角度看,数据泛指那些可以被计算机接受并能够 ...

  4. 计算机用英语表示方法有哪些,在计算机领域中,通常用英文单词“bit”来表示( )...

    答案 查看答案 解析: [解析题]现代计算机系统由硬件系统和软件系统组成.人类直接操控硬件系统太复杂了,所以,将硬件的功能进行封装,只提供一个接口给人类使用,这个接口就是操作系统. [解析题]计算机网 ...

  5. 在计算机领域中 ascii码,在计算机领域中,ascii码用一个字节来干什么

    在计算机领域中,ASCII码用一个字节来表示一个字符,存入1024个字符需要的字节数是1KB.字节通常简写为"B",1KB等于1024B:一个字节来表示一个字符,存入1024个字符 ...

  6. 在计算机领域中英文单词byte表示,1在计算机领域中通常用英文单词byte来表示.doc...

    1.在计算机领域中,通常用英文单词"byte"来表示_. A. 字 B. 字长 C. 字节 D. 二进制位 2.在Windows中,同时显示多个应用程序窗口的正确方法是_. A. ...

  7. 在计算机领域中通常用英语单词bit来表示,1在计算机领域中,通常用英文单词“byte”来表示_。...

    1.在计算机领域中,通常用英文单词"byte"来表示_. A. 字 B. 字长 C. 字节 D. 二进制位 2.在Windows中,同时显示多个应用程序窗口的正确方法是_. A. ...

  8. 在计算机领域中通常用英语单词bit来表示,1在计算机领域中,通常用英文单词byte来表示资料...

    1在计算机领域中,通常用英文单词byte来表示资料 (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 1.在计算机领域中,通常用英文单词 ...

  9. 自动取款机属于计算机领域中的,《计算机知识》真题库290题

    <计算机知识>考点特训题库6 (1)(单选题)下列软件中不属于数据库管理系统的是(   ). A.Access B.Oracle C.Java D.SqlServer [参考答案]C. ( ...

最新文章

  1. MyBatis 中的九种设计模式
  2. android Mp3播放器之音频文件扫描
  3. android 解析雅虎天气
  4. python在windows上安装_在Windows上安装Python | 严佳冬
  5. PHP实现一个轻量级容器
  6. 在Android上可视化TensorFlow Lite AI结果
  7. The prefix p for attribute p:message associated with an element type bean
  8. 为什么更改总和顺序会返回不同的结果?
  9. Android添加开机完成后脚本(boot_completed)
  10. 先查出已知的 然后将未知的当做 having里面的条件
  11. 彻底删除dll文件,填坑!
  12. 工具系列——COMSOL Multiphysics 5.5安装教程
  13. 2023蓝牙耳机性价比推荐:高品质蓝牙耳机盘点分享
  14. linux 串口格式化输出字符串,glibc中的printf如何输出到串口
  15. 计算机ab级ppt,计算机二级MS_Office考试PPT题型汇总附答案
  16. 02-Lynda备用
  17. 基于Wireshark的TCP关闭时的四次挥手介绍
  18. 安全网关性能更超群?新华三 SecPath M9000采用思博伦解决方案实测得验证!
  19. stored outlines迁移成SQL执行计划基线
  20. C++入门级——缺省参数

热门文章

  1. jwPlayer实现支持IE8及以下版本避免出错的方法
  2. 高并发系统数据库设计
  3. [原]FreeSWITCH uuid_transfer both转移失败(三方通话),如何解决?
  4. PL/SQL 存储过程学习2 条件语句
  5. MYSQL出错代码和出错信息对照表
  6. 致27岁的老光棍天空
  7. protel99se 问题汇总(不定期更新)
  8. 各大网站CSS代码初始化集合
  9. SharePoint2016如何使用策略进行文档归档
  10. 九度OJ 1434 今年暑假不AC