文件名称:L4 API Version 2
文件大小:1.05MB
文件格式:PDF
更新时间:2013-11-24 00:27:32
L4 API Version 2
This is the original L4 API as implemented in Liedtke's assembly kernels. The API supports 64 bit thread IDs with subfields containing (among other things) the thread number, task number, chief number, and version number. The chief field of the thread ID is used for implementing the Clans & Chiefs security model. A thread within a Clan can only communicate with other threads within the Clan or the Chief of the Clan. Any attempt to communicate with any outside parties are automatically redirected to the Chief. The Chief is then used to enforce the communication security policies for the threads within its Clan. Having large thread IDs also enables a relatively large number of threads/tasks to be created. However, the fixed amount of bits allocated to thread numbers and task numbers still makes the scheme unsuitable for many purposes. (There can only be a fixed amount of threads within a task. For most purposes this amount is way too high. For other purposes the amount of threads within a task is too low.) The fixed association of threads to tasks also makes it impossible to migrate a thread to another address spaces---an important operation for, e.g., NUMA systems. The original Version 2 API is very IA-32 specific. APIs for other architectures (e.g., MIPS and Alpha) have been ported to the Version 2 API in ad hoc ways.