ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

计算机领域中随处可见的抽象

2019-09-21 09:54:50  阅读:213  来源: 互联网

标签:抽象 计算机领域 文件系统 规范 具体 随处可见 交互 设备


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

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

所以,抽象的两个要点:

  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. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有