tzimmermann dot org

This is the website and blog of Thomas Zimmermann. Topics are picotm, transactions, and low-level software development.
On the web: 

Thomas Zimmermann • Aug 4, 2017 • 6 min read

Unix Hard Links, Soft Links, and Files

This blog post describes the relation ship between file names and files on Unix file systems. We’ll also look at soft links and how all this interacts with file descriptors.  Read →

Thomas Zimmermann • Jul 28, 2017 • 10 min read

Data Structures of Unix File I/O

This blog post describes the basic data structures involved in file I/O on Unix and Linux. We’ll go through file descriptors, open file descriptions and file buffers, and see how they relate to each other.  Read →

Thomas Zimmermann • Jul 21, 2017 • 15 min read

Implementing Fault-Tolerant Software With Transactions

This is a series of blog posts to build a transaction manager in C. Last time, we looked at fault tolerance, and how to build fail-safe transactional software. In this installment, we’re going to implement support for error detection and recovery in our transaction manager simpletm. As usual, the complete example code for this blog post is available on GitHub.  Read →

Thomas Zimmermann • Jul 14, 2017 • 9 min read

Building Fault-Tolerant Software With Transactions

This is a series of blog posts to build a transaction manager in C. Having implemented thread isolation, we will now look at error handling. Our goal is to automate error handling as much as possible and make building fault-tolerant software easy.  Read →

Thomas Zimmermann • Jul 7, 2017 • 8 min read

Types of Transactional Operations

This is a series of blog posts to build a transaction manager in C. In this installment, we’re going to take a closer look at the different types of functions that exist and what we have to do to handle them in a transaction. We’ve already implemented support for several interfaces from the C Standard Library in our transaction manager. We’re now going to sort and formalize this a bit.  Read →