Skip to main content

File System Ontology

Operating Systems
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 01 October 2026
Audio Overview
AI SEARCH

FLOW ALGEBRA — FILE SYSTEM ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/operating-systems/file-system-ontology.html

FLOW FILE_SYSTEM_ONTOLOGY {

  META {
    DOMAIN = "Computing Ontologies"
    SUBDOMAIN = "Operating Systems"
    ONTOLOGY = "File System Ontology"
    PURPOSE = "Formalise file-system entities, files, directories, paths, metadata, storage allocation, permissions, mounting, caching, journalling and filesystem-state relationships."
    LOCALE = "en-GB"
  }

  ENTITY_TYPES {
    FILE_SYSTEM
    FILESYSTEM
    VIRTUAL_FILE_SYSTEM
    FILE
    REGULAR_FILE
    DIRECTORY
    SYMBOLIC_LINK
    HARD_LINK
    DEVICE_FILE
    SOCKET_FILE
    PIPE_FILE
    FILE_PATH
    ABSOLUTE_PATH
    RELATIVE_PATH
    PATH_COMPONENT
    FILE_NAME
    DIRECTORY_ENTRY
    INODE
    FILE_IDENTIFIER
    FILE_DESCRIPTOR
    OPEN_FILE_DESCRIPTION
    METADATA
    FILE_SIZE
    TIMESTAMP
    CREATION_TIME
    MODIFICATION_TIME
    ACCESS_TIME
    OWNER
    GROUP
    USER
    PERMISSION
    READ_PERMISSION
    WRITE_PERMISSION
    EXECUTE_PERMISSION
    ACCESS_CONTROL_LIST
    MOUNT_POINT
    MOUNT
    VOLUME
    PARTITION
    STORAGE_DEVICE
    BLOCK_DEVICE
    LOGICAL_BLOCK
    PHYSICAL_BLOCK
    EXTENT
    ALLOCATION_UNIT
    FREE_SPACE
    ALLOCATED_SPACE
    SUPERBLOCK
    JOURNAL
    TRANSACTION
    BUFFER
    PAGE_CACHE
    FILE_CACHE
    READ_OPERATION
    WRITE_OPERATION
    CREATE_OPERATION
    DELETE_OPERATION
    RENAME_OPERATION
    OPEN_OPERATION
    CLOSE_OPERATION
    FLUSH_OPERATION
    SYNC_OPERATION
    TRUNCATE_OPERATION
    LINK_OPERATION
    UNLINK_OPERATION
    LOCK
    FILE_LOCK
    STATE
    EVENT
    ERROR
    CORRUPTION
    RECOVERY
    CONFIGURATION
    OS_VERSION
    KERNEL_VERSION
    FILESYSTEM_VERSION
    EVIDENCE
    CONFIDENCE_SCORE
    PROVENANCE_RECORD
  }

  RELATIONSHIPS {
    IS_A
    INSTANCE_OF
    PART_OF
    CONTAINS
    HAS_ENTRY
    HAS_PATH
    HAS_NAME
    HAS_INODE
    HAS_DESCRIPTOR
    HAS_METADATA
    HAS_OWNER
    HAS_GROUP
    HAS_PERMISSION
    HAS_ACL
    POINTS_TO
    LINKS_TO
    MOUNTED_AT
    MOUNTED_ON
    BACKED_BY
    MAPS_TO
    ALLOCATES
    DEALLOCATES
    STORES
    READS
    WRITES
    CREATES
    DELETES
    RENAMES
    OPENS
    CLOSES
    FLUSHES
    SYNCHRONISES
    TRUNCATES
    LOCKS
    UNLOCKS
    JOURNALS
    RECOVERS
    HAS_STATE
    TRANSITIONS_TO
    HAS_CONFIGURATION
    HAS_VERSION
    DEPENDS_ON
    PRECEDES
    FOLLOWS
    DERIVED_FROM
    INFERRED_FROM
    HAS_EVIDENCE
    HAS_CONFIDENCE
    HAS_PROVENANCE
    SEMANTICALLY_EQUIVALENT_TO
  }

  INPUTS {
    FILESYSTEM_SPECIFICATIONS
    FILESYSTEM_METADATA
    DIRECTORY_ENTRIES
    FILE_PATHS
    INODE_DATA
    FILE_DESCRIPTOR_TABLES
    OWNERSHIP_DATA
    PERMISSION_DATA
    ACL_DATA
    MOUNT_TABLES
    VOLUME_DATA
    BLOCK_ALLOCATION_DATA
    FREE_SPACE_DATA
    JOURNAL_DATA
    FILE_OPERATION_TRACES
    CACHE_DATA
    ERROR_LOGS
    CORRUPTION_RECORDS
    RECOVERY_LOGS
    CONFIGURATION_DATA
    OS_VERSION_DATA
    KERNEL_VERSION_DATA
    FILESYSTEM_VERSION_DATA
    ONTOLOGY_TERMS
  }

  NORMALISE {
    STANDARDISE_FILESYSTEM_IDENTIFIERS
    NORMALISE_FILE_IDENTIFIERS
    NORMALISE_FILE_PATHS
    NORMALISE_PATH_SEPARATORS
    NORMALISE_FILE_NAMES
    NORMALISE_DIRECTORY_ENTRIES
    NORMALISE_INODE_IDENTIFIERS
    NORMALISE_FILE_DESCRIPTORS
    NORMALISE_PERMISSION_MODELS
    NORMALISE_USER_AND_GROUP_IDENTITIES
    NORMALISE_STORAGE_UNITS
    NORMALISE_TIMESTAMPS
    NORMALISE_MOUNT_POINTS
    NORMALISE_FILESYSTEM_VERSIONS
    NORMALISE_OS_AND_KERNEL_VERSIONS
    RESOLVE_FILE_AND_DIRECTORY_IDENTITIES
    ALIGN_ONTOLOGY_TERMS
    REMOVE_DUPLICATES
    VALIDATE_METADATA
    PRESERVE_PROVENANCE
  }

  PROCESS PATH_RESOLUTION {
    FILE_PATH
      -> STARTING_DIRECTORY

    STARTING_DIRECTORY
      -> PATH_COMPONENT_SEQUENCE

    PATH_COMPONENT_SEQUENCE
      -> DIRECTORY_ENTRY_LOOKUP

    DIRECTORY_ENTRY_LOOKUP
      -> FILESYSTEM_OBJECT

    SYMBOLIC_LINK_IF_PRESENT
      -> LINK_TARGET_RESOLUTION

    FINAL_OBJECT
      -> ACCESS_CHECK
  }

  PROCESS FILE_OPEN_REASONING {
    PROCESS + FILE_PATH + OPEN_MODE
      -> PATH_RESOLUTION

    PATH_RESOLUTION
      -> PERMISSION_CHECK

    PERMISSION_CHECK
      -> OPEN_FILE_DESCRIPTION

    OPEN_FILE_DESCRIPTION
      -> FILE_DESCRIPTOR_ALLOCATION

    FILE_DESCRIPTOR_ALLOCATION
      -> PROCESS_FILE_DESCRIPTOR_TABLE
  }

  PROCESS FILE_READ_REASONING {
    FILE_DESCRIPTOR
      -> OPEN_FILE_DESCRIPTION

    OPEN_FILE_DESCRIPTION
      -> FILE_OFFSET_AND_FILE_OBJECT

    FILE_OBJECT
      -> PAGE_CACHE_CHECK

    CACHE_HIT
      -> DATA_RETURN

    CACHE_MISS
      -> STORAGE_BLOCK_MAPPING
      -> STORAGE_READ
      -> CACHE_FILL
      -> DATA_RETURN
  }

  PROCESS FILE_WRITE_REASONING {
    FILE_DESCRIPTOR + DATA
      -> OPEN_FILE_DESCRIPTION

    OPEN_FILE_DESCRIPTION
      -> FILE_OFFSET_AND_FILE_OBJECT

    FILE_OBJECT
      -> PERMISSION_AND_SPACE_CHECK

    VALID_WRITE
      -> CACHE_OR_BUFFER_UPDATE

    CACHE_OR_BUFFER_UPDATE
      -> DIRTY_STATE

    FLUSH_OR_SYNC_POLICY
      -> STORAGE_WRITE
      -> METADATA_UPDATE
  }

  PROCESS ALLOCATION_REASONING {
    FILE_GROWTH_OR_CREATION
      -> SPACE_REQUIREMENT

    SPACE_REQUIREMENT
      -> FREE_SPACE_SEARCH

    FREE_SPACE_SEARCH
      -> BLOCK_OR_EXTENT_ALLOCATION

    BLOCK_OR_EXTENT_ALLOCATION
      -> FILE_MAPPING_UPDATE

    FILE_DELETE_OR_TRUNCATION
      -> BLOCK_OR_EXTENT_RELEASE
  }

  PROCESS JOURNAL_REASONING {
    FILESYSTEM_CHANGE
      -> JOURNAL_TRANSACTION

    JOURNAL_TRANSACTION
      -> JOURNAL_RECORD

    JOURNAL_RECORD
      -> COMMIT

    COMMIT
      -> MAIN_FILESYSTEM_UPDATE

    CRASH_OR_INTERRUPTION
      -> JOURNAL_REPLAY_OR_RECOVERY
  }

  PROCESS PERMISSION_REASONING {
    SUBJECT + FILESYSTEM_OBJECT + REQUESTED_OPERATION
      -> OWNERSHIP_CONTEXT

    OWNERSHIP_CONTEXT
      -> PERMISSION_AND_ACL_CHECK

    PERMISSION_AND_ACL_CHECK
      -> ALLOW_OR_DENY
  }

  PROCESS MOUNT_REASONING {
    FILESYSTEM_OR_VOLUME
      -> MOUNT_REQUEST

    MOUNT_REQUEST
      -> FILESYSTEM_VALIDATION

    FILESYSTEM_VALIDATION
      -> MOUNT_POINT

    MOUNT_POINT
      -> NAMESPACE_INTEGRATION

    UNMOUNT_REQUEST
      -> BUSY_AND_FLUSH_CHECK
      -> NAMESPACE_REMOVAL
  }

  PROCESS CORRUPTION_REASONING {
    FILESYSTEM_INCONSISTENCY_OR_ERROR
      -> CORRUPTION_CANDIDATE

    CORRUPTION_CANDIDATE
      -> METADATA_AND_DATA_VALIDATION

    VALIDATED_CORRUPTION
      -> AFFECTED_OBJECTS

    AFFECTED_OBJECTS
      -> RECOVERY_OR_REPAIR_ACTION
      -> CONFIDENCE_SCORE
  }

  RULES {
    IF FILE_PATH_IS_RESOLVED
    THEN PRESERVE NAMESPACE_MOUNT_AND_STARTING_DIRECTORY_CONTEXT

    IF FILE_DESCRIPTOR_IS_USED
    THEN DO_NOT_EQUATE_FILE_DESCRIPTOR_WITH_FILE_OBJECT

    IF SYMBOLIC_LINK_IS_ENCOUNTERED
    THEN PRESERVE LINK_OBJECT_AND_TARGET_AS_DISTINCT_ENTITIES

    IF HARD_LINK_EXISTS
    THEN MULTIPLE_DIRECTORY_ENTRIES_MAY_REFERENCE_SAME_FILE_OBJECT

    IF FILE_IS_DELETED
    THEN DO_NOT_ASSERT_IMMEDIATE_PHYSICAL_DATA_ERASURE

    IF WRITE_IS_BUFFERED
    THEN DO_NOT_ASSERT_PERSISTENCE_UNTIL_REQUIRED_STORAGE_COMMIT_CONTEXT_EXISTS

    IF ACCESS_IS_REQUESTED
    THEN CHECK_IDENTITY_PERMISSION_AND_ACL_CONTEXT

    IF SEMANTIC_IDENTIFIERS_DIFFER
    AND FILESYSTEM_REFERENT_IS_SAME
    THEN APPLY SEMANTIC_EQUIVALENCE
  }

  CONFIDENCE {
    CONFIDENCE_SCORE =
      WEIGHT(
        FILESYSTEM_VERSION_CERTAINTY,
        PATH_RESOLUTION_COMPLETENESS,
        METADATA_QUALITY,
        MOUNT_CONTEXT_COMPLETENESS,
        BLOCK_MAPPING_COMPLETENESS,
        JOURNAL_STATE_QUALITY,
        OPERATION_TRACE_COMPLETENESS,
        PROVENANCE_COMPLETENESS
      )

    LEVELS {
      HIGH
      MODERATE
      LOW
      INSUFFICIENT
    }

    IF MOUNT_OR_NAMESPACE_CONTEXT_IS_UNKNOWN
    THEN REDUCE_PATH_RESOLUTION_CONFIDENCE

    IF CACHE_OR_JOURNAL_STATE_IS_UNKNOWN
    THEN REDUCE_PERSISTENCE_INFERENCE_CONFIDENCE

    IF COMPLETE_OPERATION_TRACE_CONFIRMS_STATE
    THEN INCREASE CONFIDENCE_SCORE
  }

  SEMANTIC_EQUIVALENCE {
    EQUIVALENCE_KEY =
      NORMALISE(
        ENTITY_TYPE,
        FILESYSTEM_IDENTIFIER,
        FILE_OR_INODE_IDENTIFIER,
        MOUNT_CONTEXT,
        FILESYSTEM_VERSION,
        NAMESPACE_CONTEXT
      )

    IF EQUIVALENCE_KEY(A) == EQUIVALENCE_KEY(B)
    THEN A SEMANTICALLY_EQUIVALENT_TO B

    ELSE PRESERVE_DISTINCT_ENTITIES
  }

  REASONING_CONSTRAINTS {
    FILE_PATH != FILE_OBJECT
    FILE_NAME != FILE_IDENTITY
    FILE_DESCRIPTOR != FILE
    DIRECTORY_ENTRY != FILE_CONTENT
    SYMBOLIC_LINK != LINK_TARGET
    HARD_LINK != DUPLICATE_FILE_CONTENT
    DELETE != IMMEDIATE_PHYSICAL_ERASURE
    BUFFERED_WRITE != DURABLE_WRITE
    CACHE_STATE != PERSISTENT_STORAGE_STATE
    LOGICAL_BLOCK != PHYSICAL_BLOCK
    MOUNT_POINT != STORAGE_DEVICE
    PERMISSION != SUCCESSFUL_ACCESS_WITHOUT_IDENTITY_CONTEXT
    JOURNAL_COMMIT_SEMANTICS_ARE_FILESYSTEM_DEPENDENT
    FILESYSTEM_BEHAVIOUR_DEPENDS_ON_OS_KERNEL_AND_CONFIGURATION
    PROVENANCE_MUST_BE_PRESERVED
    UNCERTAINTY_MUST_NOT_BE_DISCARDED
  }

  VALIDATION {
    CHECK_ENTITY_TYPES
    CHECK_RELATION_DOMAINS_AND_RANGES
    CHECK_FILESYSTEM_IDENTIFIER
    CHECK_FILESYSTEM_VERSION
    CHECK_PATH_RESOLUTION
    CHECK_FILE_AND_DIRECTORY_IDENTITIES
    CHECK_INODE_RELATIONS
    CHECK_FILE_DESCRIPTOR_RELATIONS
    CHECK_OWNERSHIP_AND_PERMISSIONS
    CHECK_ACL_RELATIONS
    CHECK_MOUNT_CONTEXT
    CHECK_BLOCK_AND_EXTENT_MAPPINGS
    CHECK_CACHE_STATE
    CHECK_JOURNAL_STATE
    CHECK_FILE_OPERATIONS
    CHECK_CORRUPTION_AND_RECOVERY_RELATIONS
    CHECK_OS_AND_KERNEL_CONTEXT
    CHECK_CONFIGURATION
    CHECK_PROVENANCE
    CHECK_CONFIDENCE
    CHECK_SEMANTIC_CONSISTENCY
  }

  OUTPUTS {
    NORMALISED_FILESYSTEM_ENTITIES
    FILE_AND_DIRECTORY_RELATIONS
    PATH_RESOLUTION_RELATIONS
    DIRECTORY_ENTRY_RELATIONS
    INODE_RELATIONS
    FILE_DESCRIPTOR_RELATIONS
    OWNERSHIP_AND_PERMISSION_RELATIONS
    MOUNT_RELATIONS
    BLOCK_AND_EXTENT_MAPPINGS
    READ_WRITE_RELATIONS
    CACHE_AND_BUFFER_RELATIONS
    JOURNAL_RELATIONS
    FILESYSTEM_STATE_TRANSITIONS
    CORRUPTION_HYPOTHESES
    RECOVERY_RELATIONS
    CONFIDENCE_SCORES
    EVIDENCE_LINKS
    PROVENANCE_RECORDS
    EXPLANATION_PATHS
  }

  UPDATE_MODEL {
    ON FILESYSTEM_EVENT {
      NORMALISE
      RESOLVE_FILESYSTEM_OBJECTS
      UPDATE_DIRECTORY_ENTRIES
      UPDATE_METADATA
      UPDATE_BLOCK_MAPPINGS
      UPDATE_CACHE_AND_JOURNAL_STATE
      UPDATE_MOUNT_CONTEXT
      RECOMPUTE_DEPENDENT_INFERENCES
      UPDATE_CONFIDENCE
    }

    ON NEW_OPERATION_ERROR_OR_RECOVERY_DATA {
      LINK_EVIDENCE
      UPDATE_OPERATION_TRACE
      UPDATE_FILESYSTEM_STATE
      REASSESS_CORRUPTION_HYPOTHESES
      UPDATE_RECOVERY_RELATIONS
      UPDATE_CONFIDENCE
      RECORD_PROVENANCE
    }

    ON ONTOLOGY_REVISION {
      REMAP_TERMS
      CHECK_SEMANTIC_EQUIVALENCE
      IDENTIFY_DEPRECATED_TERMS
      MIGRATE_RELATIONSHIPS
      PRESERVE_PRIOR_VERSION_REFERENCES
    }
  }

  FLOW_HASH {
    HASH_INPUT =
      CANONICALISE(
        ENTITY_TYPES,
        RELATIONSHIPS,
        RULES,
        CONFIDENCE,
        SEMANTIC_EQUIVALENCE,
        REASONING_CONSTRAINTS,
        UPDATE_MODEL
      )

    FLOW_HASH = SHA256(HASH_INPUT)
  }

  AI_CONSUMPTION {
    INDEX {
      ONTOLOGY
      ENTITY_TYPES
      RELATIONSHIPS
      RULES
      OUTPUTS
    }

    RETRIEVE {
      BY_FILESYSTEM
      BY_FILE
      BY_DIRECTORY
      BY_PATH
      BY_INODE
      BY_FILE_DESCRIPTOR
      BY_OWNER
      BY_PERMISSION
      BY_MOUNT
      BY_BLOCK
      BY_JOURNAL
      BY_OPERATION
      BY_CORRUPTION
      BY_CONFIDENCE
    }

    REASON {
      APPLY_RELATIONSHIPS
      APPLY_RULES
      TRACE_PATH_RESOLUTION
      TRACE_FILE_OPEN
      TRACE_FILE_READS
      TRACE_FILE_WRITES
      ANALYSE_ALLOCATION
      ANALYSE_JOURNALLING
      ANALYSE_PERMISSIONS
      TRACE_MOUNTS
      ANALYSE_CORRUPTION_AND_RECOVERY
      CHECK_SEMANTIC_EQUIVALENCE
      PRESERVE_UNCERTAINTY
      TRACE_EVIDENCE
      TRACE_PROVENANCE
      GENERATE_EXPLANATION_PATH
    }

    RESPONSE_POLICY {
      DISTINGUISH_PATH_FROM_FILE_OBJECT
      DISTINGUISH_FILE_DESCRIPTOR_FROM_FILE
      DISTINGUISH_SYMBOLIC_LINK_FROM_TARGET
      PRESERVE_NAMESPACE_MOUNT_FILESYSTEM_VERSION_AND_PERMISSION_CONTEXT
      DISTINGUISH_BUFFERED_WRITE_FROM_DURABLE_STORAGE
      DISTINGUISH_DELETE_FROM_PHYSICAL_ERASURE
      RETURN_CONFIDENCE_WHEN_AVAILABLE
      RETURN_PROVENANCE_WHEN_AVAILABLE
      AVOID_UNSUPPORTED_FILESYSTEM_INFERENCE
    }
  }

  TERMINAL {
    RESULT =
      VALIDATED(
        SEMANTICALLY_NORMALISED(
          EVIDENCE_LINKED(
            CONFIDENCE_AWARE(
              FILE_SYSTEM_KNOWLEDGE
            )
          )
        )
      )
  }
}

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ