Overview is intended as discussion of basic concepts. In general, the idea is to establish that we want to be able to support arbitrary application semantics, that this requires completely generalized integration of scheduling and concurrency control, and that GS will also let applications with different applications coexist, as long as higher-levels of the GS hierarchy are used to specify the semantics of that coexistence.
The framework document will described the infrastructure, including: hook to schedule(), basic evaluation hierarchy, module commands (ioctl) support, etc. The SDF set document will describe the basic management of the standard SDFs, support for loading modules containing additional or customized SDFs, and the set of API routines that comprise an SDF.
RT Mutex section describes how we generalize the existing RT Mutex code to support generalized semantics. The Proxy Management section describes how we track the status of all CC resources (mutexes) and generalize the priority inheritance of the RT Preemption patch. The GS and CC integration section then shows how arbitrary Proxy Execution brings processes block by concurrency control (BBCC) constraints into the scheduling decision and chooses proxy processes appropriately to the programming model (SDF) semantics.
The customized programming model section describes how a range of customized programming models can be implemented using a customized SDF, CC semantics, and library routines of various complexity. The future section discusses further developments including: integration of user-level CC (futexes) into the GS CC integration, extension to higher-level OS CC semantics, direct implementation of user-level condition variables, and CC for shared memory segments shared among threads in both user and OS mode.