2.5原子事务处理要点.ppt

* * * * * 在图2-28(a)-(c)中三个事务被三个独立的进程同时执行。如果它们顺序执行,那么X的最终结果应该是1,2或3,取决于哪一个事务最后运行(X可以是一个共享变量,一个文件或某种其它对象)。在图2-28(d)中我们看到了称之为调度表的不同次序,其中事务可以是交错的。调度1是真正串行的,即事务严格按顺序来运行,因此它满足连续性的定义。调度2不是串行的,但是它也是合法的,因为它返回的X值与严格串行返回的值一致。第三个调度是非法的,因为它将X的值置成了5,这是顺序执行所不可能产生的。为保证独立的操作正确交替执行是系统的责任。通过给予系统按照自己需要选择操作执行顺序的自由——假设它得到的答案是正确的——我们消除了程序员自己进行互斥处理的需要,因此简化了编程。 * * * * * * * * * * * * * * * * * * * * * * * * * * * 一、私有工作空间(续) 第一个优化基于这样的一种认识, 当一个进程读取文件而不作修改时,就不需要私有拷贝了。 该进程可以直接读取真正的文件(除非当事务开始后文件已被改动)。 * 一、私有工作空间(续) 当某个进程开始一个事务的时候,只要创建一私有工作空间,该私有工空间只包含一个指向父辈工作区的指针就足够了。 当事务处于最顶层的时候,它的工作区就是真正的文件系统。 当一个进程打开文件进行读取的时候,指针

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档