FIFO写满之后继续写数据,新数据会覆盖原来的数据吗,还是说新数据根本写不进去直接溢出?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FIFO写满之后继续写数据,新数据会覆盖原来的数据吗,还是说新数据根本写不进去直接溢出?相关的知识,希望对你有一定的参考价值。

读不进去,新数据丢失。

手机的磁盘管理,逻辑关系跟随了电脑的硬盘管理模式。删除某个文件,只是删除了文件的路径,原来存储的数据还原样不动的。

如果是同步fifo深度设置成128,存100个以后再开始读,永远不可能出现空满。因为写入和读取的速度是一样的。两边时钟也一样,位宽也一样怎么可能出现空满。

扩展资料:

FIFO存储器是系统的缓冲环节,如果没有FIFO存储器,整个系统就不可能正常工作,它主要有几方面的功能:

1、对连续的数据流进行缓存,防止在进机和存储操作时丢失数据;

2、数据集中起来进行进机和存储,可避免频繁的总线操作,减轻CPU的负担;

3、允许系统进行DMA操作,提高数据的传输速度。这是至关重要的一点,如果不采用DMA操作,数据传输将达不到传输要求,而且大大增加CPU的负担,无法同时完成数据的存储工作。

参考资料来源:百度百科-FIFO存储器

参考技术A 读不进去,新数据丢失。

oracle之归档日志是个什么鬼?

我们的oracle数据库默认采用的是非归档模式,假如说一共有三个重做日志组,当三个日志组全部写满之后将从第一个日志组开始循环记录,并且第一个日志组中的内容将被彻底覆盖,这样,如果数据库崩溃了,想要恢复很早之前的数据,那就坑比了。

怎么办?

你问我啊,我告诉你。切换数据库日志模式为归档模式就OK了,这样写入日志循环的时候,会先把日志组中的数据写入到归档日志中,然后才会被覆盖。你看,问题解决了吧?


有人可能会问:哎,那究竟什么时候应该采用归档模式呢?

这要看数据库对应的应用系统是什么样的要求了,如果数据绝对不允许丢失则必须使用归档模式。

如果只强调系统的运行效率,至于数据丢失没有那么重要的话,可以采取非归档模式。但是还是建议管理员经常定时的进行数据库完整备份。

切换日志模式:

① 查看日志模式

技术分享


② 关闭数据库,重新启动并加载数据库但不打开数据库

技术分享


③ 改变日志模式

技术分享


④ 打开数据库

技术分享


OK,可以在PLSQL developer工具里通过select log_mode from v$database;语句查看归档模式,也可以通过在SQL*plus里输入archive log list进行查看。

a.

技术分享


b.

技术分享


如果你还想知道点别的,请自行百度吧!

本文出自 “康哥的IT世界” 博客,请务必保留此出处http://zhengkangkang.blog.51cto.com/12015643/1953567

以上是关于FIFO写满之后继续写数据,新数据会覆盖原来的数据吗,还是说新数据根本写不进去直接溢出?的主要内容,如果未能解决你的问题,请参考以下文章

一种分片更新ubi卷的方式(基于ubiupdatevol,拓展fifo支持)

Oracle - 备份与恢复

excel2003中一组新的数据怎么覆盖新的数据?求解 不清楚的还可再问

异步fifo的Verilog实现

mysql 数据库导入 如果原来表数据在导出之后有新的数据 增加或更改

ORACLE数据库闪回日志写满