a653fs System Description
a653fs is an abstract way to manage data storage. It allows an application to access various forms of data storage in a module using a common set of operations.
The file system must be specified in the module configuration to be made available for the partitions.
The ARINC 653 configuration for the file system specifies which devices are available, which portions of those devices can be accessed by each partition and with which permission levels.
The a653fs file system can manage several logical devices and each of the devices may have different volumes.
Logical devices are independent from each other, they represent the various storage devices available for the partitions in a module.
Each logical device can have a limited number of volumes and each volume can be accessed by one partition with READ/WRITE permission, the OwnerPartition, and several partitions with READ permissions, the ReaderPartitions.
Devices (LogicalDevices) are identified by names and own portions of storage (volumes and quotas) attributed to specific partitions;
The file system service provision is accomplished via requests and replies exchanged between the sima processes simulating the logical devices and the partitions.
Each logical device has a port for receiving the requests from all its clients, while each client has one port per logical device for receiving replies.
Both partitions "controllers", for instance, have two listening ports because they accesses two file system logical devices.
Partitions "logger" and "register" on the other hand, accesses only one logical device and therefore need only one port for listening from those devices.