Skip to main content

Virtual Memory 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 — VIRTUAL MEMORY ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/operating-systems/virtual-memory-ontology.html

FLOW VIRTUAL_MEMORY_ONTOLOGY {

  META {
    DOMAIN = "Computing Ontologies"
    SUBDOMAIN = "Operating Systems"
    ONTOLOGY = "Virtual Memory Ontology"
    PURPOSE = "Formalise virtual address spaces, pages, physical frames, page tables, translation, faults, allocation, protection, swapping and memory-management relationships."
    LOCALE = "en-GB"
  }

  ENTITY_TYPES {
    VIRTUAL_MEMORY
    ADDRESS_SPACE
    VIRTUAL_ADDRESS
    PHYSICAL_ADDRESS
    LOGICAL_ADDRESS
    PAGE
    VIRTUAL_PAGE
    PAGE_NUMBER
    PAGE_OFFSET
    PHYSICAL_FRAME
    FRAME_NUMBER
    PAGE_TABLE
    PAGE_TABLE_ENTRY
    MULTILEVEL_PAGE_TABLE
    INVERTED_PAGE_TABLE
    TLB
    TLB_ENTRY
    MEMORY_MANAGEMENT_UNIT
    MMU
    PROCESS
    THREAD
    KERNEL
    PHYSICAL_MEMORY
    RAM
    SWAP_SPACE
    SWAP_FILE
    SWAP_PARTITION
    MEMORY_MAPPING
    ANONYMOUS_MAPPING
    FILE_BACKED_MAPPING
    SHARED_MAPPING
    PRIVATE_MAPPING
    MEMORY_REGION
    HEAP
    STACK
    CODE_REGION
    DATA_REGION
    PAGE_FAULT
    MINOR_PAGE_FAULT
    MAJOR_PAGE_FAULT
    PROTECTION_FAULT
    PAGE_REPLACEMENT
    REPLACEMENT_POLICY
    LRU_POLICY
    FIFO_POLICY
    CLOCK_POLICY
    WORKING_SET
    DEMAND_PAGING
    COPY_ON_WRITE
    PAGE_IN
    PAGE_OUT
    DIRTY_PAGE
    CLEAN_PAGE
    PRESENT_BIT
    DIRTY_BIT
    ACCESSED_BIT
    PERMISSION
    READ_PERMISSION
    WRITE_PERMISSION
    EXECUTE_PERMISSION
    USER_PERMISSION
    KERNEL_PERMISSION
    ALLOCATION
    DEALLOCATION
    FRAGMENTATION
    MEMORY_PRESSURE
    THRASHING
    STATE
    EVENT
    ERROR
    CONFIGURATION
    OS_VERSION
    KERNEL_VERSION
    EVIDENCE
    CONFIDENCE_SCORE
    PROVENANCE_RECORD
  }

  RELATIONSHIPS {
    IS_A
    INSTANCE_OF
    PART_OF
    CONTAINS
    HAS_ADDRESS_SPACE
    HAS_PAGE
    HAS_FRAME
    HAS_PAGE_TABLE
    HAS_ENTRY
    HAS_TLB_ENTRY
    MAPS_TO
    TRANSLATES_TO
    REFERENCES
    ALLOCATES
    DEALLOCATES
    LOADS
    EVICTS
    SWAPS_IN
    SWAPS_OUT
    READS
    WRITES
    EXECUTES_FROM
    SHARES_WITH
    BACKED_BY
    HAS_PERMISSION
    HAS_STATE
    TRANSITIONS_TO
    CAUSES_FAULT
    HANDLES_FAULT
    REPLACES
    HAS_WORKING_SET
    HAS_CONFIGURATION
    DEPENDS_ON
    PRECEDES
    FOLLOWS
    DERIVED_FROM
    INFERRED_FROM
    HAS_EVIDENCE
    HAS_CONFIDENCE
    HAS_PROVENANCE
    SEMANTICALLY_EQUIVALENT_TO
  }

  INPUTS {
    VIRTUAL_MEMORY_SPECIFICATIONS
    PROCESS_ADDRESS_SPACES
    VIRTUAL_ADDRESS_TRACES
    PAGE_TABLE_DATA
    TLB_DATA
    PHYSICAL_FRAME_DATA
    MEMORY_MAPS
    PAGE_FAULT_TRACES
    SWAP_DATA
    PAGE_REPLACEMENT_DATA
    WORKING_SET_DATA
    MEMORY_PRESSURE_DATA
    PERMISSION_DATA
    ALLOCATION_DATA
    PERFORMANCE_METRICS
    CONFIGURATION_DATA
    OS_VERSION_DATA
    KERNEL_VERSION_DATA
    ONTOLOGY_TERMS
  }

  NORMALISE {
    STANDARDISE_MEMORY_IDENTIFIERS
    NORMALISE_PROCESS_IDENTIFIERS
    NORMALISE_VIRTUAL_ADDRESSES
    NORMALISE_PHYSICAL_ADDRESSES
    NORMALISE_PAGE_SIZES
    NORMALISE_PAGE_NUMBERS
    NORMALISE_FRAME_NUMBERS
    NORMALISE_PERMISSION_MODELS
    NORMALISE_MAPPING_TYPES
    NORMALISE_REPLACEMENT_POLICY_NAMES
    NORMALISE_MEMORY_UNITS
    NORMALISE_OS_AND_KERNEL_VERSIONS
    RESOLVE_MAPPING_IDENTITIES
    ALIGN_ONTOLOGY_TERMS
    REMOVE_DUPLICATES
    VALIDATE_METADATA
    PRESERVE_PROVENANCE
  }

  PROCESS ADDRESS_TRANSLATION {
    VIRTUAL_ADDRESS
      -> VIRTUAL_PAGE_NUMBER + PAGE_OFFSET

    VIRTUAL_PAGE_NUMBER
      -> TLB_LOOKUP

    TLB_HIT
      -> PHYSICAL_FRAME_NUMBER

    TLB_MISS
      -> PAGE_TABLE_WALK

    PAGE_TABLE_WALK
      -> PAGE_TABLE_ENTRY

    VALID_PRESENT_ENTRY
      -> PHYSICAL_FRAME_NUMBER

    PHYSICAL_FRAME_NUMBER + PAGE_OFFSET
      -> PHYSICAL_ADDRESS
  }

  PROCESS PAGE_FAULT_REASONING {
    VIRTUAL_MEMORY_ACCESS
      -> TRANSLATION_ATTEMPT

    NON_PRESENT_OR_INVALID_MAPPING
      -> PAGE_FAULT

    PAGE_FAULT
      -> FAULT_CLASSIFICATION

    MINOR_FAULT
      -> MAPPING_OR_PAGE_TABLE_UPDATE

    MAJOR_FAULT
      -> STORAGE_OR_SWAP_PAGE_IN

    PROTECTION_FAULT
      -> ACCESS_DENIAL_OR_SPECIAL_HANDLER

    SUCCESSFUL_RESOLUTION
      -> RETRY_ACCESS
  }

  PROCESS DEMAND_PAGING {
    VIRTUAL_PAGE_REFERENCED
      -> PRESENT_CHECK

    NOT_PRESENT
      -> PAGE_FAULT

    PAGE_FAULT
      -> FREE_FRAME_SEARCH

    NO_FREE_FRAME
      -> PAGE_REPLACEMENT

    AVAILABLE_FRAME
      -> PAGE_LOAD

    PAGE_LOAD
      -> PAGE_TABLE_UPDATE
      -> ACCESS_RESUME
  }

  PROCESS PAGE_REPLACEMENT_REASONING {
    MEMORY_PRESSURE + NO_FREE_FRAME
      -> REPLACEMENT_POLICY

    REPLACEMENT_POLICY
      -> VICTIM_PAGE_SELECTION

    DIRTY_VICTIM
      -> PAGE_OUT_IF_REQUIRED

    CLEAN_OR_WRITTEN_VICTIM
      -> FRAME_REUSE

    FRAME_REUSE
      -> NEW_PAGE_MAPPING
  }

  PROCESS COPY_ON_WRITE_REASONING {
    SHARED_PRIVATE_PAGE
      -> READ_ACCESS

    READ_ACCESS
      -> SHARED_FRAME

    WRITE_ACCESS
      -> COPY_ON_WRITE_FAULT

    COPY_ON_WRITE_FAULT
      -> NEW_FRAME_ALLOCATION
      -> PAGE_COPY
      -> WRITER_MAPPING_UPDATE
  }

  PROCESS PERMISSION_REASONING {
    MEMORY_ACCESS
      -> REQUESTED_OPERATION

    REQUESTED_OPERATION
      -> PAGE_PERMISSION_CHECK

    PERMITTED_OPERATION
      -> CONTINUE_ACCESS

    NONPERMITTED_OPERATION
      -> PROTECTION_FAULT
  }

  PROCESS WORKING_SET_REASONING {
    PROCESS_MEMORY_REFERENCES
      -> RECENT_PAGE_SET

    RECENT_PAGE_SET
      -> WORKING_SET

    WORKING_SET + AVAILABLE_FRAMES
      -> MEMORY_PRESSURE_ANALYSIS

    INSUFFICIENT_FRAMES + HIGH_FAULT_RATE
      -> THRASHING_CANDIDATE
  }

  PROCESS PERFORMANCE_REASONING {
    ADDRESS_TRACE + MEMORY_CONFIGURATION
      -> VM_PROFILE

    VM_PROFILE
      -> TLB_HIT_RATE
      -> PAGE_FAULT_RATE
      -> PAGE_TABLE_WALK_COST
      -> SWAP_ACTIVITY
      -> WORKING_SET_SIZE
      -> MEMORY_PRESSURE

    VM_PROFILE
      -> BOTTLENECK_HYPOTHESIS
  }

  RULES {
    IF VIRTUAL_ADDRESS_IS_USED
    THEN DO_NOT_ASSERT_PHYSICAL_ADDRESS_WITHOUT_TRANSLATION_CONTEXT

    IF TLB_HIT_OCCURS
    THEN PRESERVE TLB_ENTRY_AND_ADDRESS_SPACE_CONTEXT

    IF PAGE_FAULT_OCCURS
    THEN DO_NOT_ASSUME_DISK_IO_FOR_ALL_PAGE_FAULTS

    IF PAGE_IS_DIRTY_AND_EVICTED
    THEN REQUIRE WRITEBACK_OR_PERSISTENCE_HANDLING_IF_BACKING_REQUIRES

    IF COPY_ON_WRITE_PAGE_IS_READ
    THEN DO_NOT_REQUIRE_PRIVATE_COPY

    IF COPY_ON_WRITE_PAGE_IS_WRITTEN
    THEN REQUIRE_PRIVATE_COPY_OR_EQUIVALENT_COW_RESOLUTION

    IF PAGE_ACCESS_IS_REQUESTED
    THEN CHECK_PERMISSION_BEFORE_ASSERTING_SUCCESSFUL_ACCESS

    IF SEMANTIC_IDENTIFIERS_DIFFER
    AND VIRTUAL_MEMORY_REFERENT_IS_SAME
    THEN APPLY SEMANTIC_EQUIVALENCE
  }

  CONFIDENCE {
    CONFIDENCE_SCORE =
      WEIGHT(
        ADDRESS_SPACE_CERTAINTY,
        PAGE_TABLE_OBSERVABILITY,
        TLB_TRACE_COMPLETENESS,
        FRAME_MAPPING_COMPLETENESS,
        FAULT_TRACE_QUALITY,
        SWAP_STATE_CERTAINTY,
        CONFIGURATION_CERTAINTY,
        PROVENANCE_COMPLETENESS
      )

    LEVELS {
      HIGH
      MODERATE
      LOW
      INSUFFICIENT
    }

    IF PAGE_TABLE_OR_TLB_STATE_IS_PARTIAL
    THEN REDUCE_TRANSLATION_INFERENCE_CONFIDENCE

    IF ADDRESS_SPACE_IDENTITY_IS_UNKNOWN
    THEN REDUCE_VIRTUAL_ADDRESS_INTERPRETATION_CONFIDENCE

    IF COMPLETE_MEMORY_TRACE_CONFIRMS_MAPPING
    THEN INCREASE CONFIDENCE_SCORE
  }

  SEMANTIC_EQUIVALENCE {
    EQUIVALENCE_KEY =
      NORMALISE(
        ENTITY_TYPE,
        PROCESS_OR_ADDRESS_SPACE_IDENTIFIER,
        VIRTUAL_PAGE_NUMBER,
        PAGE_SIZE,
        MAPPING_TYPE,
        OS_AND_KERNEL_CONTEXT
      )

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

    ELSE PRESERVE_DISTINCT_ENTITIES
  }

  REASONING_CONSTRAINTS {
    VIRTUAL_ADDRESS != PHYSICAL_ADDRESS
    VIRTUAL_PAGE != PHYSICAL_FRAME
    PAGE_TABLE_ENTRY != MEMORY_PAGE
    TLB != PAGE_TABLE
    TLB_MISS != PAGE_FAULT
    PAGE_FAULT != NECESSARILY_STORAGE_IO
    MINOR_PAGE_FAULT != MAJOR_PAGE_FAULT
    MEMORY_MAPPING != PHYSICAL_ALLOCATION_IN_ALL_CASES
    COPY_ON_WRITE != EAGER_COPY
    SHARED_MAPPING != PRIVATE_MAPPING
    PAGE_REPLACEMENT != PROCESS_TERMINATION
    HIGH_MEMORY_USAGE != THRASHING
    THRASHING_REQUIRES_FAULT_AND_WORKING_SET_CONTEXT
    ADDRESS_TRANSLATION_IS_ADDRESS_SPACE_DEPENDENT
    OS_KERNEL_AND_CONFIGURATION_AFFECT_VM_BEHAVIOUR
    PROVENANCE_MUST_BE_PRESERVED
    UNCERTAINTY_MUST_NOT_BE_DISCARDED
  }

  VALIDATION {
    CHECK_ENTITY_TYPES
    CHECK_RELATION_DOMAINS_AND_RANGES
    CHECK_ADDRESS_SPACE_IDENTITY
    CHECK_VIRTUAL_ADDRESS
    CHECK_PAGE_SIZE
    CHECK_PAGE_TABLE_RELATIONS
    CHECK_TLB_RELATIONS
    CHECK_PHYSICAL_FRAME_MAPPING
    CHECK_PAGE_FAULT_CLASSIFICATION
    CHECK_PAGE_REPLACEMENT
    CHECK_SWAP_RELATIONS
    CHECK_COPY_ON_WRITE
    CHECK_PERMISSIONS
    CHECK_WORKING_SET
    CHECK_MEMORY_PRESSURE
    CHECK_PERFORMANCE_CONTEXT
    CHECK_OS_AND_KERNEL_CONTEXT
    CHECK_CONFIGURATION
    CHECK_PROVENANCE
    CHECK_CONFIDENCE
    CHECK_SEMANTIC_CONSISTENCY
  }

  OUTPUTS {
    NORMALISED_VIRTUAL_MEMORY_ENTITIES
    ADDRESS_SPACE_RELATIONS
    VIRTUAL_TO_PHYSICAL_MAPPINGS
    PAGE_TABLE_RELATIONS
    TLB_RELATIONS
    PAGE_FAULT_RELATIONS
    PAGE_REPLACEMENT_RELATIONS
    SWAP_RELATIONS
    COPY_ON_WRITE_RELATIONS
    PERMISSION_RELATIONS
    WORKING_SET_RELATIONS
    MEMORY_PRESSURE_RELATIONS
    THRASHING_HYPOTHESES
    VM_PERFORMANCE_PROFILES
    CONFIDENCE_SCORES
    EVIDENCE_LINKS
    PROVENANCE_RECORDS
    EXPLANATION_PATHS
  }

  UPDATE_MODEL {
    ON MEMORY_MAPPING_EVENT {
      NORMALISE
      RESOLVE_ADDRESS_SPACE
      UPDATE_PAGE_TABLE_STATE
      UPDATE_TLB_STATE
      UPDATE_FRAME_MAPPING
      UPDATE_PAGE_STATE
      RECOMPUTE_DEPENDENT_INFERENCES
      UPDATE_CONFIDENCE
    }

    ON NEW_FAULT_SWAP_OR_PERFORMANCE_DATA {
      LINK_EVIDENCE
      UPDATE_FAULT_PROFILE
      UPDATE_SWAP_STATE
      UPDATE_WORKING_SET
      UPDATE_MEMORY_PRESSURE
      REASSESS_THRASHING_HYPOTHESES
      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_VIRTUAL_MEMORY
      BY_ADDRESS_SPACE
      BY_VIRTUAL_ADDRESS
      BY_PHYSICAL_ADDRESS
      BY_PAGE
      BY_FRAME
      BY_PAGE_TABLE
      BY_TLB
      BY_PAGE_FAULT
      BY_SWAP
      BY_REPLACEMENT_POLICY
      BY_WORKING_SET
      BY_MEMORY_PRESSURE
      BY_CONFIDENCE
    }

    REASON {
      APPLY_RELATIONSHIPS
      APPLY_RULES
      TRACE_ADDRESS_TRANSLATION
      TRACE_PAGE_FAULTS
      ANALYSE_DEMAND_PAGING
      ANALYSE_PAGE_REPLACEMENT
      ANALYSE_COPY_ON_WRITE
      ANALYSE_PERMISSIONS
      ANALYSE_WORKING_SETS
      ANALYSE_MEMORY_PRESSURE_AND_THRASHING
      ANALYSE_VM_PERFORMANCE
      CHECK_SEMANTIC_EQUIVALENCE
      PRESERVE_UNCERTAINTY
      TRACE_EVIDENCE
      TRACE_PROVENANCE
      GENERATE_EXPLANATION_PATH
    }

    RESPONSE_POLICY {
      DISTINGUISH_VIRTUAL_FROM_PHYSICAL_ADDRESS
      DISTINGUISH_TLB_MISS_FROM_PAGE_FAULT
      DISTINGUISH_MINOR_FROM_MAJOR_PAGE_FAULT
      PRESERVE_ADDRESS_SPACE_PAGE_SIZE_OS_KERNEL_AND_CONFIGURATION_CONTEXT
      DISTINGUISH_HIGH_MEMORY_USE_FROM_THRASHING
      RETURN_CONFIDENCE_WHEN_AVAILABLE
      RETURN_PROVENANCE_WHEN_AVAILABLE
      AVOID_UNSUPPORTED_VIRTUAL_MEMORY_INFERENCE
    }
  }

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

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