next up previous contents
Next: Data storage: A virtual Up: Design choices Previous: Design choices   Indice

The system calls implementation: PKGFS class

PKGFS class represents the core of PackageFS, since it contains the overrider file system functions presented in chapter 3. LUFS communicates directly with an instance of this object to accomplish all tasks involving the new file system. PKGFS in its turn, delivers the requests to all other useful PackageFS components and sends output to lufsd daemon.

The main challenge in developing this class consisted in mapping common package managers operations into ordinary system calls. At the beginning, we studied package managers behavior and we put in evidence two principal packages categories: the available and the installed ones. There are also other varieties of packages such as the holden and the source ones, but both are considered less important and their features will be implemented in PackageFS future versions.

Operations involving available and installed packages are shortly resumed here. Before dealing with package management, an administrator should update all available packages database. Then he can install each package in the system. Once installed, it may be configured, upgraded, removed or queried for owned files. Both types may be queried for metadata or status.

At mount time, PackageFS must update available packages database and synchronize it with actual packages status. As mount is complete the user can access mount point and immediately notice the difference between the available and the installed pools. Then, all actions on packages may be performed by a write operation, whereas retrieval of information takes place through a read. Unprivileged users should be made able to retrieve information, but neither change the database nor the available and installed pools.

PKGFS implementation leads to the final PackageFS package management view. It does not change the semantic role of the system calls, but transposes it to package manager level. Directories and operations meaning will be presented in detail in chapter 5.


next up previous contents
Next: Data storage: A virtual Up: Design choices Previous: Design choices   Indice
2004-11-19