Hardware Reference
In-Depth Information
struct tcb {
char
name[MAXLEN+1];
/* task name
*/
proc
(*addr)();
/* first instruction address */
int
type;
/* task type
*/
int
state;
/* task state
*/
long
dline;
/* absolute deadline
*/
int
period;
/* task period
*/
int
prt;
/* task priority
*/
int
wcet;
/* worst-case execution time */
float
util;
/* task utilization factor
*/
int
*context;
/* pointer to the context
*/
proc
next;
/* pointer to the next tcb
*/
proc
prev;
/* pointer to previous tcb
*/
}
;
struct scb
{
int
count;
/* semaphore counter
*/
queue
qsem;
/* semaphore queue
*/
sem
next;
/* pointer to the next
*/
} ;
struct tcb
vdes[MAXPROC];
/*
tcb array
*/
struct scb
vsem[MAXSEM];
/*
scb array
*/
proc
pexe;
/* task in execution
*/
queue
ready;
/* ready queue
*/
queue
idle;
/* idle queue
*/
queue
zombie;
/* zombie queue
*/
queue
freetcb;
/* queue of free tcb's
*/
queue
freesem;
/* queue of free semaphores */
float
util fact;
/* utilization factor
*/
Search WWH ::




Custom Search