Results 1 to 4 of 4
One Mepis Live there is a screensaver called 'virtual machine' that appears to display a load of random coloured letters and numbers across the screen, kind of matrix stylee. Are ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
- 04-17-2006 #1
- Join Date
- Mar 2006
Virtual Machine Screensaver
- 02-23-2007 #2
- Join Date
- Feb 2007
The only lead I found was in the source at http://www.ibiblio.org/pub/Linux/sci...m-0.0.1.tar.gz.
INTRODUCTION ------------ This is an implementation of a virtual machine, which was used to make a simulation of construction of automata under noisy environmental conditions. These automata are sequences of instructions in the mememory, and new threads with random instruction pointer are put in the list.mory of the virtual machine, which can be executed by threads. BRIEF DESCRIPTION OF THE VM --------------------------- Each thread has a stack and an instruction pointer. Overflow or underflow of the stack causes a thread to terminate. Threads are put in a list. During each machine cycle, the threads from the list are subsequently executed. The threads operate in a common machine memory. There are the following instructions in the vm: S -- end a thread. P n -- push n onto a thread's stack. C -- take from a thread's stack offset of the source area, offset of th target area, and length of these areas, and copy the source area to the target area. X -- create a new thread with an empty stack, and take from the current thread's stack the offset of the new thread instruction pointer. If, after a cycle of the machine, the number of threads is larger than a given amount, random threads are terminated until the number of threads has the maximum value. The machine's common memory is initialized with the `S' instruction in each of its cells. Before each machine cycle, a random `noise' is added to the common memory, and new threads with random instruction pointer are put in the list. BRIEF DESCRIPTION OF THE SIMULATION ----------------------------------- The `noise' added to the memory, and the execution of threads causes constructions of various automata. Because construction of a new automata by self--replication of another automata can be of a higher probability that its construction i. e. from the environment noise, there can be stated a thesis, that under appriopriate conditions, it is of a highest probability that automata that occur in a large amount, have the feature of self-replication. The self-replication automata, in an environment with limited resources -- like common memory or a maximum number of threads -- can fall under the process of selection. In the selection, there can be distinuished phenomena like: 1. Automata alteration. 2. Gluing of automata from other automata pieces. 3. Specialization of automata parts. As an example, gluing of self--replication automata that make their copies relatively near to themselves, can result in automata that consist of several similar parts. On the other hand, diverse environment conditions can cause specialization of these parts.
- 02-23-2007 #3
- Join Date
- Feb 2007
Damn, I'd really really like it if anybody could explain this thing better.
What do the numbers mean?
What do the cells represent, memory, or instructions or threads or what?
How is the content of the memory related to the threads?
And what do the threads and memory have to do with automata?
I notice patterns like "C504C504C504C504C504C504C504C504" appearing, but how is this part of an automata?
There's a file Documentation.eps in the source that is supposed to explain it, but it uses really confusing English...
- 06-06-2013 #4
- Join Date
- Jun 2013
- The screensaver uses an automata with random parameters to generate virtual processes and dumps the common memory on the screen.
- The random parameters are generated by a modified version of Berkeley's random.c
- Each process has the attributes age, position and information about the stack with random initialization, except for age, which is initialized to 0.
- The thread pool has a random list of process (max 1000) and a random area of memory for each process (max 10000).
- When each process is executed, it modifies the memory at a random position according to each instruction in its area of memory.
- The push instruction writes a random number from 0 to 11, or B in hex, subtracted by another random number from 0 to 11. If the result is positive, the background is green, blue if negative.