该文会不断更新,补充
--------------------------------------------------------
L4第二代微内核2005年1月1日为止的最新定义文档。
http://l4hq.org/docs/manuals/l4-x2-20041209.pdf
L4第二代微内核参考实现的性能评测。
http://os.inf.tu-dresden.de/pubs/sosp97/
Logical Interface: 逻辑接口。硬件无关的接口,数据类型。
Generic Binary Interface: 一般二进制接口。硬件体系相关的接口类型,数据类型。
Generic Programming Interface: 一般程序接口。与具体语言榜定的接口。
Convenience Programming Interface: 便利程序接口。
基本数据类型 基本数据类型Word指明了一个32位系统上的32位数,一个64位系统上的64位数。
Privileged Thread: 特权线程 有些系统调用只能由特权线程执行。任何与init线程属于同一个地址空间的线程都是特权线程。
Basic Kernel Interface: 基本内核接口
1.1 内核接口页通过页表映射的方式在所有的地址空间里共享,提供给各个地址空间相关的内核信息。内核接口页不能映射给其它地址空间,也不能解除内核接口页在当前空间中的映射。
2.1 线程 THREADCONTROL(特权调用)一个特权thread例如root server可以通过该调用启动或者删除一个线程。在创建时,线程可以是active(活动的)或者是inactive(非活动的)。非活动线程在创建后可以被一个同一地址空间中的活动线程激活。
3 调度
3.1 时钟无论32位平台还是64平台,时钟变量都是一个64位的无符号整数。单位为一微秒.。
0.000 001 微秒 = 1皮秒
0.001 微秒 = 1纳秒
1,000 微秒 = 1毫秒
1,000,000 微秒 = 1秒
SYSTEMCLOCK 获得当前的系统时刻。该调用不进入内核模式。
THREADSWITCH 调用线程放弃处理器给另一个线程。
SCHEDULE 控制一个线程的运行策略。
该调用只有在目标线程的scheduler被设置成调用线程的情况下才用效。
4 地址空间和映射 Fpage - 是一段地址空间。Fpage最小要比最小物理page相等。
UNMAP(系统调用) - 解除指定的Fpage的映射。
SPACECONTROL(特权系统调用) - 配置地址空间。
5 IPC进程间通讯
5.1 消息和消息寄存器。
IPC (系统调用)
6 杂项
6.1 异常处理线程。
6.2 并行处理标志
6.3 PROCESSOSCONTROL (特权系统调用)
6.3 MEMORYCONTROL (特权系统调用)- 更换指定fpage的属性。
UTCB - user level thread control block - 用户级线程控制块
--------------------------------------------------------
L4第二代微内核2005年1月1日为止的最新定义文档。
http://l4hq.org/docs/manuals/l4-x2-20041209.pdf
L4第二代微内核参考实现的性能评测。
http://os.inf.tu-dresden.de/pubs/sosp97/
Logical Interface: 逻辑接口。硬件无关的接口,数据类型。
Generic Binary Interface: 一般二进制接口。硬件体系相关的接口类型,数据类型。
Generic Programming Interface: 一般程序接口。与具体语言榜定的接口。
Convenience Programming Interface: 便利程序接口。
基本数据类型 基本数据类型Word指明了一个32位系统上的32位数,一个64位系统上的64位数。
Privileged Thread: 特权线程 有些系统调用只能由特权线程执行。任何与init线程属于同一个地址空间的线程都是特权线程。
Basic Kernel Interface: 基本内核接口
1.1 内核接口页通过页表映射的方式在所有的地址空间里共享,提供给各个地址空间相关的内核信息。内核接口页不能映射给其它地址空间,也不能解除内核接口页在当前空间中的映射。
2.1 线程 THREADCONTROL(特权调用)一个特权thread例如root server可以通过该调用启动或者删除一个线程。在创建时,线程可以是active(活动的)或者是inactive(非活动的)。非活动线程在创建后可以被一个同一地址空间中的活动线程激活。
3 调度
3.1 时钟无论32位平台还是64平台,时钟变量都是一个64位的无符号整数。单位为一微秒.。
0.000 001 微秒 = 1皮秒
0.001 微秒 = 1纳秒
1,000 微秒 = 1毫秒
1,000,000 微秒 = 1秒
SYSTEMCLOCK 获得当前的系统时刻。该调用不进入内核模式。
THREADSWITCH 调用线程放弃处理器给另一个线程。
SCHEDULE 控制一个线程的运行策略。
该调用只有在目标线程的scheduler被设置成调用线程的情况下才用效。
4 地址空间和映射 Fpage - 是一段地址空间。Fpage最小要比最小物理page相等。
UNMAP(系统调用) - 解除指定的Fpage的映射。
SPACECONTROL(特权系统调用) - 配置地址空间。
5 IPC进程间通讯
5.1 消息和消息寄存器。
IPC (系统调用)
6 杂项
6.1 异常处理线程。
6.2 并行处理标志
6.3 PROCESSOSCONTROL (特权系统调用)
6.3 MEMORYCONTROL (特权系统调用)- 更换指定fpage的属性。
UTCB - user level thread control block - 用户级线程控制块