Changes between Initial Version and Version 1 of Architecture


Ignore:
Timestamp:
May 30, 2006, 4:54:12 PM (18 years ago)
Author:
soujak
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Architecture

    v1 v1  
     1= Project architecture =
     2
     3== 1. File system organization ==
     4Kaya Phase 1 distribution is subdivided in several folders in order to
     5efficiently organize files and logically separate them into different sections.
     6Such division is thought for being ready to receive Phase 2 implementation
     7providing a well structured environment.
     8 * `src/`: sources folder containing Phase 1 primitive functions source code,
     9   as described below in paragraph 2;
     10 * `test/`: testing folder, containing a debugging program (`p1test.c`), related
     11   environment generated by the Makefile "`test`" target; this rule compiles,
     12   links, creates uMPS executable and virtual devices and finally run it on the
     13   uMPS virtual machine (see also README);
     14 * `doc/`: documentation root containing various developers informations about
     15   project internals;
     16 * `include/`: library headers
     17   * `*.e`: Phase 1 primitive functions interfaces: `pcb.e` and `st.e`
     18     respectively relative to `pcb.c` and `st.c`;
     19   * `*.h`: system constants and macro definitions (`const.h`), types and data
     20     structures definitions (`types.h`);
     21 * `lib/`: Phase 1 libraries objects files, ready for being linked.
     22
     23== 2. Source modules organization ==
     24Following the evident logical division between two entities we have to
     25instantiate - processes and semaphores -, we opted for a two-modules subdivision:
     26 * `pcb.c`: collects primitive functions for PCBs initialization/ allocation/
     27   deallocation, process queue/ tree maintenance;
     28 * `st.c`: collects primitive functions for SD tree initialization and PCB
     29   enqueueing to/dequeueing from semaphores.
     30
     31{{{
     32 * `check.c` contains an error check routine which is able to perform a simple type
     33   check on the own data structures of Phase 1.
     34}}}