ACM Home Page
Please provide us with feedback. Feedback
Digital Library logoTake a look at the new version of this page: [ beta version ]. Tell us what you think.
Operating systems transactions
Full text PdfPdf (490 KB)
Source
ACM Symposium on Operating Systems Principles archive
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles table of contents
Big Sky, Montana, USA
SESSION: I/O table of contents
Pages: 161-176  
Year of Publication: 2009
ISBN:978-1-60558-752-3
Authors
Donald E. Porter  The University of Texas at Austin, Austin, TX, USA
Owen S. Hofmann  The University of Texas at Austin, Austin, TX, USA
Christopher J. Rossbach  The University of Texas at Austin, Austin, TX, USA
Alexander Benn  The University of Texas at Austin, Austin, TX, USA
Emmett Witchel  The University of Texas at Austin, Austin, TX, USA
Sponsors
ACM: Association for Computing Machinery
SIGOPS: ACM Special Interest Group on Operating Systems
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 42,   Downloads (12 Months): 251,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1629575.1629591
What is a DOI?

ABSTRACT

Applications must be able to synchronize accesses to operating system resources in order to ensure correctness in the face of concurrency and system failures. System transactions allow the programmer to specify updates to heterogeneous system resources with the OS guaranteeing atomicity, consistency, isolation, and durability (ACID). System transactions efficiently and cleanly solve persistent concurrency problems that are difficult to address with other techniques. For example, system transactions eliminate security vulnerabilities in the file system that are caused by time-of-check-to-time-of-use (TOCTTOU) race conditions. System transactions enable an unsuccessful software installation to roll back without disturbing concurrent, independent updates to the file system.

This paper describes TxOS, a variant of Linux 2.6.22 that implements system transactions. TxOS uses new implementation techniques to provide fast, serializable transactions with strong isolation and fairness between system transactions and non-transactional activity. The prototype demonstrates that a mature OS running on commodity hardware can provide system transactions at a reasonable performance cost. For instance, a transactional installation of OpenSSH incurs only 10% overhead, and a non-transactional compilation of Linux incurs negligible overhead on TxOS. By making transactions a central OS abstraction, TxOS enables new transactional services. For example, one developer prototyped a transactional ext3 file system in less than one month.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
3
4
 
5
C. Blundell, E.C. Lewis, and M.M.K. Martin. Deconstructing transactions: The subtleties of atomicity. In Fourth Annual Workshop on Duplicating, Deconstructing, and Debunking. Jun 2005.
 
6
7
 
8
J. Larus and R. Rajwar. Transactional Memory. Morgan&Claypool, 2006.
9
 
10
 
11
P. McDougall. Microsoft pulls buggy windows vista sp1 les. In Information Week. http://www.informationweek.com/story/showArticle.jhtml?articleID=206800819.
 
12
 
13
Microsoft. What is system restore. 2008. http://support.microsoft.com/kb/959063.
 
14
C.C. Minh, J. Chung, C. Kozyrakis, and K. Olukotun. Stamp: Stanford transactional applications for multi-processing. In IISWC, 2008.
 
15
K.E. Moore, J. Bobba, M.J. Moravan, M.D. Hill, and D.A. Wood. LogTM: Log-based transactional memory. In HPCA, 2006.
16
 
17
N. Murphy, M. Tonkelowitz, and M. Vernal. The design and implementation of the database file system, 2002.
18
19
 
20
NIST. National Vulnerability Database. http://nvd.nist.gov/, 2008.
 
21
M.A. Olson. The design and implementation of the inversion file system. In USENIX, 1993.
22
23
24
25
26
 
27
M. Russinovich and D. Solomon. Windows Internals. Microsoft Press, 2009.
28
 
29
 
30
31
 
32
33
34
35
 
36
M. Zalewski. Delivering signals for fun and profit. 2001.
 
37
C. Zilles and L. Baugh. Extending hardware transactional memory to support non-busy waiting and non-transactional actions. In TRANSACT, Jun 2006.
 
38
X. Cai, Y. Gui, and R. Johnson. Exploiting unix file-system races via algorithmic complexity attacks. Oakland, 2009.
39
 
40
41
 
42
 
43
D. Dice, O. Shalev, and N. Shavit. Transactional locking II. In DISC, pages 194--208, 2006.
 
44
U. Drepper. Secure file descriptor handling. In LiveJournal, 08.
 
45
 
46
47
 
48
 
49
50
51
52
53
54

Collaborative Colleagues:
Donald E. Porter: colleagues
Owen S. Hofmann: colleagues
Christopher J. Rossbach: colleagues
Alexander Benn: colleagues
Emmett Witchel: colleagues