Download Simpact Freeway 1300 User guide
Transcript
Protocol Software Toolkit Programmer Guide 4.3.2.1 Number of Configured Task Control Structures The cf_ntask field of the configuration table defines the number of task control blocks to be allocated in the system. Task control blocks are allocated sequentially, forming an array of structures. The task ID is used as an index into the array to locate a particular task control block. Therefore, the processing time required to access any task control block is fixed and is not dependent on the number of task control blocks in the system. Likewise, and for the same reason, the number of queue control blocks, alarm control blocks, partition control blocks, and resource control blocks has no effect on system performance. 4.3.2.2 Number of Configured Priorities The cf_nprior field of the configuration table determines the number of task priorities to be defined. A dispatch queue is created for each priority. When the head pointer for a particular dispatch queue is zero, the queue is empty (in other words, no task is scheduled for execution at that priority). When the head pointer is non-zero, it contains the address of a task control block corresponding to a task that is scheduled for execution at that priority. Whenever a task switch occurs, the system dispatcher tests the head pointer of each dispatch queue, in order of priority, until a non-zero value is encountered, then dispatches the task indicated by the task control block address. Because the dispatch queues are searched sequentially, a large number of priorities can adversely affect system performance. There is no benefit to configuring more priorities than required by the system design. 78 DC 900-1338I