|
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.
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:
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
|