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
Download Code
Copy to Clipboard