Find the answer to your Linux question:
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.
  1. #1
    Just Joined!
    Join Date
    Mar 2006
    Posts
    47

    Virtual Machine Screensaver


    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 these randomly calculated or are they actually displaying some sort of information like what the processor is up to?

  2. #2
    Just Joined!
    Join Date
    Feb 2007
    Posts
    2
    The only lead I found was in the source at http://www.ibiblio.org/pub/Linux/sci...m-0.0.1.tar.gz.
    It says:
    Code:
    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.

  3. #3
    Just Joined!
    Join Date
    Feb 2007
    Posts
    2
    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...

  4. #4
    Just Joined!
    Join Date
    Jun 2013
    Posts
    1
    Quote Originally Posted by qeny View Post
    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...
    I was curious about it too, so I decided to check the source code. Here's what I found out:
    • 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.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •