User Space Primitive Documentation
Introduction
This documentation is largely still a collection of notes based off the previous C-based Twizzler system, and is being updated to reflect new APIs.
Where to begin
Twizzler introduces objects to organize persistent data, rather than files in traditional systems. This provides the benefit of not having to serialize and deserialize data to make it persistent.
Pages explaining the main abstractions of the OS are available at the following links: Objects (for the main data abstraction), Views (for thread environments), and Kernel State Objects (the security model). From these basics, there are a number of features provided by the Twizzler userspace that can be used to enhance programs, but are not necessary for understanding the fundamentals of the OS.
- To get a background on the motivations and a high level understanding of the goals of the operating system, we recommend Twizzler: a Data-Centric OS for Non-Volatile Memory. This is a research paper explaining the system for academic readers.
- To just jump in, follow the build guide and look at the code documentation (essentially manual pages) for primitive functions.