2 Overview of Directory Layout
3 ----------------------------
5 This is the base directory of the SOS operating system. This base directory
6 simply acts as a root for other parts of the SOS distribution. Most of this
7 distribution tries to place groups of files in labeled directories, rather than
8 clumping files in a generic location. For example, the modules directory use
9 subdirectories to separate test modules from the more commonly used generic
10 modules. Base directories include:
15 Location of SOS kernel configurations. These include the 'blank' kernel that
16 is loaded onto nodes in a sensor network, the 'base' kernel that is used to
17 interface between a server PC and the sensor network, and the 'modd_gw' kernel
18 used to load programs from the PC into a sensor network.
23 SOS releated work that is not part of the core release. This includes
24 applicaton and driver code developed by other research labs and individuals.
25 This is a good place to develop custom applications.
30 Documentation for SOS. Most of the documentation is written as HTML for use
31 on the SOS website. SOS publications are also included on the website. Small
32 TODO type lists sit directly in the doc directory.
37 Platform independent drivers are here. This means that there are hardware
38 specific routines in the platform or processor directories.
39 The drivers are then made with these hardware specific routines.
45 The core SOS kernel. This is all of the C code that is used to make the core
46 kernel common on all platforms and processors. Building a specific SOS kernel
47 can be accomplished directly from this directory (?).
52 Individual modules that can be loaded on top of SOS. Platform specific
53 modules sit in platform specific subdirectories of the the modules directory.
58 Platform specific driver code. Note that processor specific driver code is
59 kept in a separate processor directory.
64 Processor specific driver code. Note that platform specific driver code is
65 kept in a separate platform directory.
70 The non-loadable modules are here. These modules extend kernel functionalities.
71 For example, DVM (dynamic virtual machine) is in this directory.
77 Tools used with SOS. This consists of PC tools used with SOS including: the
78 sosserv server, tools for automated testing of the code base, and the SOS GUI.