文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>基本同步原理

基本同步原理

时间:2009-04-08  来源:zhengwenwei_123

注意: 终于来到了一些艰难的话题,不要在这种时候放弃啊。要成为高手的话,要成为能做点什么的人,就不要总是在这种时候放弃探索,永远只是懂得皮毛,你高兴如此吗? 什么是原语? primitive or atomic action 是由若干多机器指令构成的完成某种特定功能的一段程序,具有不可分割性.即原语的执行必须是连续的,在执行过程中不允许被中断。 原子操作——操作系统和CPU 操作系统的原子操作,和原语类似,但是要注意,原子操作和CPU的架构有关。要不CPU体系结构本身支持简单的原子操作(inc指令),要不在外围提供了锁内存总线功能(我不是很清楚,但是有人使用了“性能昂贵”这个词来形容,这个功能是主板提供的,有它固有的工作频率,也许是说,CPU将花上时间等待设定锁和解除锁的操作,而且想必不是锁住一个变量,而是按照固定大小,这也会降低系统性能),可以在操作期间,防止对数据的访问发生。如果是没有以上的两种功能,例如RISC CPU的ARM,就通过禁止中断来避免上下文切换。 (这里很可能奇怪,ARM的add指令不也可以实现inc的功能吗?注意:inc不仅可以对寄存器操作,也可以对内存操作,而ARM中,你需要从内存中ldr变量,再增加变量,然后str到内存这三条指令,所以不是原子操作)。 在UP(单处理器)中,只要是不会被上下文切换的操作:单指令和禁止中断都是原子操作。而在SMP(对称多处理器),由于线程可以物理上同时进行,所以防止上下文切换的技术不足以构成原子性,只有通过内存锁来实现。 PS:atomic_t的类型通过一个下午的寻找,最后还是没找到它的头文件,原因是:Fedora把它从用户空间移除了。
相关阅读 更多 +
排行榜 更多 +
木头人挑战游戏

木头人挑战游戏

休闲益智 下载
荒野神枪手

荒野神枪手

休闲益智 下载
步步通行

步步通行

学习教育 下载