Skip to main content

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

FLOW SYSTEM_CALL_ONTOLOGY {

  META {
    DOMAIN = "Computing Ontologies"
    SUBDOMAIN = "Operating Systems"
    ONTOLOGY = "System Call Ontology"
    PURPOSE = "Formalise system calls as controlled interfaces between user-space programs and kernel services, including invocation, dispatch, arguments, privilege transitions, resource access, results and errors."
    LOCALE = "en-GB"
  }

  ENTITY_TYPES {
    SYSTEM_CALL
    SYSTEM_CALL_INTERFACE
    SYSTEM_CALL_NUMBER
    SYSTEM_CALL_TABLE
    SYSTEM_CALL_HANDLER
    KERNEL_SERVICE
    USER_SPACE
    KERNEL_SPACE
    USER_MODE
    KERNEL_MODE
    PROCESS
    THREAD
    PROGRAM
    APPLICATION
    KERNEL
    OPERATING_SYSTEM
    CPU
    REGISTER
    STACK
    ARGUMENT
    PARAMETER
    RETURN_VALUE
    ERROR_CODE
    ERRNO
    TRAP
    SOFTWARE_INTERRUPT
    SYSCALL_INSTRUCTION
    PRIVILEGE_TRANSITION
    EXECUTION_CONTEXT
    FILE_OPERATION
    PROCESS_OPERATION
    MEMORY_OPERATION
    DEVICE_OPERATION
    NETWORK_OPERATION
    IPC_OPERATION
    SECURITY_OPERATION
    FILE
    FILE_DESCRIPTOR
    PROCESS_IDENTIFIER
    MEMORY_ADDRESS
    BUFFER
    DEVICE
    SOCKET
    PIPE
    SIGNAL
    PERMISSION
    PRIVILEGE
    CREDENTIAL
    RESOURCE
    REQUEST
    RESPONSE
    BLOCKING_CALL
    NONBLOCKING_CALL
    SYNCHRONOUS_CALL
    ASYNCHRONOUS_OPERATION
    INTERRUPTIBLE_CALL
    RESTARTABLE_CALL
    STATE
    EVENT
    TRACE
    LATENCY
    ERROR
    FAILURE
    CONFIGURATION
    ABI
    OS_VERSION
    KERNEL_VERSION
    ARCHITECTURE
    EVIDENCE
    CONFIDENCE_SCORE
    PROVENANCE_RECORD
  }

  RELATIONSHIPS {
    IS_A
    INSTANCE_OF
    PART_OF
    INVOKED_BY
    INVOKES
    DISPATCHES_TO
    HANDLED_BY
    PROVIDES_ACCESS_TO
    REQUESTS
    RETURNS
    HAS_NUMBER
    HAS_ARGUMENT
    HAS_PARAMETER
    HAS_RETURN_VALUE
    HAS_ERROR_CODE
    USES_REGISTER
    USES_STACK
    ENTERS
    RETURNS_TO
    TRANSITIONS_TO
    READS
    WRITES
    OPENS
    CLOSES
    CREATES
    TERMINATES
    ALLOCATES
    DEALLOCATES
    MAPS
    SENDS
    RECEIVES
    CONTROLS
    BLOCKS
    WAKES
    RESTARTS
    CHECKS
    REQUIRES_PERMISSION
    REQUIRES_PRIVILEGE
    USES_CREDENTIAL
    HAS_LATENCY
    HAS_STATE
    HAS_CONFIGURATION
    HAS_ABI
    HAS_OS_VERSION
    HAS_KERNEL_VERSION
    DEPENDS_ON
    PRECEDES
    FOLLOWS
    DERIVED_FROM
    INFERRED_FROM
    HAS_EVIDENCE
    HAS_CONFIDENCE
    HAS_PROVENANCE
    SEMANTICALLY_EQUIVALENT_TO
  }

  INPUTS {
    SYSTEM_CALL_SPECIFICATIONS
    SYSTEM_CALL_TABLES
    SYSTEM_CALL_NUMBERS
    ABI_DEFINITIONS
    ARCHITECTURE_DATA
    PROCESS_AND_THREAD_DATA
    SYSTEM_CALL_TRACES
    REGISTER_TRACES
    ARGUMENT_DATA
    RETURN_VALUE_DATA
    ERROR_CODE_DATA
    FILE_DESCRIPTOR_DATA
    MEMORY_MAPS
    DEVICE_DATA
    NETWORK_DATA
    IPC_DATA
    CREDENTIAL_DATA
    PERMISSION_DATA
    PERFORMANCE_METRICS
    CONFIGURATION_DATA
    OS_VERSION_DATA
    KERNEL_VERSION_DATA
    ONTOLOGY_TERMS
  }

  NORMALISE {
    STANDARDISE_SYSTEM_CALL_IDENTIFIERS
    NORMALISE_SYSTEM_CALL_NAMES
    NORMALISE_SYSTEM_CALL_NUMBERS
    NORMALISE_ABI_NAMES
    NORMALISE_ARCHITECTURE_NAMES
    NORMALISE_ARGUMENT_TYPES
    NORMALISE_RETURN_VALUES
    NORMALISE_ERROR_CODES
    NORMALISE_PROCESS_AND_THREAD_IDENTIFIERS
    NORMALISE_FILE_DESCRIPTORS
    NORMALISE_MEMORY_ADDRESSES
    NORMALISE_OS_AND_KERNEL_VERSIONS
    RESOLVE_SYSTEM_CALL_IDENTITIES
    ALIGN_ONTOLOGY_TERMS
    REMOVE_DUPLICATES
    VALIDATE_METADATA
    PRESERVE_PROVENANCE
  }

  PROCESS SYSTEM_CALL_PIPELINE {
    USER_SPACE_REQUEST
      -> ARGUMENT_PREPARATION
      -> SYSTEM_CALL_IDENTIFIER_OR_NUMBER
      -> SYSCALL_TRAP_OR_SOFTWARE_INTERRUPT
      -> PRIVILEGE_TRANSITION
      -> KERNEL_ENTRY
      -> SYSTEM_CALL_DISPATCH
      -> HANDLER_EXECUTION
      -> RESULT_OR_ERROR
      -> USER_SPACE_RETURN
  }

  PROCESS INVOCATION_REASONING {
    PROCESS_OR_THREAD
      -> SYSTEM_CALL_REQUEST

    SYSTEM_CALL_REQUEST
      -> ABI_ARGUMENT_MAPPING

    ABI_ARGUMENT_MAPPING
      -> REGISTER_OR_STACK_ARGUMENTS

    SYSTEM_CALL_INSTRUCTION
      -> KERNEL_ENTRY

    KERNEL_ENTRY
      -> DISPATCH_CONTEXT
  }

  PROCESS DISPATCH_REASONING {
    SYSTEM_CALL_NUMBER
      -> SYSTEM_CALL_TABLE_LOOKUP

    SYSTEM_CALL_TABLE_LOOKUP
      -> SYSTEM_CALL_HANDLER

    SYSTEM_CALL_HANDLER
      -> KERNEL_SERVICE

    KERNEL_SERVICE
      -> OPERATION_RESULT
  }

  PROCESS FILE_SYSTEM_CALL_REASONING {
    FILE_SYSTEM_CALL
      -> FILE_DESCRIPTOR_OR_PATH_CONTEXT

    FILE_DESCRIPTOR_OR_PATH_CONTEXT
      -> PERMISSION_CHECK

    PERMISSION_CHECK
      -> FILESYSTEM_OPERATION

    FILESYSTEM_OPERATION
      -> RETURN_VALUE_OR_ERROR
  }

  PROCESS MEMORY_SYSTEM_CALL_REASONING {
    MEMORY_SYSTEM_CALL
      -> ADDRESS_SPACE_CONTEXT

    ADDRESS_SPACE_CONTEXT
      -> REQUESTED_MEMORY_OPERATION

    REQUESTED_MEMORY_OPERATION
      -> VALIDATION_AND_PERMISSION_CHECK

    VALID_OPERATION
      -> MEMORY_MANAGER_ACTION

    MEMORY_MANAGER_ACTION
      -> UPDATED_MAPPING_OR_RESULT
  }

  PROCESS PROCESS_SYSTEM_CALL_REASONING {
    PROCESS_SYSTEM_CALL
      -> PROCESS_OR_THREAD_CONTEXT

    PROCESS_OR_THREAD_CONTEXT
      -> CREATE_OR_EXECUTE_OR_WAIT_OR_TERMINATE_OPERATION

    OPERATION
      -> KERNEL_PROCESS_MANAGER

    KERNEL_PROCESS_MANAGER
      -> PROCESS_STATE_OR_RELATIONSHIP_UPDATE
  }

  PROCESS BLOCKING_REASONING {
    SYSTEM_CALL_HANDLER
      -> RESOURCE_AVAILABILITY_CHECK

    RESOURCE_UNAVAILABLE
      -> CALLER_BLOCK

    CALLER_BLOCK
      -> WAIT_QUEUE

    COMPLETION_EVENT
      -> WAKE_CALLER

    WAKE_CALLER
      -> CONTINUE_OR_RETURN
  }

  PROCESS ERROR_REASONING {
    SYSTEM_CALL_REQUEST
      -> ARGUMENT_AND_CONTEXT_VALIDATION

    INVALID_REQUEST
      -> ERROR_CODE

    KERNEL_SERVICE_FAILURE
      -> ERROR_CODE

    ERROR_CODE
      -> USER_SPACE_RETURN
  }

  PROCESS SECURITY_REASONING {
    CALLER_CREDENTIALS + REQUESTED_OPERATION
      -> ACCESS_CONTROL_CHECK

    ACCESS_CONTROL_CHECK
      -> PERMISSION_OR_PRIVILEGE_EVALUATION

    ALLOWED
      -> HANDLER_CONTINUES

    DENIED
      -> ERROR_RETURN
  }

  RULES {
    IF SYSTEM_CALL_IS_INVOKED
    THEN REQUIRE {
      CALLING_PROCESS_OR_THREAD
      SYSTEM_CALL_IDENTITY
      ABI_CONTEXT
      ARGUMENT_CONTEXT
    }

    IF SYSTEM_CALL_NUMBER_IS_USED
    THEN PRESERVE ARCHITECTURE_ABI_OS_AND_KERNEL_VERSION_CONTEXT

    IF USER_TO_KERNEL_TRANSITION_OCCURS
    THEN DISTINGUISH USER_SPACE_CALLER_FROM_KERNEL_HANDLER

    IF SYSTEM_CALL_BLOCKS
    THEN PRESERVE BLOCKING_RESOURCE_OR_EVENT

    IF SYSTEM_CALL_RETURNS_ERROR
    THEN PRESERVE ERROR_CODE_AND_FAILURE_CONTEXT

    IF POINTER_OR_BUFFER_ARGUMENT_IS_USED
    THEN PRESERVE CALLER_ADDRESS_SPACE_AND_VALIDATION_CONTEXT

    IF SAME_SYSTEM_CALL_NAME_EXISTS_ACROSS_SYSTEMS
    THEN DO_NOT_ASSUME_IDENTICAL_NUMBER_ARGUMENTS_OR_SEMANTICS

    IF SEMANTIC_IDENTIFIERS_DIFFER
    AND SYSTEM_CALL_REFERENT_IS_SAME
    THEN APPLY SEMANTIC_EQUIVALENCE
  }

  CONFIDENCE {
    CONFIDENCE_SCORE =
      WEIGHT(
        SYSTEM_CALL_IDENTITY_CERTAINTY,
        ABI_CERTAINTY,
        ARCHITECTURE_CERTAINTY,
        OS_AND_KERNEL_VERSION_CERTAINTY,
        ARGUMENT_TRACE_COMPLETENESS,
        RETURN_AND_ERROR_TRACE_COMPLETENESS,
        EXECUTION_TRACE_QUALITY,
        PROVENANCE_COMPLETENESS
      )

    LEVELS {
      HIGH
      MODERATE
      LOW
      INSUFFICIENT
    }

    IF ABI_OR_ARCHITECTURE_IS_UNKNOWN
    THEN REDUCE_INVOCATION_INFERENCE_CONFIDENCE

    IF KERNEL_VERSION_IS_UNKNOWN
    THEN REDUCE_HANDLER_SEMANTICS_CONFIDENCE

    IF COMPLETE_TRACE_CONFIRMS_CALL_AND_RETURN
    THEN INCREASE CONFIDENCE_SCORE
  }

  SEMANTIC_EQUIVALENCE {
    EQUIVALENCE_KEY =
      NORMALISE(
        ENTITY_TYPE,
        SYSTEM_CALL_NAME,
        SYSTEM_CALL_NUMBER,
        ABI,
        ARCHITECTURE,
        OS_VERSION,
        KERNEL_VERSION
      )

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

    ELSE PRESERVE_DISTINCT_ENTITIES
  }

  REASONING_CONSTRAINTS {
    SYSTEM_CALL != LIBRARY_FUNCTION
    SYSTEM_CALL != KERNEL_FUNCTION_IN_ALL_CONTEXTS
    SYSTEM_CALL_NAME != SYSTEM_CALL_NUMBER
    USER_SPACE != KERNEL_SPACE
    USER_MODE != KERNEL_MODE
    ARGUMENT_POINTER != KERNEL_POINTER_WITHOUT_VALIDATION_AND_MAPPING
    RETURN_VALUE != SUCCESS_WITHOUT_SEMANTIC_CONTEXT
    ERROR_CODE != ROOT_CAUSE
    BLOCKING_CALL != FAILED_CALL
    NONBLOCKING_CALL != ASYNCHRONOUS_OPERATION_IN_ALL_CASES
    SAME_CALL_NAME != SAME_ABI_OR_SEMANTICS_ACROSS_SYSTEMS
    SYSTEM_CALL_NUMBER_IS_ARCHITECTURE_AND_ABI_DEPENDENT
    OS_AND_KERNEL_VERSION_AFFECT_SYSTEM_CALL_BEHAVIOUR
    SECURITY_CONTEXT_AFFECTS_RESULT
    PROVENANCE_MUST_BE_PRESERVED
    UNCERTAINTY_MUST_NOT_BE_DISCARDED
  }

  VALIDATION {
    CHECK_ENTITY_TYPES
    CHECK_RELATION_DOMAINS_AND_RANGES
    CHECK_SYSTEM_CALL_IDENTITY
    CHECK_SYSTEM_CALL_NUMBER
    CHECK_ABI
    CHECK_ARCHITECTURE
    CHECK_ARGUMENT_TYPES
    CHECK_CALLER_CONTEXT
    CHECK_PRIVILEGE_TRANSITION
    CHECK_HANDLER_MAPPING
    CHECK_RETURN_VALUE
    CHECK_ERROR_CODE
    CHECK_BLOCKING_STATE
    CHECK_SECURITY_CONTEXT
    CHECK_OS_AND_KERNEL_VERSION
    CHECK_CONFIGURATION
    CHECK_TRACE_COMPLETENESS
    CHECK_PROVENANCE
    CHECK_CONFIDENCE
    CHECK_SEMANTIC_CONSISTENCY
  }

  OUTPUTS {
    NORMALISED_SYSTEM_CALL_ENTITIES
    SYSTEM_CALL_NUMBER_RELATIONS
    ABI_RELATIONS
    INVOCATION_RELATIONS
    PRIVILEGE_TRANSITION_RELATIONS
    DISPATCH_RELATIONS
    HANDLER_RELATIONS
    ARGUMENT_RELATIONS
    RESOURCE_ACCESS_RELATIONS
    BLOCKING_AND_WAKE_RELATIONS
    RETURN_VALUE_RELATIONS
    ERROR_CODE_RELATIONS
    SECURITY_RELATIONS
    SYSTEM_CALL_TRACES
    LATENCY_RELATIONS
    CONFIDENCE_SCORES
    EVIDENCE_LINKS
    PROVENANCE_RECORDS
    EXPLANATION_PATHS
  }

  UPDATE_MODEL {
    ON SYSTEM_CALL_EVENT {
      NORMALISE
      RESOLVE_SYSTEM_CALL_IDENTITY
      UPDATE_CALLER_CONTEXT
      UPDATE_ARGUMENT_RELATIONS
      UPDATE_DISPATCH_AND_HANDLER_RELATIONS
      UPDATE_BLOCKING_STATE
      UPDATE_RETURN_OR_ERROR_RELATIONS
      RECOMPUTE_DEPENDENT_INFERENCES
      UPDATE_CONFIDENCE
    }

    ON ABI_OS_OR_KERNEL_CHANGE {
      REMAP_SYSTEM_CALL_NUMBERS
      UPDATE_HANDLER_MAPPINGS
      UPDATE_ARGUMENT_AND_RETURN_SEMANTICS
      RECHECK_SEMANTIC_EQUIVALENCE
      UPDATE_CONFIDENCE
      PRESERVE_VERSION_HISTORY
    }

    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_SYSTEM_CALL
      BY_SYSTEM_CALL_NUMBER
      BY_ABI
      BY_ARCHITECTURE
      BY_PROCESS
      BY_THREAD
      BY_HANDLER
      BY_ARGUMENT
      BY_RETURN_VALUE
      BY_ERROR_CODE
      BY_RESOURCE
      BY_SECURITY_CONTEXT
      BY_CONFIDENCE
    }

    REASON {
      APPLY_RELATIONSHIPS
      APPLY_RULES
      TRACE_SYSTEM_CALL_PIPELINE
      TRACE_INVOCATION
      TRACE_DISPATCH
      ANALYSE_FILE_SYSTEM_CALLS
      ANALYSE_MEMORY_SYSTEM_CALLS
      ANALYSE_PROCESS_SYSTEM_CALLS
      ANALYSE_BLOCKING
      ANALYSE_ERRORS
      ANALYSE_SECURITY
      CHECK_SEMANTIC_EQUIVALENCE
      PRESERVE_UNCERTAINTY
      TRACE_EVIDENCE
      TRACE_PROVENANCE
      GENERATE_EXPLANATION_PATH
    }

    RESPONSE_POLICY {
      DISTINGUISH_SYSTEM_CALL_FROM_LIBRARY_FUNCTION
      DISTINGUISH_USER_FROM_KERNEL_EXECUTION
      PRESERVE_ABI_ARCHITECTURE_OS_AND_KERNEL_CONTEXT
      PRESERVE_ARGUMENT_ADDRESS_SPACE_AND_SECURITY_CONTEXT
      DISTINGUISH_ERROR_CODE_FROM_ROOT_CAUSE
      RETURN_CONFIDENCE_WHEN_AVAILABLE
      RETURN_PROVENANCE_WHEN_AVAILABLE
      AVOID_UNSUPPORTED_SYSTEM_CALL_INFERENCE
    }
  }

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

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