Specifications

File: /home/steve/Desktop/readme.txt Page 1 of 4
MCS-DR Operating Software
Version 0.8
C.N. Wolfe
Nov. 9, 2009
Introduction
============
This archive contains the MCS-DR Operating Software (MCS-DROS or DROS). DROS is designed to
accept commands from MCS to record and later retrieve data provided by DP. In this tarball
exists all of the souce for the executable, as well as make files needed to build it.
The application is developed in C and is mostly ANSI C compliant barring the occasional
mixing of declarations and code. The final release version will be 100% ANSI C compliant.
The application is developed under Eclipse 3.4 (Ganymede), and this archive includes the
.project and .cproject files required to import the project back into eclipse.
DROS is designed exclusively for 64-bit linux architectures, and will not compile for 32-bit
targets. This design is targeted for Ubuntu Linux 9.04 x86_64, Desktop, and no other targets
have been tested. Although the software should build for any 64-bit linux target, this is
not guaranteed.
DROS requires two libraries to be installed to build: libgdbm and librt. libgdbm provides
basic database-like capabilities and fast hashed lookup of associative key-value pairs, and
librt provides asynchronous disk access. Under Ubuntu, "apt-get install libgdbm3 libgdbm-dev"
installs the required libgdbm, and librt is installed by default.
The DROS contained in this tarball is not the same as the code used to test & verify in
LWA memo 165. This software differs in that a good portion of the ICD has been implemented
on top of the existing data and message processing mechanisms. Further, the software has
been cleaned to remove portions only useful in testing and development.
Limitations
===========
DROS is currently under development, and the version provided here is 'pre-alpha'. The main
thrust of the current release aims at implementing the MCS-DR ICD (Engineering Memo MCS0020).
However, several key features defined in the MCS-DR ICD are not yet implemented, or only
partially implemented. What follows is a list of deviations from the ICD that can be expected:
1) Interlocks Commands which would normally be rejected with the error message
"Operation Not Permitted" may be executed, likely causing the system to
crash or corrupting recorded data or deleting it altogether. To aviod
this type of situation, do not issue commands while a recording is in
progress, or any other operation which explicitly interacts with internal
storage (CPY,REC,DMP,FMT,DEL, etc.)
2) MIB several MIB entries are not implemented. specifically,
* Branch 4 (Directory): 4.1 (count) works, but 4.2.x will return an empty string
* Branch 5-8 (storage info, removable devices, cpu info, and hdd info) : not implemented
* Branch 10 (log) : not implemented
3) Commands The following list describes the functionality and limitations of
the DROS's command set as of 0.8 pre-alpha release;
* DMP ,FMT, DWN, UP, EJT, DEL not implemented
* CPY command is partially implemented. no data will be copied, but
command message will be parsed and response generated as if it
would be. entry will be added to the schedule. When the scheduled
time is reached, the command will fail, and will be removed form the
schedule
The execution of any command not fully implemented may result in crashing the system, and
is not advised. Further, sending binary data in the data field of any message may also