Skip to main content

Operating 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 — OPERATING SYSTEM ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/operating-systems/operating-system-ontology.html

FLOW OPERATING_SYSTEM_ONTOLOGY {

  META {
    DOMAIN = "Computing Ontologies"
    SUBDOMAIN = "Operating Systems"
    ONTOLOGY = "Operating System Ontology"
    PURPOSE = "Formalise operating-system entities, kernel services, processes, threads, scheduling, memory, filesystems, devices, communication, security and runtime state."
    LOCALE = "en-GB"
  }

  ENTITY_TYPES {
    OPERATING_SYSTEM
    KERNEL
    USER_SPACE
    KERNEL_SPACE
    PROCESS
    THREAD
    TASK
    PROGRAM
    EXECUTABLE
    PROCESS_IDENTIFIER
    THREAD_IDENTIFIER
    SYSTEM_CALL
    INTERRUPT
    EXCEPTION
    SCHEDULER
    SCHEDULING_POLICY
    PROCESS_STATE
    READY_STATE
    RUNNING_STATE
    BLOCKED_STATE
    SUSPENDED_STATE
    TERMINATED_STATE
    CONTEXT
    CONTEXT_SWITCH
    CPU
    CORE
    RESOURCE
    MEMORY
    PHYSICAL_MEMORY
    VIRTUAL_MEMORY
    ADDRESS_SPACE
    VIRTUAL_ADDRESS
    PHYSICAL_ADDRESS
    PAGE
    FRAME
    PAGE_TABLE
    TLB
    HEAP
    STACK
    FILE
    DIRECTORY
    FILESYSTEM
    FILE_DESCRIPTOR
    INODE
    STORAGE_DEVICE
    DEVICE
    DEVICE_DRIVER
    IO_REQUEST
    IO_OPERATION
    BUFFER
    CACHE
    PIPE
    SOCKET
    IPC_CHANNEL
    SHARED_MEMORY
    MESSAGE_QUEUE
    SIGNAL
    LOCK
    MUTEX
    SEMAPHORE
    CONDITION_VARIABLE
    ATOMIC_OPERATION
    DEADLOCK
    RACE_CONDITION
    USER
    GROUP
    CREDENTIAL
    PERMISSION
    PRIVILEGE
    ACCESS_CONTROL
    SECURITY_POLICY
    SERVICE
    DAEMON
    SYSTEM_PROCESS
    BOOT_LOADER
    BOOT_PROCESS
    CONFIGURATION
    LOG
    EVENT
    ERROR
    FAILURE
    VERSION
    KERNEL_VERSION
    EVIDENCE
    CONFIDENCE_SCORE
    PROVENANCE_RECORD
  }

  RELATIONSHIPS {
    IS_A
    INSTANCE_OF
    PART_OF
    CONTAINS
    MANAGES
    CREATES
    TERMINATES
    EXECUTES
    SCHEDULES
    BLOCKS
    WAKES
    SUSPENDS
    RESUMES
    SWITCHES_TO
    ALLOCATES
    DEALLOCATES
    MAPS_TO
    READS
    WRITES
    OPENS
    CLOSES
    MOUNTS
    UNMOUNTS
    SENDS
    RECEIVES
    COMMUNICATES_WITH
    SYNCHRONISES_WITH
    LOCKS
    UNLOCKS
    WAITS_FOR
    SIGNALS
    CONTROLS
    DRIVES
    AUTHENTICATES
    AUTHORISES
    PERMITS
    DENIES
    HAS_CREDENTIAL
    HAS_PERMISSION
    HAS_PRIVILEGE
    HAS_STATE
    TRANSITIONS_TO
    HAS_RESOURCE
    HAS_ADDRESS_SPACE
    HAS_FILE_DESCRIPTOR
    HAS_DRIVER
    HAS_CONFIGURATION
    HAS_VERSION
    HAS_KERNEL_VERSION
    FAILS_WITH
    DEPENDS_ON
    PRECEDES
    FOLLOWS
    DERIVED_FROM
    INFERRED_FROM
    HAS_EVIDENCE
    HAS_CONFIDENCE
    HAS_PROVENANCE
    SEMANTICALLY_EQUIVALENT_TO
  }

  INPUTS {
    OS_SPECIFICATIONS
    KERNEL_DATA
    PROCESS_TABLES
    THREAD_TABLES
    SCHEDULER_TRACES
    MEMORY_MAPS
    PAGE_TABLE_DATA
    FILESYSTEM_METADATA
    FILE_DESCRIPTOR_DATA
    DEVICE_DATA
    DRIVER_DATA
    IO_TRACES
    IPC_TRACES
    SYNCHRONISATION_TRACES
    USER_GROUP_AND_CREDENTIAL_DATA
    PERMISSION_DATA
    SECURITY_POLICIES
    SYSTEM_LOGS
    BOOT_LOGS
    CONFIGURATION_DATA
    OS_VERSION_DATA
    KERNEL_VERSION_DATA
    ERROR_RECORDS
    ONTOLOGY_TERMS
  }

  NORMALISE {
    STANDARDISE_OS_IDENTIFIERS
    NORMALISE_PROCESS_IDENTIFIERS
    NORMALISE_THREAD_IDENTIFIERS
    NORMALISE_PROCESS_STATES
    NORMALISE_MEMORY_UNITS
    NORMALISE_ADDRESS_FORMATS
    NORMALISE_FILE_PATHS
    NORMALISE_FILESYSTEM_IDENTIFIERS
    NORMALISE_DEVICE_IDENTIFIERS
    NORMALISE_USER_AND_GROUP_IDENTITIES
    NORMALISE_PERMISSION_MODELS
    NORMALISE_EVENT_TYPES
    NORMALISE_OS_VERSIONS
    NORMALISE_KERNEL_VERSIONS
    RESOLVE_PROCESS_THREAD_AND_RESOURCE_IDENTITIES
    ALIGN_ONTOLOGY_TERMS
    REMOVE_DUPLICATES
    VALIDATE_METADATA
    PRESERVE_PROVENANCE
  }

  PROCESS OPERATING_SYSTEM_PIPELINE {
    SYSTEM_STATE
      -> OS_AND_KERNEL_IDENTIFICATION
      -> PROCESS_AND_THREAD_RESOLUTION
      -> SCHEDULING_STATE_MAPPING
      -> MEMORY_MAPPING
      -> FILESYSTEM_MAPPING
      -> DEVICE_AND_IO_MAPPING
      -> IPC_AND_SYNCHRONISATION_MAPPING
      -> SECURITY_CONTEXT_MAPPING
      -> EVENT_AND_ERROR_MAPPING
      -> VALIDATION
      -> OUTPUT
  }

  PROCESS PROCESS_LIFECYCLE {
    EXECUTABLE
      -> PROCESS_CREATION

    PROCESS_CREATION
      -> READY_STATE

    READY_STATE
      -> SCHEDULING

    SCHEDULING
      -> RUNNING_STATE

    RUNNING_STATE
      -> PREEMPT_OR_BLOCK_OR_EXIT

    BLOCK
      -> BLOCKED_STATE

    WAKE_EVENT
      -> READY_STATE

    EXIT
      -> TERMINATED_STATE
  }

  PROCESS THREAD_SCHEDULING {
    RUNNABLE_THREADS
      -> SCHEDULING_POLICY

    SCHEDULING_POLICY
      -> THREAD_SELECTION

    THREAD_SELECTION
      -> CPU_OR_CORE_ASSIGNMENT

    CPU_OR_CORE_ASSIGNMENT
      -> EXECUTION

    PREEMPTION_OR_BLOCK
      -> CONTEXT_SWITCH
  }

  PROCESS VIRTUAL_MEMORY_REASONING {
    VIRTUAL_ADDRESS
      -> TLB_LOOKUP

    TLB_MISS
      -> PAGE_TABLE_LOOKUP

    PAGE_TABLE_LOOKUP
      -> PHYSICAL_FRAME
      OR -> PAGE_FAULT

    PAGE_FAULT
      -> PAGE_RESOLUTION

    PAGE_RESOLUTION
      -> MAPPING_UPDATE
      -> RESUME_ACCESS
  }

  PROCESS FILESYSTEM_REASONING {
    FILE_PATH
      -> DIRECTORY_TRAVERSAL

    DIRECTORY_TRAVERSAL
      -> FILESYSTEM_OBJECT

    FILESYSTEM_OBJECT
      -> ACCESS_CHECK

    ACCESS_CHECK
      -> FILE_OPERATION

    FILE_OPERATION
      -> STORAGE_IO_IF_REQUIRED
  }

  PROCESS DEVICE_IO_REASONING {
    PROCESS
      -> IO_SYSTEM_CALL

    IO_SYSTEM_CALL
      -> KERNEL_IO_SUBSYSTEM

    KERNEL_IO_SUBSYSTEM
      -> DEVICE_DRIVER

    DEVICE_DRIVER
      -> DEVICE

    DEVICE_COMPLETION
      -> INTERRUPT_OR_COMPLETION_EVENT

    COMPLETION_EVENT
      -> PROCESS_OR_THREAD_WAKEUP
  }

  PROCESS IPC_REASONING {
    PROCESS_A + PROCESS_B
      -> IPC_MECHANISM

    IPC_MECHANISM
      -> PIPE_OR_SOCKET_OR_SHARED_MEMORY_OR_MESSAGE_QUEUE

    IPC_OPERATION
      -> DATA_TRANSFER

    DATA_TRANSFER
      -> RECEIVER_STATE_UPDATE
  }

  PROCESS SYNCHRONISATION_REASONING {
    CONCURRENT_TASKS + SHARED_RESOURCE
      -> SYNCHRONISATION_REQUIREMENT

    SYNCHRONISATION_REQUIREMENT
      -> LOCK_OR_SEMAPHORE_OR_ATOMIC_OR_CONDITION_VARIABLE

    SYNCHRONISATION_EVENT
      -> ORDERING_CONSTRAINT

    ORDERING_CONSTRAINT
      -> SAFE_ACCESS_OR_WAIT
  }

  PROCESS SECURITY_REASONING {
    SUBJECT + RESOURCE + REQUESTED_ACTION
      -> CREDENTIAL_CONTEXT

    CREDENTIAL_CONTEXT
      -> ACCESS_CONTROL_POLICY

    ACCESS_CONTROL_POLICY
      -> PERMISSION_AND_PRIVILEGE_CHECK

    PERMISSION_AND_PRIVILEGE_CHECK
      -> ALLOW_OR_DENY
  }

  PROCESS DEADLOCK_REASONING {
    TASKS + RESOURCE_WAITS
      -> WAIT_FOR_GRAPH

    WAIT_FOR_GRAPH
      -> CYCLE_DETECTION

    CYCLE
      -> DEADLOCK_CANDIDATE

    DEADLOCK_CANDIDATE
      -> RESOURCE_AND_RUNTIME_STATE_VALIDATION
  }

  RULES {
    IF PROCESS_EXECUTES
    THEN REQUIRE {
      PROCESS_IDENTITY
      ADDRESS_SPACE
      EXECUTION_CONTEXT
      RESOURCE_CONTEXT
    }

    IF THREAD_IS_RUNNING
    THEN LINK THREAD TO CPU_OR_CORE_AND_TIME_CONTEXT

    IF VIRTUAL_ADDRESS_IS_USED
    THEN DO_NOT_ASSERT_PHYSICAL_ADDRESS_WITHOUT_MAPPING

    IF FILE_ACCESS_IS_REQUESTED
    THEN REQUIRE SUBJECT_PERMISSION_FILESYSTEM_AND_RESOURCE_CONTEXT

    IF TASKS_ACCESS_SHARED_MUTABLE_STATE
    THEN CHECK_SYNCHRONISATION_AND_ORDERING

    IF WAIT_FOR_GRAPH_HAS_CYCLE
    THEN DO_NOT_ASSERT_DEADLOCK_WITHOUT_RUNTIME_RESOURCE_VALIDATION

    IF SYSTEM_CALL_IS_INVOKED
    THEN DISTINGUISH_USER_SPACE_REQUEST_FROM_KERNEL_EXECUTION

    IF SEMANTIC_IDENTIFIERS_DIFFER
    AND OPERATING_SYSTEM_REFERENT_IS_SAME
    THEN APPLY SEMANTIC_EQUIVALENCE
  }

  CONFIDENCE {
    CONFIDENCE_SCORE =
      WEIGHT(
        OS_VERSION_CERTAINTY,
        KERNEL_VERSION_CERTAINTY,
        PROCESS_STATE_OBSERVABILITY,
        SCHEDULER_TRACE_COMPLETENESS,
        MEMORY_MAP_COMPLETENESS,
        FILESYSTEM_METADATA_QUALITY,
        SECURITY_CONTEXT_COMPLETENESS,
        PROVENANCE_COMPLETENESS
      )

    LEVELS {
      HIGH
      MODERATE
      LOW
      INSUFFICIENT
    }

    IF RUNTIME_STATE_IS_PARTIAL
    THEN REDUCE_RUNTIME_INFERENCE_CONFIDENCE

    IF SECURITY_CONTEXT_IS_INCOMPLETE
    THEN REDUCE_ACCESS_CONTROL_INFERENCE_CONFIDENCE

    IF REPRODUCIBLE_SYSTEM_TRACE_CONFIRMS_BEHAVIOUR
    THEN INCREASE CONFIDENCE_SCORE
  }

  SEMANTIC_EQUIVALENCE {
    EQUIVALENCE_KEY =
      NORMALISE(
        ENTITY_TYPE,
        CANONICAL_IDENTIFIER,
        OS_FAMILY,
        OS_VERSION,
        KERNEL_VERSION,
        CONFIGURATION
      )

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

    ELSE PRESERVE_DISTINCT_ENTITIES
  }

  REASONING_CONSTRAINTS {
    PROGRAM != PROCESS
    PROCESS != THREAD
    USER_SPACE != KERNEL_SPACE
    VIRTUAL_ADDRESS != PHYSICAL_ADDRESS
    FILE != FILE_DESCRIPTOR
    FILE_PATH != FILESYSTEM_OBJECT
    DEVICE != DEVICE_DRIVER
    SYSTEM_CALL != DIRECT_HARDWARE_OPERATION
    CONCURRENCY != PARALLELISM
    RESOURCE_CONTENTION != DEADLOCK
    AUTHENTICATION != AUTHORISATION
    PERMISSION != PRIVILEGE
    OS_VERSION != KERNEL_VERSION
    RUNTIME_STATE_MAY_CHANGE_RAPIDLY
    CONFIGURATION_AFFECTS_OS_BEHAVIOUR
    PROVENANCE_MUST_BE_PRESERVED
    UNCERTAINTY_MUST_NOT_BE_DISCARDED
  }

  VALIDATION {
    CHECK_ENTITY_TYPES
    CHECK_RELATION_DOMAINS_AND_RANGES
    CHECK_OS_IDENTIFIER
    CHECK_OS_VERSION
    CHECK_KERNEL_VERSION
    CHECK_PROCESS_IDENTITIES
    CHECK_THREAD_IDENTITIES
    CHECK_PROCESS_STATES
    CHECK_SCHEDULING_RELATIONS
    CHECK_MEMORY_MAPPINGS
    CHECK_FILESYSTEM_RELATIONS
    CHECK_DEVICE_AND_DRIVER_RELATIONS
    CHECK_IO_RELATIONS
    CHECK_IPC_RELATIONS
    CHECK_SYNCHRONISATION
    CHECK_SECURITY_CONTEXT
    CHECK_DEADLOCK_RELATIONS
    CHECK_CONFIGURATION
    CHECK_LOGS_AND_EVENTS
    CHECK_PROVENANCE
    CHECK_CONFIDENCE
    CHECK_SEMANTIC_CONSISTENCY
  }

  OUTPUTS {
    NORMALISED_OPERATING_SYSTEM_ENTITIES
    KERNEL_RELATIONS
    PROCESS_AND_THREAD_RELATIONS
    PROCESS_STATE_TRANSITIONS
    SCHEDULING_RELATIONS
    MEMORY_MAPPING_RELATIONS
    FILESYSTEM_RELATIONS
    DEVICE_AND_DRIVER_RELATIONS
    IO_RELATIONS
    IPC_RELATIONS
    SYNCHRONISATION_RELATIONS
    SECURITY_AND_ACCESS_RELATIONS
    DEADLOCK_HYPOTHESES
    SYSTEM_EVENT_RELATIONS
    ERROR_AND_FAILURE_RELATIONS
    CONFIDENCE_SCORES
    EVIDENCE_LINKS
    PROVENANCE_RECORDS
    EXPLANATION_PATHS
  }

  UPDATE_MODEL {
    ON OS_KERNEL_OR_CONFIGURATION_CHANGE {
      NORMALISE
      ENTITY_RESOLUTION
      UPDATE_PROCESS_MODEL
      UPDATE_SCHEDULER_MODEL
      UPDATE_MEMORY_MODEL
      UPDATE_FILESYSTEM_MODEL
      UPDATE_DEVICE_AND_DRIVER_MODEL
      UPDATE_SECURITY_CONTEXT
      RECOMPUTE_AFFECTED_RELATIONS
      UPDATE_CONFIDENCE
      PRESERVE_VERSION_HISTORY
    }

    ON NEW_RUNTIME_OR_LOG_DATA {
      LINK_EVIDENCE
      UPDATE_PROCESS_AND_THREAD_STATE
      UPDATE_MEMORY_STATE
      UPDATE_IO_AND_IPC_STATE
      UPDATE_SECURITY_EVENTS
      REASSESS_DEADLOCK_AND_FAILURE_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_OPERATING_SYSTEM
      BY_KERNEL
      BY_PROCESS
      BY_THREAD
      BY_SCHEDULER
      BY_MEMORY
      BY_FILE
      BY_FILESYSTEM
      BY_DEVICE
      BY_DRIVER
      BY_IPC
      BY_SECURITY_CONTEXT
      BY_EVENT
      BY_ERROR
      BY_CONFIDENCE
    }

    REASON {
      APPLY_RELATIONSHIPS
      APPLY_RULES
      TRACE_PROCESS_LIFECYCLE
      TRACE_THREAD_SCHEDULING
      TRACE_VIRTUAL_MEMORY
      TRACE_FILESYSTEM_ACCESS
      TRACE_DEVICE_IO
      TRACE_IPC
      ANALYSE_SYNCHRONISATION
      ANALYSE_SECURITY_ACCESS
      ANALYSE_DEADLOCKS
      CHECK_SEMANTIC_EQUIVALENCE
      PRESERVE_UNCERTAINTY
      TRACE_EVIDENCE
      TRACE_PROVENANCE
      GENERATE_EXPLANATION_PATH
    }

    RESPONSE_POLICY {
      DISTINGUISH_PROGRAM_PROCESS_AND_THREAD
      DISTINGUISH_USER_SPACE_FROM_KERNEL_SPACE
      PRESERVE_OS_KERNEL_AND_CONFIGURATION_CONTEXT
      PRESERVE_RUNTIME_STATE_CONTEXT
      DISTINGUISH_AUTHENTICATION_FROM_AUTHORISATION
      DISTINGUISH_CONTENTION_FROM_DEADLOCK
      RETURN_CONFIDENCE_WHEN_AVAILABLE
      RETURN_PROVENANCE_WHEN_AVAILABLE
      AVOID_UNSUPPORTED_OPERATING_SYSTEM_INFERENCE
    }
  }

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

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