文件打开时的状态
调用 open 函数去打开文件的时候,内核会申请一段内存(一段缓冲区)
并且将静态文件的数据内容从磁盘这些存储设备中读取到内存中进行管理、缓存(也把内存中的这份文件数据叫做动态文件、内核缓冲区)
打开文件后,以后对这个文件的读写操作,都是针对内存中这一份动态文件进行相关的操作,而并不是针对磁盘中存放的静态文件。
我们再来说一下,为什么要这样设计?
磁盘、硬盘、U 盘等存储设备基本都是 Flash
块设备,因为块设备硬件本身有一块一块为单位读写限制等特征。一个字节的改动也需要将该字节所在的 block
全部读取出来进行修改,修改完成之后再写入块设备中,所以导致对块设备的读写操作非常不灵活
而内存可以按字节为单位来操作,而且可以随机操作任意地址数据,非常地很灵活
生成函数即母函数,是组合数学中尤其是计数方面的一个重要理论和工具。最早提出母函数的人是法国数学家LaplaceP.S.在其1812年出版的《概率的分析理论》中明确提出。 生成函数有普通型生成函数和指数型生成函数两种,其中普通型用的比较多。 生成函数的应用简单来说在于研究未知(通项)数列规律,用这种方法在给出递推式的情况下求出数列的通项,生成函数是推导Fibonacci数列的通项公式方法之一。 另外生成函数也广泛应用于编程与算法设计、分析上,运用这种数学方法往往对程序效率与速度有很大改进。