A computer-implemented method for interaction among components and tasks of an operating system, OS, via an interface bus, comprising: a) loading components into a memory and registering said components with the interface bus, wherein, for each component, said registration comprises: - storing a component record comprising information about a generation of the component in the form of an Unlimited Globally Unique Identifier, UGUID, comprising a preamble determining the space allocated to a data length value, a data length value and data in the form of unique identifier generated in accordance with standard RFC4122, and a pointer to a component factory of the component in the interface bus; - creating a system interface instance of the interface bus having a generation corresponding to the generation of the respective component, wherein a generation corresponds to a microkernel generation, and sending an address of the system interface instance to the respective loaded component as its dedicated interface for querying respective interfaces of the interface bus and other registered components; b) providing client-server interaction between a client component or a task and another component using the address of the respective system interface instance, wherein the client-server interaction comprises the client component or the task querying the interface of the interface bus, querying, upon receiving the queried interface of the interface bus, the interface of said another component from interface bus, and receiving a pointer to the interface of said another component from the interface bus, wherein the interface bus first calls the factory class of said another component to create an instance of the component, before returning a pointer to interface of the newly created instance of the component to the client component or task; c) deregistering a registered component or task in the interface bus via a task by deleting the instance of system interface and record for the registered component or task; and d) applying marshalling for interaction between components and tasks located in different address spaces. a) loading components into a memory and registering said components with the interface bus, wherein, for each component, said registration comprises: - storing a component record comprising information about a generation of the component in the form of an Unlimited Globally Unique Identifier, UGUID, comprising a preamble determining the space allocated to a data length value, a data length value and data in the form of unique identifier generated in accordance with standard RFC4122, and a pointer to a component factory of the component in the interface bus; - creating a system interface instance of the interface bus having a generation corresponding to the generation of the respective component, wherein a generation corresponds to a microkernel generation, and sending an address of the system interface instance to the respective loaded component as its dedicated interface for querying respective interfaces of the interface bus and other registered components; - storing a component record comprising information about a generation of the component in the form of an Unlimited Globally Unique Identifier, UGUID, comprising a preamble determining the space allocated to a data length value, a data length value and data in the form of unique identifier generated in accordance with standard RFC4122, and a pointer to a component factory of the component in the interface bus; - creating a system interface instance of the interface bus having a generation corresponding to the generation of the respective component, wherein a generation corresponds to a microkernel generation, and sending an address of the system interface instance to the respective loaded component as its dedicated interface for querying respective interfaces of the interface bus and other registered components; b) providing client-server interaction between a client component or a task and another component using the address of the respective system interface instance, wherein the client-server interaction comprises the client component or the task querying the interface of the interface bus, querying, upon receiving the queried interface of the interface bus, the interface of said another component from interface bus, and receiving a pointer to the interface of said another component from the interface bus, wherein the interface bus first calls the factory class of said another component to create an instance of the component, before returning a pointer to interface of the newly created instance of the component to the client component or task; c) deregistering a registered component or task in the interface bus via a task by deleting the instance of system interface and record for the registered component or task; and d) applying marshalling for interaction between components and tasks located in different address spaces.