cache( 缓冲区)的概念如何应用于操作系统

2025-03-03 18:24:41
推荐回答(1个)
回答1:

由于内存设备和外存设备速度差距非常多,所以要设立缓存。举个例子吧,VC是MICROSOFT开发一个集成开发环境,在VC++版本里面提供有读,写操作,但是如果你理解了操作的缓存原理,你就必须明白,所有输入,和写入的数据都是预先存在一个BUFF指向的缓存区域,比如你用SCANF,或者PRINTF,FWRITE,这样做是帮助实现,整存整取。从另一个角度来说,如果你不理解这一点,你在使用上述函数的时候会就会无法正常输入输出。你当然可以通过不断刷缓存实现连续操作,但是这是属于菜鸟的做法。这种做法既不符合操作系统编程规范,也不无助于提升程序运行速度。究其根本还是由于不理解者一原理,造成程序输入输出模块书写混乱。总而言之,你可以理解为,凡是涉及硬件速度差异的地方,都可以附加一个结构体,用一个指针开辟一个内存吧交互数据存在里面,等达到一定规模后,在整体处理,从而实现设备速度对接。常见设备对接处,内存数据向外存设备转移,视频数据项内存数据转移,内存从视频设备采集数据。你可以自己编写CASHE,比如,FWRITE的底层函数是WRITE函数,你自己添加对象并设立指针数据_buffer,一般是4000KB,做为线性结构,你还要根据你所需要的数据结构完善其成员变量。大概就是这样。