/ Resources / C++ Version /

RCOS.java Home PageDesignReferences

The following provides a summary of the C++ version of RCOS as of the end of 1995.

The files and classes used have been divided into a 13 sections. Of the 13 sections, ?? will probably not be used in the Java port of RCOS including

The concepts used in the remainder of the sections will be used but are liable to be heavily modified.

Main function and global definitions

Files

Classes

    none, just C++ main function

Kernel and messages

Files

  • debugknl.cc
    Debugging kernel normally not used in a normal version of RCOS
  • kernel.cc
    The kernel class with Exec as a private member
  • kernel.hh
  • message.hh
    Abstract class for all Device Drivers and all messages

Classes

message.hh kernel.hh

Exec

Files

  • exec.cc
    Class for PCB actions and process management (Fork, Dispatch)
  • exec.hh
    Associated header (includes PCB struct definition)

Classes

P-Code Interpreter

Files

Classes

    none, just defines method Exec::RunProc

Memory Management

Files

  • mmu.hh
    Header defining a general memory manager
  • mmup.cc
    Implmentation of a simple fixed partition memory manager

Classes

Inter-process communication

Files

Classes

ipc.cc
    no new classes, implement methods for sem4 and Exec (semaphore related methods)
mshare.cc
    no new classes, implement methods for QmMgr and Exec (shm related methods)

File system and disk drives

Files

Classes

cpmfs.hh fsiface.hh

Terminal and line driver

Files

Classes

tty.hh ttyld.hh

Operator's console

Files

Classes

    no new classes, defines Exec::RunCon and other functions used to implement the console process

Animation and display

Files

Classes

anim.hh cpu-disp.hh dev-disp.hh dsk-disp.hh

Preferences and application framework

Files

Classes

app.hh prefs.hh

Platform abstraction layer

Files

Classes

    not done, as won't be used in RCOS.java

Support classes, graphics, data structures

Files

Classes

    not done, as won't be used in RCOS.java