HeMPS  8.0
File List
Here is a list of all documented files with brief descriptions:
[detail level 1234]
  software
  include
 api.hImplements the API for the user's task and defines the structure Message, used by tasks to exchange messages
 plasma.hPlasma Hardware Definitions
 services.hKernel services definitions. This services are used to identifies a packet
 stdlib.hManual implementation of stdlib for HeMPS
  kernel
  master
 kernel_master.cKernel master is the system manager kernel
 kernel_master.hHeader of kernel_master with important defines
  slave
 kernel_slave.cKernel slave is the system slave used to execute user's tasks
 kernel_slave.hKernel_slave is the core of the OS running into the slave processors
  modules
 applications.cImplements the function to manage a insertion, accessing, and remotion of an applications structure This modules is only used by manager kernel
 applications.hDefines structures Application, Task, and Dependence
 cluster_scheduler.cSelects where to execute a task and application Cluster scheduler implements the cluster resources management, task mapping, application mapping, and also can implement task migration heuristics. Adittionally it have a function named: SearchCluster, which selects the cluster to send an application. This function in only used in the global master mode
 cluster_scheduler.hThis module defines the function relative to mapping a new app and a new task into a given slave processor. This module is only used by manager kernel
 communication.cImplements the PIPE and MessageRequest structures management. This module is only used by slave kernel
 communication.hDefines the PipeSlot and MessageRequest structures
 local_scheduler.cLocal_scheduler is a kernel module in charge of implementing task scheduling following a LST (Least Slack Time) algorithm
 local_scheduler.hDefines Scheduling structure. This struct is used to manages the scheduling informations relative to each task
 new_task.cThis module implements the function of NewTask FIFO. This module is used only by the manager kernel
 new_task.hThis module defines the structure and some the function of NewTask FIFO. The NewTask structure stores information about new task requests received by the manager kernel
 packet.cThis module implements function relative to programming the DMNI to send and receibe a packet. It is a abstraction from the NoC to the software components. This module is used by both manager and slave kernel
 packet.hThis module defines the ServiceHeader structure. This structure is used by all software components to send and receive packets. It defines the service header of each packets
 pending_service.cThis module implements function relative a FIFO of the incomming packets (ServiceHeader FIFO) received by slave and that cannot be immediately handled. This modules is used only by the slave kernel
 pending_service.hThis module defines function relative a FIFO of the incomming packets received by slave by which not can be immediately handled. This modules is used only by the slave kernel
 processors.cThis module implements function relative to the slave processor management by the manager kernel. This modules is used only by the manager kernel
 processors.hThis module defines function relative to the slave processor management by the manager kernel. The Processor structure is defined, this structure stores information relative the slave processor, which are used by the kernel master to search task locations and get the number of free pages of each slave during the mapping processes
 reclustering.cThis module implements function relative to reclustering This module is used by the kernel manager Reclustering is a functionality that enable the system to borrow some resources (free pages) of a cluster to another cluster
 reclustering.h
 task_control.cThis module implements function relative to task control block (TCB) This module is used by the slave kernel
 task_control.hThis module defines function relative to task control block (TCB) The TCB structure is defined, this structure stores information of the user's task that are running into each slave processor
 task_location.cThis module implements function relative to task location structure. This module is used by the slave kernel The task location gives to the slave kernel, the location (slave process address) of the other task
 task_location.hThis module defines function relative to task location structure. The TaskLocation structure is defined, this structure stores the location (slave process address) of the other task
 task_migration.cThis module implements function relative to task migration. This module is used by slave kernel
 task_migration.hThis module defines function relative to task migration
 utils.cThis module implements utils functions
 utils.hThis module defines utils functions