DEFINITION MODULE ConfigurationOptions;

	(********************************************************)
	(*							*)
	(*	The function of this file is to collect		*)
	(*	together some key configuration settings	*)
	(*	which govern things like which PMOS		*)
	(*	features are to be disabled.			*)
	(*							*)
	(*  Programmer:		P. Moylan			*)
	(*  Last edited:	17 August 1994			*)
	(*  Status:		OK				*)
	(*							*)
	(*	Remark: I'm gradually moving things out of	*)
	(*	this module, and I might well decide to		*)
	(*	eliminate this module entirely in a future	*)
	(*	version of PMOS.				*)
	(*							*)
	(********************************************************)

(************************************************************************)
(*			KERNEL SETTINGS					*)
(************************************************************************)

CONST
    (* The following Boolean constant defines whether the PMOS kernel	*)
    (* will permit round-robin time-slicing among tasks of equal	*)
    (* priority.  For hard real-time applications this should typically	*)
    (* be set to FALSE, since time-slicing interferes with the		*)
    (* predictability of execution times.  Disabling time-slicing also	*)
    (* reduces kernel overheads because of the following special	*)
    (* property: with time-slicing disallowed, the only tasks which	*)
    (* participate in task switches and in priority inheritance		*)
    (* calculations are those at the head of each ready queue.  (The	*)
    (* key theoretical result is that there is at most one "active"	*)
    (* task per priority level.)  With time-slicing enabled, any ready	*)
    (* task could be an active task.					*)
    (* For applications where keyboard/screen interaction is the	*)
    (* dominant factor, setting TimeSlicingEnabled TRUE sometimes gives	*)
    (* a better illusion that multiple tasks are running in parallel.	*)

    TimeSlicingEnabled = FALSE;

    (* The next two constants define the maximum number of concurrent	*)
    (* tasks which are permitted, and the stack size for each task.	*)

    MaxTaskNumber = 31;
    StackSize = 2048;

(************************************************************************)
(*				MOUSE					*)
(************************************************************************)

    (* The mouse options are no longer specified in this module.	*)
    (* Instead, they are specified in the PP.CFG file which is used	*)
    (* in the PMOS installation operation.				*)

END ConfigurationOptions.
