System Components

Top  Previous  Next

Taiko is a compound system. It consists of the following components:

 

tide_syscomponents_0

 

TIDE is an acronym for Tibbo Integrated Development Environment. This is the PC program in which you will write your applications and compile them, and from which you will upload them to your target and debug them.

The compiler is a utility program, used by TIDE. The compiler processes your project files and creates an executable binary file (with a .tpc suffix, for Tibbo PCode).

The target is a separate hardware device, on which your program actually runs. When debugging code, it is connected to your computer running TIDE (see the link above) and TIDE can monitor and control it. This is called cross-debugging.

As covered under Our Language Philosophy, Tibbo Basic is capable of running on various hardware devices. Each type of hardware device on which Tibbo Basic runs is called a platform.

And now, the anatomy of the target:

 

tide_syscomponents_1

The target runs an operating system called TiOS (Tibbo Operating System).

TiOS runs two processes. One is the Master Process. This is the process which is in charge of communications (including communications with TIDE) and of generating events. The second process, which is under the control of the Master Process, is called the VM (Virtual Machine).

The VM is what actually executes your application. In essence, the VM is a processor implemented in firmware, which executes the compiled form of your application. The instructions it understands are called P-Code, which is short for pseudo-code. This is what the compiler produces. It is called pseudo-code because it is not native binary code which the hardware processor can understand directly; instead, it is interpreted by the VM.

Since the VM is under the complete control of the Master Process, the actual hardware processor will not crash because of an error in your Tibbo Basic application. Your application may operate incorrectly, but you still will be able to debug it. The Master Process can stop or restart the Virtual Machine at will, and can exchange debug information with TIDE, such as report current execution state, variable values, etc.

Simply put, you can think of the VM as a sort of a 'sandbox' within the processor. Your application can play freely, without the possibility of crashing or stalling TiOS due to some error.

The queue is used to 'feed' your program with events which it should handle. The Master Process monitors the various interfaces of the platform and generates events, putting them into the queue. The Virtual Machine extracts these events from the other side of the queue and feeds your program with them. Various parts of your program execute in response to events.