COW(车载基站)

生活百科 2023-01-17 20:00生活百科www.aizhengw.cn

COW(车载基站)

一般有两个理解一、车载基站,安装在平板拖车上的基站设备;二是写时複製,有一定经验的程式设计师应该都知道Copy On Write(写时複製)使用了“引用计数”(reference counting),会有一个变数用于保存引用的数量。

基本介绍

  • 中文名车载基站
  • 外文名COW(Cell On Wheels) 
  • 安装位置平板拖车
  • 运用紧急状态

车载基站

安装在平板拖车上的基站设备,这种设备可用于紧急状态时,例如某个基站的发射塔发生倒塌,或基站设备发生意外事故时,车载基站就可以迅速暂时替代,保持小区内的通信。

英文

名词 n.
1.母牛
Most cows run dry in about 10 months.
大多数乳牛约10个月后就不再有奶了。
2.雌象,雌鲸(及某些大型雌性动物)
3.婆娘;娘儿们及物动词
vt.
1.恐吓;吓唬;威胁;胁迫

写时複製

英文缩写COW (copy-on-write) 中文译名。

技术原理

有一定经验的程式设计师应该都知道Copy On Write(写时複製)使用了“引用计数”(reference counting),会有一个变数用于保存引用的数量。当第一个类构造时,string的构造函式会根据传入的参数从堆上分配记忆体,当有其它类需要这块记忆体时,这个计数为自动累加,当有类析构时,这个计数会减一,直到一个类析构时,此时的引用计数为1或是0,此时,程式才会真正的Free这块从堆上分配的记忆体。

通俗理解

Scott Meyers在《More Effective C++》 中举了个例子,在你还在上学的时候,你的父母要你不要看电视,而去複习功课,于是你把自己关在房间里,做出一副正在複习功课的样子,其实你在干着别的诸如给班上的某位女生写情书之类的事,而一旦你的父母出来在你房间要检查你是否在複习时,你才真正捡起课本看书。这就是“拖延战术”,直到 你非要做的时候才去做。
,这种事情在现实生活中时往往会出事,但其在编程世界中摇身一变,就成为了最有用的技术,正如C++中的可以随处声明变数的特点一样,Scott Meyers推荐我们,在真正需要一个存储空间时才去声明变数(分配记忆体),这样会得到程式在运行时最小的记忆体花销。执行到那才会去做分配记忆体这种比较耗时的工作,这会给我们的程式在运行时有比较好的性能。毕竟,20%的程式运行了80%的时间。

思想套用

当 然,拖延战术还并不只是string这样一种类型,这种技术被我们广泛地套用着,特别是在作业系统当中,当一个程式运行结束时,作业系统并不会急着把其清除出记忆体,原因是有可能程式还会马上再运行一次(从磁碟把程式装入到记忆体是个很慢的过程),而只有当记忆体不够用了,才会把这些还驻留记忆体的程式清出。
写时複製(Copy-On-Write)技术,就是编程界“懒惰行为”——拖延战术的产物。举个例子,比如我们有个程式要写档案,不断地根据网路传来的数据写,如果每一次fwrite或是fprintf都要进行一个磁碟的I/O操 作的话,都简直就是性能上巨大的损失,通常的做法是,每次写档案操作都写在特定大小的一块记忆体中(磁碟快取),只有当我们关闭档案时,才写到磁碟上 (这就是为什幺如果档案不关闭,所写的东西会丢失的原因)。更有甚者是档案关闭时都不写磁碟,而一直等到关机或是记忆体不够时才写磁碟,Unix就是这样一个系统,如果非正常退出,那幺数据就会丢失,档案就会损坏。
为了性能我们需要冒这样大的风险,还好我们的程式是不会忙得忘了还有一块数据需要写到磁碟上的,所以这种做法,还是很有必要的。
而我们最经常使用的fork()函式,在父进程创建子进程时,就是採用此技术,不是立刻将父进程的进程空间拷贝一份给子进程用,而是让子进程共享父进程的进程空间,只在需要写入时才进行拷贝,让它们拥有各自的进程空间。这是很有用的,因为拷贝进程空间是一个开销很大的过程,而很多情况下并不需要对进程空间进行写操作,比如创建一个进程只是执行,或者子进程马上启动一个新的进程,这些情况下,并不需要独立的进程空间,写时複製就显得很“高明”。
上一篇:Button, Button 下一篇:EQ唱片

Copyright@2015-2025 www.aizhengw.cn 癌症网版板所有