文件管理--1.1、文件与文件系统

1.1.1 文件及其分类

 一、对比----以前认识和现在认识:

1)old:文件是最小单元,不能再细分。

       new:域是最小单元。域--->记录----->文件

  2)old:域---记录---文件,该格式以为是数据库文件的独创。

new:该格式是文件的先创,数据库文件在此基础上的推演。

再次体现大道理任何新生事物都以以前事物为基础,在其上发生小的微变。)


二、疑问:

1)一个视频文件:其记录是什么?其域是什么?

      一个音频文件:其记录是什么?其域是什么?

      一个office文件(比如Word文件):其记录是什么?其域是什么?

cc:例:

基本数据项:学号、姓名;

组合数据项:经理:正经理和副经理;

记录:一个学生:学生:        学号、姓名、班级……

     医疗对象:病历号、姓名、姓名……

文件:对象集。


对比:txt: 数据项:字符;

记录:一段文字;

文件:整个文件;

图片1:数据项:像素;

记录:横向的一屏像素;

文件:整个图片;

图片2:(也可能没有,数据库三层,可以简化成两层:记录就是一条数据项!-->简化数据库模型:项,数据库;-->简化文件模型:数据项,文件)

数据项:像素;

文件:整个图片;

视频:  数据项:一个图片;

记录:一帧;

文件:文件;


2)数据库文件与文件(文件系统中的文件),在域---记录的形式上有何异同?

不同的文件格式,存储组织方式都是不一样的。


3)书中说:“大多数文件系统不支持变长的域

cc:根本上来讲,作为任何一个最基本的单元,都一定是最简单的,不可在划分的,基本单元。

所以,可变了,就不简单了,可划分了,不适合做域!

另外,作为任何事物的基本构件,效率一般很重要,可变的话,不太合适。


(1)主流的Windows、类Unix系统支持吗?哪些系统支持变长域,哪些系统不支持?

cc:不知道。

(2)数据库系统支持变长域吗?

cc:支持,blob类型,其他类型,确定;

(3)从物理存储的角度看:存在变长的域到底给文件(或者更准确的说:给文件的增删改查)带来哪些复杂性?

cc: 1.检索;

2.文件多分区读取,整合。


三、推广、演绎:

1)书中说:“记录是相关域的集合,可以看成是将一个单元供应用程序使用”,“用户和应用程序把文件当成单个实体”。

(1)站在应用程序的角度看:记录是其操作文件的最小单元,而非域。

(2)此处不要认为“操作”的最小单元就应该被当成单个实体,为什么呢?(cc:??不明白问题?)

个人认为:同一个文件内的各个记录有相同的访问控制属性、具体的绝对文件路径等。因此将文件定为单个实体,比将记录定为单个实体,在管理上要方便、简单的多。(具体答案后续书中应该会提供)

 2)书中说:“访问控制常常在文件层上进行”,则非在记录层上或者域层。

 (1)为什么呢?答案同1)(2)个人认为

 (2)主流的Windows、类Unix系统是在文件层上进行的访问控制吗?哪些系统是,哪些系统不是?

cc:linux一切皆文件:

设计一个系统的终极目标往往就是要找到原子操作,一旦锁定了原子操作,设计工作就会变得简单而有序。“文件”作为一个抽象概念,其原子操作非常简单,只有读和写,这无疑是一个非常好的模型。通过这个模型,API的设计可以化繁为简,用户可以使用通用的方式去访问任何资源,自有相应的中间件做好对底层的适配。
链接:http://www.zhihu.com/question/30420304/answer/50846647

Windows不是,Unix和Linux是。


 3)文件管理 = 文件说明 + 文件体

 个人认为:文件说明存放着文件路径、访问控制权限、文件类型、磁盘存储方式(具体答案后续书中应该会提供)。因此非常重要!!!


          4)书中说:“文件的权限由文件所有者或系统授予

(1)哪些文件的权限是文件所有者能修改(授予)的,哪些是系统修改(授予)的?

 用户文件---文件所有者,库文件,系统文件----系统。

但是个人认为:有时候利用命令工具也能修改库文件、系统文件。(cc:意见一致)

(2)如何修改?<1>通过图形界面操作来修改 <2>通过命令工具(此处只谈类Unix系统)chmod来修改RWX访问属性。


三、举例:

1)按用途分

      (1)用户文件:用户自己创建的Word文档、text文本等。

      (2)库文件:比如:iOS中UIKit库中的UIView.h文件则是库文件

      (3)系统文件:如Windows中C盘中的一些文件。具体名字麻烦大家指出。

2)按访问控制属性分:

省略。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值