Operating System Simulator-2
>>home >>things >>pictures >>contact

OSS-2
OSS2 is
AVALIABLE (0.3.26)

OSS-2 is the next generation of Operating System Simulators. OSS-2 incorporates a Un*x like interface, a brand new operating system, new instruction set, multiprocessing, and hardware abstraction. You can see the precursor to OSS-2 here.


Contents


Cluster Information (not implemented)

I have been putting a lot of time and thought into OSS-2 and I have been recently working on the cluster architecture. I have already decided to make it based on the Windows DDE technology. A few ideas I had for the logical origination were:

  • 3 Cluster Systems Modules (CSM):
    The CSMs would each have a processor, memory, hard disk space, a subset of the OS for memory and hard disk management, and a DDE connection to the CC (by the bus or whatever else topology)
  • 1 Cluster Controller (CC):
    The CC would maintain the OS, allocate tasks to the CSMs, globally manage the FS, startup the system, and have its own memory.
  • All these parts arranged in either a Bus or Star topology:
    Right now I am looking at the Bus topology more then the star because the Star could have a central point of failure.

For the design of the packet I have deiced to give each device including the Bus its own 4 byte Unique Module Identification Code (UMIC). Each packet is 50 bytes long: 4 bytes of destination (UMIC), 4 bytes of source (UMIC), 40 bytes of data, and 2 bytes for end of packet marker. The routing in the bus is designed partly on wormhole routing where the packet is immediately routed to the destination port when the first bytes begin to come in. If the destination port is busy, then the bytes fall into a FIFO buffer.


Instruction Set Information

I've given the instruction set a name: CONL - The Combination of Normal Languages. It is a basic mix of C and Visual Basic. It's very easy to understand and runs at a tolerable speed. With it you can create program, driver, and background tasks. Soon you will also be able to create libraries.

In CONL libraries are the basic and only way to perform tasks. There are 5 libraries available: system, file, drivers, net, ucl. Soon there will be the ability to add new libraries. Functionality that is available in normal languages such as printf in C is made available through a library. This was the system is extensible and less prone to error. Whenever I have the time and patience, I will also implement the net library (which will be a PAIN in Visual Basic).


File System Information

I have been doing research on the exotic ways to implement the file system. I have come up with the following ideas:

  • Binary Tree

Well, this is what I have finally ended up implementing. It's not a true binary tree, but a hybrid, combining the best of a tree layout with the speed of a binary tree. The user sees the hierarchy, but the operating system handles the data by multiple arrays. It is very fast.


Memory Management Information

Tasks are scheduled on a priority/length to completion basis/sequential basis. At the beginning of a task cycle the length of completion is calculated for all tasks, then arranged by previous priority, put into a separate table, then executed sequentially in the order determined.


Interface Description Information

The Interface is actually defined by how the shell (/sys/sh.exe) decides to portray it. I have kept the commands as similar to Un*x as I could to make it easier to adapt to.


How to Download

OSS-2 is available. You may download:

Currently, the version is 0.3.26 (New as of 8.23.97), which includes the semi-completed documentation. OSS-2 will be made in VB5 32 bit editions, which requires you to get MSVBVM50.DLL and OC25.DLL. I high recommend getting these files not only for OSS and OSS-2, but generally, since all VB programs need them. Get the entire runtime set from here or just VB40032.DLL from here

(c) aditya p. bansod, 200{0, 1}.
View Page Source? all rights reserved, and stuff.