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
- support classes, graphics, data structures
- platform abstraction layer
- preferences and application framework
- animation and display
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
|